@ Карта сайта News Автора!

Bog BOS: dw:  Библиотеки для работы со звуком в Linux - кодеки, фильтры

Последнее изменение файла: 2009.02.19
Скопировано с www.bog.pp.ru: 2024.03.29

Bog BOS: dw: Библиотеки для работы со звуком в Linux - кодеки, фильтры

Порядок установки программ и предварительная установка необходимых пакетов из дистрибутива (в т.ч. *-devel) очень важны, т.к. при сборке скрипты ./configure проверяют наличие необходимых для реализации части функций библиотек и, если библиотека отсутствует, то собранная программа не будет иметь соответствующих функций. В любом случае, требуются предварительные действия.

Теперь устанавливаем по порядку (естественно, надо стараться брать самые свежие версии, но возможны конфликты между пакетами и используемыми библиотеками):

  1. libogg - работа с контейнером ogg
  2. libvorbis - аудиокодек Ogg Vorbis
  3. SDL_mixer - микшер
  4. audiofile - библиотека для работы с WAV, AIFF и др.
  5. libsndfile - использование различных звуковых форматов
  6. libsamplerate - библиотека преобразования частоты звука
  7. timidity++ - декодирование MIDI
  8. soundtouch - звуковые эффекты
  9. flac - аудиокодек без потерь
  10. speex - аудиокодек для речи
  11. libmodplug - библиотека для работы с музыкой в формате mod
  12. wavpack - аудиокодек без потерь
  13. libmpcdec - аудиодекодер Musepack
  14. ladspa - plugin API для звуковых редакторов
  15. tooLAME/TwoLAME - кодировщик MP2
  16. lame/tooLAME/TwoLAME - кодировщик MP3
  17. liba52 - декодирование ATSC A/52 (AC-3)
  18. libmad - декодирование звука MPEG
  19. normalize - подстройка уровня громкости (WAV, MP3, ogg)
  20. vorbisgain - подстройка уровня громкости Ogg Vorbis
  21. libsidplay - эмулятор SID chip (Commodore 64)
  22. faac/faad2 - кодек MPEG-4 AAC
  23. libgsm - кодек European GSM 06.10
  24. libdts/libdca - декодер DTS
  25. AMR NarrowBand speech codec

libogg - работа с контейнером ogg

libogg - библиотека для работы с потоками формата Ogg (контейнер, разработанный для аудиокодека Ogg Vorbis).

В F10 установил пакеты libogg-2:1.1.3-9.fc9 и libogg-devel-2:1.1.3-9.fc9.

В FC6 установил пакеты libogg-1.1.3 и libogg-devel-1.1.3.

libvorbis - аудиокодек Ogg Vorbis

libvorbis - аудиокодек Ogg Vorbis. Включает утилиты кодирования (oggenc), декодирования (oggdec), вывода информации о файле (ogginfo), консольный проигрыватель (ogg123, требует libao) и редактор тэгов (vorbiscomment).

В F10 установил пакеты libvorbis-1:1.2.0-5.fc10, libvorbis-devel-1:1.2.0-5.fc10, vorbis-tools-1:1.2.0-3.fc10.

В FC6 установил пакеты libvorbis-1.1.2, libvorbis-devel-1.1.2, vorbis-tools-1.1.1 (требует flac, libao, speex и даже зачем-то ssl).

SDL_mixer - микшер

SDL_mixer - микшер 4 канала звука с MOD, MIDI и Ogg.

В F10 установил пакеты SDL_mixer-1.2.8-9.fc10 и SDL_mixer-devel-1.2.8-9.fc10.

В FC6 установил пакеты SDL_mixer и SDL_mixer-devel.

audiofile - библиотека для работы с WAV, AIFF и др.

audiofile - библиотека для работы с WAV, AIFF, .snd, .au. Утилита sfinfo выдаёт информацию о файле. Утилита sfconvert может преобразовать звук из одного формата в другой. Используется в esound, timidity++, wine (обязательно 32-битная версия).

В F10 установил пакеты audiofile-1:0.2.6-9.fc10 и audiofile-devel-1:0.2.6-9.fc10.

В FC6 установил пакеты audiofile-0.2.6 и audiofile-devel-0.2.6.

libsndfile - использование различных звуковых форматов

Вспомогательная библиотека для работы со звуком libsndfile используется в пакетах twolame, libsamplerate, audacity. Утилита sndfile-info выдаёт информацию о файле (PCM, float, ULAW, ALAW, IMA ADPCM, MS ADPCM, GSM6.10, AIFF и др.). Утилита sndfile-play проигрывает файл. Утилита sndfile-convert преобразует из одного формата в другой.

