Там писалось (повторю, чтоб не бегать с темы в тему):
Olej писал(а):
- в стандартной библиотеке Python достаточно много модулей мультимедийной обработки (беру документацию по версии 3.2.2) -
The Python Standard Library:
22. Multimedia Services
22.1. audioop — Manipulate raw audio data
22.2. aifc — Read and write AIFF and AIFC files
22.3. sunau — Read and write Sun AU files
22.4. wave — Read and write WAV files
22.5. chunk — Read IFF chunked data
22.6. colorsys — Conversions between color systems
22.7. imghdr — Determine the type of an image
22.8. sndhdr — Determine type of sound file
22.9. ossaudiodev — Access to OSS-compatible audio devices
Но (по поверхностному взгляду) - это только зачаточные возможности по аудиообработке. А серьёзная обработка может быть легко сделана:
- либо запуском как дочерних процессов аудиоутилит развитых проектов (ALSA, SoX, Ogg etc.);
- либо прямым использованием DLL библиотек этих же проектов.
Это связано ещё и с тем, что аудиообработка - это часто ресурсоёмкие алгоритмы цифровой обработки сигналов (DSP), а Python уступает в производительности на таких задачах в 40 и более
раз (сообщается и о 100 раз). А увязывание Python-кода с исполняющими функциями C/C++, в общем, понятно, и уже хорошо рассмотрено:
связка Python + C/C++.
И лучше всего для этого будет начать с:
Olej писал(а):
- ... всё это напомнило про большую работу по экспериментированию с аудиообработкой, которую я делал лет 5-6 назад, и которая вылилась в достаточно обстоятельное описание, которое и лежит вот здесь:
аудио tools - самое время его достать и реставрировать применительно к текущей задаче;
Т.е. с разборок с public (open) аудио проектами, и что там у них происходит на сегодня, и утилит в их составе:
P.S. Есть ещё куча всяких GUI обработчиков аудио, типа таких:
Аудио редакторы в Убунту, но они меня как-раз не интересуют, а интересуют консольные утилиты и их
библиотеки. А многие GUI и есть только фронтэнды к таким утилитам и библиотекам.
1. Проект ALSA -
Advanced Linux Sound Architecture (ALSA) project homepage
Код: Выделить всё
bash-4.2$ which aplay
/usr/bin/aplay
bash-4.2$ which arecord
/usr/bin/arecord
P.S. Звуковую систему OSS оставим в покое как очень старую (но библиотека Python нею не брезгует).
2. Проект SoX -
Sound eXchange
SoX 14.4.1 was released on February 1, 2013.
Код: Выделить всё
bash-4.2$ which sox
/usr/bin/sox
bash-4.2$ which play
/usr/bin/play
3. Проект Ogg -
Xiph.org
Код: Выделить всё
bash-4.2$ which ogg123
/usr/bin/ogg123
bash-4.2$ ls /usr/bin/ogg*
/usr/bin/ogg123 /usr/bin/oggdec /usr/bin/oggenc /usr/bin/ogginfo
bash-4.2$ ls /usr/bin/vorbis*
/usr/bin/vorbiscomment
Кодеки (проекты): Vorbis, Speex, FLAC и др.
Для того, чтобы были доступны утилиты speexenc, speexdec - должен быть установлен пакет speex-tools (на моём текущем компьютере не установлен):
Код: Выделить всё
bash-4.2$ yum list speex*
...
Установленные пакеты
speex.i686 1.2-0.14.rc1.fc17 installed
Доступные пакеты
speex-devel.i686 1.2-0.14.rc1.fc17 fedora
speex-tools.i686 1.2-0.14.rc1.fc17 fedora
P.S. Это (Ogg + Vorbis и др.) куда интереснее (совершеннее), час всякие там .wav, .mp3 и т.п.
4. Проект PulseAudio -
freedesktop.org/ www/ Software/ PulseAudio
http://www.freedesktop.org/wiki/Software/PulseAudio/
Заодно разобраться что это у них там за совместимость с Windows -
http://ru.wikipedia.org/wiki/PulseAudio :
PulseAudio работает на платформах POSIX, таких как Linux, Solaris и FreeBSD, а также на платформе Microsoft Windows.
Код: Выделить всё
bash-4.2$ which pulseaudio
/usr/bin/pulseaudio
bash-4.2$ which pactl
/usr/bin/pactl
bash-4.2$ which pacmd
/usr/bin/pacmd
Код: Выделить всё
bash-4.2$ paplay --help
...
bash-4.2$ parecord --help
...