|
Bog BOS: dw: Библиотеки для работы со звуком в Linux - кодеки, фильтры |
Последнее изменение файла: 2009.02.19
Скопировано с www.bog.pp.ru: 2024.12.03
Порядок установки программ и предварительная установка необходимых пакетов из дистрибутива (в т.ч. *-devel) очень важны, т.к. при сборке скрипты ./configure проверяют наличие необходимых для реализации части функций библиотек и, если библиотека отсутствует, то собранная программа не будет иметь соответствующих функций. В любом случае, требуются предварительные действия.
Теперь устанавливаем по порядку (естественно, надо стараться брать самые свежие версии, но возможны конфликты между пакетами и используемыми библиотеками):
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. Включает утилиты кодирования (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 - микшер 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, .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 используется в пакетах 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 в PCM.
В F10 установил пакет timidity++-2.13.2 (требует arts, alsa, esd, PersonalCopy-Lite-soundfont (27MB!), X11 и GTK?!).
В FC6 установил пакет timidity++-2.13.2 (требует arts, alsa, esd).
soundtouch - библиотека звуковых эффектов (вход и выход в .wav). Включает утилиту soundstretch.
В F10 установил пакет soundtouch-1.3.1-10.fc9 и soundtouch-devel-1.3.1-10.fc9.
В FC6 установил пакет soundtouch-1.3.1.
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 - аудиокодек, специализированный для сжатия речи (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. Включает (отделена от?) консольный проигрыватель 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 - аудиокодек без потерь или почти без потерь (?). Быстрее и лучше flac (по крайней мере, на некоторых файлах). Входящая в пакет утилита wavpack сжимает в собственный формат .wv. Утилита wvunpack расжимает файл. wvgain - модифицирует параметр ReplayGain.
В FC10 установил пакеты wavpack и wavpack-devel (версия 4.50.1-2.fc10).
В FC6 установил пакет wavpack-4.40.
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 для звуковых редакторов. Утилиты (в скромности авторам не откажешь ;):
В 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).
Пакет 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 предоставляет разделяемую библиотеку для кодирования звука в формате 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 (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-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-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 - подстройка уровня громкости 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 - библиотека эмуляции звукового чипа Commodore 64 (SID chip). Используется в audacious и gstreamer-plugins-ugly.
В F10 установил пакет libsidplay-1.36.57-17.
В FC6 установил пакет libsidplay-1.36.57.
Библиотеки 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:
AM_CONFIG_HEADER(configtop.h)
../common/mp4v2/.libs/libmp4v2.so: undefined reference to `operator new[](unsigned)'
all: echo empty install: echo empty
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 - библиотека для программного декодирования звуковых потоков в формате 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
Кодеки 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) хотят видеть исходники в себе.
|
Bog BOS: dw: Библиотеки для работы со звуком в Linux - кодеки, фильтры |