В F10 установил пакеты libsndfile и libsndfile-devel версии 1.0.17-6.fc10.

В FC6 установил пакеты libsndfile и libsndfile-devel версии 1.0.17-1.fc6 из репозитария extras.

В FC3 установил пакеты libsndfile, libsndfile1 и libsndfile-devel версии 1.0.11 из репозитария at (1.0.17 из dag, в результате чего файл /usr/lib/libsndfile.so.1 оказался принадлежащим сразу 2 пакетам: libsndfile1-1.0.11-6.rhfc3.at и libsndfile-1.0.17-1.fc3.rf, в реальности это символьная ссылка и её значение определяется пакетом устанавливаемым последним).

Установка libsndfile 1.0.3 в RH8.0:

libsamplerate - библиотека преобразования частоты кодирования звука

libsamplerate - библиотека преобразования частоты кодирования звука. Включает утилиту sndfile-resample (форматы поддерживаются libsndfile).

В F10 установил пакеты libsamplerate-0.1.4-1.fc10 и libsamplerate-devel-0.1.4-1.fc10.

В FC6 установил пакет libsamplerate-0.1.2.

timidity++ - декодирование MIDI

timidity++ - преобразование MIDI в PCM.

В F10 установил пакет timidity++-2.13.2 (требует arts, alsa, esd, PersonalCopy-Lite-soundfont (27MB!), X11 и GTK?!).

В FC6 установил пакет timidity++-2.13.2 (требует arts, alsa, esd).

soundtouch - звуковые эффекты

soundtouch - библиотека звуковых эффектов (вход и выход в .wav). Включает утилиту soundstretch.

В F10 установил пакет soundtouch-1.3.1-10.fc9 и soundtouch-devel-1.3.1-10.fc9.

В FC6 установил пакет soundtouch-1.3.1.

flac - аудиокодек без потерь

flac - аудиокодек без потерь. Сжимает приблизительно в 1.7 раза (среднее по 5 дискам). Входящая в пакет утилита flac (заменяет суффикс .wav на .flac) может сжимать как в собственный формат .flac (поддерживает метатэги, понимаемые многими аудиопроигрывателями - утилита metaflac), так и в формат Ogg. Многие проигрыватели понимают формат .flac, но не понимает flac внутри ogg. Использование ключа "--best" сильно увеличивает время сжатия (в несколько раз), но слабо влияет на степень сжатия (0.5%).

В F10 установил пакет flac и flac-devel (версия 1.2.1-4.fc9).

В FC6 установил пакет flac-1.1.2.

speex - аудиокодек для речи

speex - аудиокодек, специализированный для сжатия речи (2-45 kbps, 14kbps вполне приемлемо). Пакет включает утилиты для сжатия speexenc (.wav) и расжатия speexdec.

В F10 установил пакеты speex, speex-devel и speex-tools (версия 1.2-0.10.rc1.fc10).

В FC6 установил пакеты speex-1.2 и speex-devel-1.2.

libmodplug - библиотека для работы с музыкой в формате mod

libmodplug - библиотека для работы с музыкой в формате mod. Включает (отделена от?) консольный проигрыватель mikmod (MOD, STM, S3M, MTM, XM, ULT, IT и пр.) через OSS, EsounD, WAV, AIFF.

В F10 установил пакеты libmodplug-1:0.8.4-3.fc9, libmodplug-devel-1:0.8.4-3.fc9 и mikmod-3.2.2-8.beta1.fc9.

В FC6 установил пакеты libmodplug-0.8 и mikmod-3.1.6.

wavpack - аудиокодек без потерь

wavpack - аудиокодек без потерь или почти без потерь (?). Быстрее и лучше flac (по крайней мере, на некоторых файлах). Входящая в пакет утилита wavpack сжимает в собственный формат .wv. Утилита wvunpack расжимает файл. wvgain - модифицирует параметр ReplayGain.

В FC10 установил пакеты wavpack и wavpack-devel (версия 4.50.1-2.fc10).

В FC6 установил пакет wavpack-4.40.

libmpcdec - аудиодекодер Musepack

libmpcdec - аудиодекодер Musepack (развитие MPEG-1 Layer 2).

В F10 установил пакеты libmpcdec-1.2.6-4.fc9 и libmpcdec-devel-1.2.6-4.fc9.

В FC6 установил пакеты libmpcdec-1.2.2 и libmpcdec-devel-1.2.2.

ladspa - plugin API для звуковых редакторов

ladspa - plugin API для звуковых редакторов. Утилиты (в скромности авторам не откажешь ;):

В F10 установил пакеты ladspa-1.12-9.fc9 (интерфейс), ladspa-devel-1.12-9.fc9 (документация), ladspa-swh-plugins (собственно расширения, требует fftw), ladspa-amb-plugins (hexagon horizontal decoders, как это будет по-русски? ;), ladspa-blop-plugins, ladspa-caps-plugins, ladspa-cmt-plugins, ladspa-fil-plugins, ladspa-mcp-plugins, ladspa-rev-plugins, ladspa-tap-plugins. ladspa-vco-plugins. Всего - 323 расширения. В основном, предназначены для Ardour.

В FC6 установил пакеты ladspa-1.12 (интерфейс), ladspa-devel-1.12 (документация), ladspa-swh-plugins (собственно расширения, требует fftw).

tooLAME/TwoLAME - кодировщик MP2

Пакет twolame предоставляет разделяемую библиотеку для кодирования звука в формате MPEG-1 Layer 2 (CBR, VBR, ABR), а также программу twolame для кодирования файлов из форматов, понимаемых libsndfile, в MP2.

Установка twolame, twolame-libs и twolame-devel версии 0.3.12-3.fc10 в F10 из rpmfusion-free.

Установка twolame и twolame-devel версии 0.3.9-1.fc6 из freshrpms в FC6 (версии 0.3.10 из livna).

lame - кодировщик MP3

Пакет lame предоставляет разделяемую библиотеку для кодирования звука в формате MPEG-1 Layer 3 (CBR, VBR, ABR), а также программы для кодирования файлов из форматов PCM (.wav), MP1, MP2 или MP3 в MP3 (lame) и поток RTP (mp3rtp). Позволяет использовать некоторые фильтры и преобразования звука перед сжатием.

Установка lame, lame-devel, lame-libs, lame-mp3x (построение графиков) версии 3.98.2-2.fc10 из репозитария rpmfusion-free в F10.

Установка lame 0:3.97-3.lvn6, lame-devel, lame-libs, lame-mp3x (построение графиков) из репозитария livna в FC6.

Установка lame 3.96.1 и lame-devel из репозитария at в FC3.

Установка lame 3.92 из исходных текстов в RH8.0:

Простейшие способы применения:

liba52 - декодирование ATSC A/52 (AC-3)

Библиотека liba52 позволяет декодировать звуковые потоки ATSC A/52 (aka AC-3). Включает утилиты a52dec (декодирование потока ATSC A/52 в oss, wav, aif разных вариантов) и extract_a52 (извлечение ATSC A/52 из MPEG (какого?).

В F10 установил пакеты a52dec и a52dec-devel версии 0.7.4-13.fc10 из репозитария rpmfusion-free.

В FC6 установил пакеты a52dec и a52dec-devel версии 0.7.4-10.lvn6 из репозитария livna (потянул пакет djbfft).

В FC3 установил пакеты a52dec и a52dec-devel версии 0.7.4 из репозитария dag.

libmad - декодирование звука MPEG

Библиотека libmad декодирует звук из форматов MPEG-1, MPEG-2 с расширением, MPEG-2.5 (Layer 1, 2 и 3). Пакет madplay содержит соответствующий консольный проигрыватель (умеет показывать тэги ID3v1, ID3v1.1, ID3v2.2, ID3v2.3, ID3v2.4). Включает скрипт двойного слепого тестирования abxtest и утилиту madtime (?).

В F10 установил пакеты libmad и libmad-devel версии 0.15.1b-10.fc10 и пакет madplay 0.15.2b-5.fc10 из репозитария rpmfusion-free.

В FC6 установил пакеты libmad и libmad-devel версии 0.15.1b-4.lvn6 и пакет madplay 0.15.2b-4.lvn6 из репозитария livna.

В FC3 установил пакеты libmad и libmad-devel версии 0.15.1b из репозитария dag.

Установка libmad 0.14.2b в RH8.0:

normalize - подстройка уровня громкости

normalize - программа позволяет подстраивать громкость записей коллекции к одинакову уровню. Утилиты normalize-mp3 и normalize-ogg декодируют, меняют громкость и заново кодируют записи. Вместо преобразования может добавлять тэг RVA2 (relative volume adjustment) для ID3v2.4. В связи с общим бардаком с версиями ID3 требуется осторожность.

В F10 установил пакет normalize-0.7.7-4.fc10 из rpmfusion-free (требует madplay, lame).

В FC6 установил пакет normalize-0.7.7 из livna (требует madplay, lame).

vorbisgain - подстройка уровня громкости Ogg Vorbis

vorbisgain - подстройка уровня громкости vorbis ogg под требуемый уровень громкости. Вместо преобразования звукового файла добавляет метатэг (REPLAYGAIN_TRACK_GAIN, REPLAYGAIN_TRACK_PEAK, REPLAYGAIN_ALBUM_GAIN, REPLAYGAIN_ALBUM_PEAK), требуется поддержка аудиопроигрывателей (ogg123, xmms, mplayer).

В F10 установил пакет vorbisgain-0.36-3.fc9.

В FC6 установил пакет vorbisgain-0.36.

libsidplay - эмулятор SID chip (Commodore 64)

libsidplay - библиотека эмуляции звукового чипа Commodore 64 (SID chip). Используется в audacious и gstreamer-plugins-ugly.

В F10 установил пакет libsidplay-1.36.57-17.

В FC6 установил пакет libsidplay-1.36.57.

faac/faad2 - кодек MPEG-4 AAC

Библиотеки faac и faad2 (FAAD, FAAC) представляют собой кодер и декодер звука MPEG-4 AAC (Dolby), профили: LC, MAIN, LTP. Утилита faac кодирует в .aac, .mp4 или .m4a, поддерживает тэги. Утилита faad декодирует .aac в PCM, .wav или MPEG-4 AAC ADTS.

В F10 установил пакеты faac и faac-devel версии 1.25-7.fc10, faad2, faad2-libs и faad2-devel версии 1:2.6.1-6.fc10 из rpmfusion-free.

В FC6 установил пакеты faac 1.25-2.lvn6 и faac-devel 1.25-2.lvn6 из репозитария livna (потянул libmp4v2 - работа с контейнером mp4 из mpeg4ip). Затем поставил faad2 и faad2-devel версии 2.0-19.20050131.lvn6 из репозитария livna. Репозитарий freshrpms для FC6 содержит более новую версию faad2 и faad2-devel 2.5-2.fc6, но смена API вызывает проблемы сборки других пакетов (здесь же xmms-aac 0:2.5-1.fc6 из freshrpms).

В FC3 установил пакеты faad2 и faad2-devel версии 2.0-8 из репозитария dag.

Установка faad2 1.1 в RH8.0:

libgsm - кодек European GSM 06.10

libgsm - кодек European GSM 06.10 (13 kbit/s). Утилита toast сжимает входной файл в .gsm, утилита untoast разжимает .gsm файл, tcat - разжать в поток.

В F10 установил пакеты gsm, gsm-devel и gsm-tools версии 1.0.12-6.fc9.

В FC6 установил пакеты gsm 1.0.10-12.lvn6 и gsm-devel 1.0.10-12.lvn6 из репозитария livna.

libdts/libdca - декодер DTS

libdts - библиотека для программного декодирования звуковых потоков в формате DTS Coherent Acoustics streams (в последнее время перебрасывает на проект libdca). Вместе с библиотекой устанавливается тестовая программа декодирования dcadec/dtsdec (в т.ч. умеет демультиплексировать MPEG-2). Утилита extract_dca/extract_dts извлекает звуковой поток из MPEG TS.

В F10 установил пакеты libdca, libdca-devel и libdca-tools версии 0.0.5-3.fc10 из репозитария rpmfusion-free.

В FC6 установил пакеты libdca, libdca-devel и libdca-tools версии 0.0.2-3.lvn6 из репозитария livna.

Установка libdts-0.0.2 в FC3

  • получить и развернуть исходные тексты
  • ./configure
  • make
  • make install
  • AMR (Adaptive Multi-Rate) Narrowband/Wideband speech codec

    Кодеки amrnb и amrwb используются в мобильных телефонах (3GPP TS 26.104 V 7.0.0 и 3GPP TS 26.204 V7.0.0, RFC 3267, от 6.60 kbit/s). Включают утилиты кодирования и декодирования в различных вариациях (с фиксированной и плавающей точкой).

    В F10 установил пакеты amrnb, amrnb-devel, amrnb-tools, amrwb, amrwb-devel, amrwb-tools версии 7.0.0.2-4.fc10 из репозитария rpmfusion-nonfree.

    В FC6 установил пакеты amrnb и amrnb-devel версии 0.0.1-2.fc6 из репозитария freshrpms.

    Всё равно некоторые программы (mplayer, gpac) хотят видеть исходники в себе.

    links

    @ Карта сайта News Автора!

    Bog BOS: dw:  Библиотеки для работы со звуком в Linux - кодеки, фильтры



    Copyright © 1996-2024 Sergey E. Bogomolov; www.bog.pp.ru