BASH Programming - Введение

         

Альтернативные драйвера звука


Поддержка звука в ядре Linux первоначально была разработана Hannu Savolainen. Затем Hannu перешел к работе над системой Open Sound---коммерческим набором звуковых драйверов, продаваемым 4Front Technologies и который поддерживает разные системы с Unix. Red Hat Software спонсировал работу Alan Cox по расширению звуковых драйверов ядра, чтобы они были полностью модульными. Некоторые другие люди внесли вклад в эту работу исправлением ошибок и разработкой дополнительных драйверов для новых звуковых карт. Эти модифицированные звуковые драйвера поставлялись Red Hat в дистрибутивах с версии 5.0 по 5.2. В настоящее время эти изменения интегрированы в стандартное ядро версии 2.0. Сейчас Alan Cox сопровождает стандартные звуковые драйвера ядра, хотя Hannu время от времени поставляет код, взятый из коммерческих драйверов.

Коммерческие драйвера системы Open Sound, производимые 4Front Technologies работают в направлении облегчения настройки и поддерживают больше звуковых карт, особенно самых новых моделей. Они также совместимы с приложениями, написанными для стандартного звукового драйвера. Их недостатком является то, что вы должны платить за них, и что вы не можете получить исходного кода. Вы можете скачать свободную пробную версию данного продукта для того чтобы принять решение о покупке. Дополнительная информация находится на сервере 4Front Technologies по адресу .

Jaroslav Kysela и другие начали написание альтернативного звукового драйвера для карты Gravis UltraSound Card. Проект был переименован в Advanced Linux Sound Architecture (ALSA) и результатом было то, что они верят в то, что он является более общеупотребительным звуковым драйвером, который может быть использован для замены встроенного в ядро звукового драйвера. Драйвера ALSA поддерживают определенное число популярных звуковых карт, они являются полнодуплексными, полностью модульными, и совместимыми с звуковой архитектурой ядра. Основной сервер проекта ALSA находится по адресу . Доступен отдельный "Alsa-sound-mini-HOWTO" по компиляции и установке этих драйверов.

Markus Mummert ( ) написал драйвер для звуковых карт Turtle Beach MultiSound (классическая), Tahiti, and Monterey. В документации сказано:


Он был создан для высококачественной записи/проигрывания без потери синхронизации даже на загруженных системах. Другие свойства, такие как волновой синтез, MIDI и процессор цифровых сигналов (DSP) не могут быть использованы. Также невозможны запись и проигрывание в одно и тоже время. В настоящее время он заменяет VoxWare и был протестирован на разных версиях ядра с 1.0.9 до 1.2.1. Также он может устанавливаться на системах UN*X SysV386R3.2

Он может быть найден на .

Kim Burgaard ( ) написал драйвер устройства и утилиты для MIDI интерфейса Roland MPU-401. Карта программного обеспечения Linux дает следующее описание:

Драйвер устройства для полностью совместимого с Roland MPU-401 интерфейсом MIDI (включая Roland SCC-1 и RAP-10/ATW-10). Поставляется с полезным набором утилит включая проигрыватель стандартных MIDI-файлов и программу записи.

Некоторое количество улучшений было сделано с версии 0.11a. Между других вещей, драйвер сейчас реализует правило разделения IRQ и подчиняется новому интерфейсу модуля ядра. Возможность метронома, возможность синхронизации, например графики на базовых участках без потери точности, расширенный интерфейс проигрывателя/записи/overdub и многое, многое другое.

Он может быть найден на .

Другое новое использование звуковой карты под Linux -- использование как модем для любительского пакетного радио. Ядра 2.1 и более поздние включают драйвер, который работает с совместимыми с SoundBlaster and Windows Sound System звуковыми картами для реализации 1200 bps AFSK и 9600 bps FSK пакетных протоколов. Смотри AX25 HOWTO для детальной информации (Я сам радиолюбитель, между прочим -- сигнал вызова VE3ICH).


Частичное проигрывание звукового файла


Обычный симптом-- звуковой пример играет около секунды и затем останавливается полностью или выдает сообщение об ошибке "missing IRQ (пропавшее IRQ)" или "DMA timeout (таймаут DMA)". Вероятнее всего у вас неправильные настройки IRQ или каналов DMA. Проверьте, что настройки ядра соответствуют установкам звуковой карты и что они не конфликтуют с другими картами.

Другой симптом зацикливание звука. Это обычно вызывается конфликтом IRQ.



Что такое VoxWare?


Коммерческая версия звуковых драйверов, продаваемых компанией 4Front Technologies была ранее известна под другими названиями, такими как VoxWare, USS (Unix Sound System), и даже TASD

(Temporarily Anonymous Sound Driver). Теперь он продается как OSS

(Open Sound System). На версию, включенную в ядро Linux часто ссылаются как на OSS/Free.

Для большей информации смотрите страницу 4Front Technologies по адресу . Я написал обзор OSS/Linux в выпуске за Июнь 1997 .



Для чего различные файлы звукового устройства?


Это наиболее "стандартные" имена файлов устройства, некоторые пакеты Linux могут использовать немного отличные имена.



/dev/audio

обычно ссылка на файл /dev/audio0 /dev/audio0

устройство звука совместимое с устройством на рабочей станцией Sun (только частичная реализация, не поддерживается ioctl-интерфейс фирмы Sun, только u-law кодер) /dev/audio1

второе аудио-устройство (если поддерживается звуковой картой или у вас установлено больше одной звуковой карты) /dev/dsp

обычно ссылка на файл /dev/dsp0 /dev/dsp0

первое устройство цифровой дискретизации /dev/dsp1

первое устройство цифровой дискретизации /dev/mixer

обычно ссылка на файл /dev/mixer0 /dev/mixer0

первый микшер звука /dev/mixer1

второй микшер звука /dev/music

высокоуровневый интерфейс sequencer /dev/sequencer

низкоуровневый доступ к MIDI, FM, и GUS /dev/sequencer2

обычно ссылка на файл /dev/music /dev/midi00

1-й порт необработанных данных MIDI /dev/midi01

2-й порт необработанных данных MIDI /dev/midi02

3-й порт необработанных данных MIDI /dev/midi03

4-й порт необработанных данных MIDI /dev/sndstat

выводит состояние звукового драйвера при чтении (также доступен как /proc/sound)

Драйвер PC speaker обеспечивает следующие устройства:

/dev/pcaudio

эквивалент /dev/audio /dev/pcsp

эквивалент /dev/dsp /dev/pcmixer

эквивалент /dev/mixer



Если я запускаю Linux, затем загружаясь


Это случается после "теплой" перезагрузки в DOS. Иногда сообщение об ошибке обманчива показывает на плохой файл CONFIG.SYS.

Большинство современных звуковых карт имеют программируемые настройку IRQ и DMA. Если вы используете различные настройки в Linux и MS-DOS/Windows, это может вызвать проблемы. Некоторые звуковые карты не принимают новые параметры без полного сброса предыдущих (т.е. переключения питания или использования кнопки сброса).

Для быстрого решения этой проблемы необходимо выполнить полную перезагрузку используя кнопку сброса (reset) или переключив питание вместо "теплой" перезагрузки (например Ctrl-Alt-Del).

Правильное решение убедится, что вы используете те же самые настройки IRQ и DMA в MS-DOS и Linux (или не используйте DOS :-).



Где документированы ioctl() и т.п. звукового драйвера?


В настоящее время наилучшей документацией кроме исходного кода является доступная с сервера 4Front Technologies . Другой источник документации-- Linux Multimedia Guide, описанное в разделе ссылок.



Где я могу найти свободно доступные MIDI заплатки для запуска SoftOSS?


SoftOSS --- это программный wavetable синтезатор, включенный в драйвер звука ядра, так что он совместим с картой Gravis Utrasound. Для управления драйвером вам нужны совместимые с GUS файлы заплаток для MIDI. В документации отмечено, что "свободно доступные MIDI-заплатки доступны с разных ftp серверов".

Как объясняется на странице 4Front Technologies они могут быть загружены с .



Где я могу найти звуковые приложения для Linux?


Здесь перечислены хорошие архивные сервера для поиска звуковых приложений специально для Linux:

Также смотрите раздел Ссылки в этом документе.



Я могу проигрывать звук, но не записывать.


Если вы можете проигрывать звук, но не можете записывать, попробуйте сделать следующие шаги:

используйте программу микширования для выбора необходимого устройства (например микрофона)

используйте микшер для установки уровней ввода на максимум

Если вы можете, попытайтесь протестировать работу записи звуковой карты под MS-DOS для того, чтобы определить может это аппаратная проблема

Иногда для записи и проигрывания звука используются разные каналы DMA. В этом случае наиболее вероятная причина в том, что канал DMA для записи установлен неправильно.



Я все равно получаю ошибку: устройство занято!


Согласно сведениям Brian Gough, для карт SoundBlaster, которые используют DMA-канал 1, существует потенциальный конфликт с драйвером ленты QIC-02, который также использует DMA 1, вызывая ошибки "device busy (устройство занято)". Если вы используете FTAPE, у вас может быть разрешен этот драйвер. Согласно информации в FTAPE-HOWTO, драйвер QIC-02 не является необходимым для использования FTAPE; требуется только драйвер QIC-117. Перенастройка ядра для использования QIC-117, а не QIC-02 позволит сосуществовать FTAPE и драйверу звука.



Jeff Tranter, , перевод Alex Ott ott@phtd.tpu.edu.ru


v1.20, 24 Марта 1999

Этот документ описывает поддержку звука в Linux. Перечисляются поддерживаемые звуковые устройства, описывается как настроить драйвера и даются ответы на часто задаваемые вопросы. Основная цель-- помочь новым пользователям и уменьшить объем трафика в группах новостей Usenet и списках рассылки.

Примечание переводчика: Шлите мне любые комментарии и замечания, даже небольшие.



Как я могу использовать более чем одну звуковую карту?


В настоящее время звуковой драйвер позволяет иметь несколько одновременно установленных в системе карт SoundBlaster, SoundBlaster/Pro, SoundBlaster16, MPU-401 или MSS. Установка двух карт SoundBlaster возможно, но требует определения макросов SB2_BASE, SB2_IRQ, SB2_DMA и (в некоторых случаях) SB2_DMA2, путем редактирования файла local.h вручную. Также возможно установить SoundBlaster одновременно с PAS16.

С ядрами 2.0.x и более новыми, которые настраивают звук используя make config, вместо local.h, вам необходимо отредактировать файл /usr/include/linux/autoconf.h. После секции содержащей строки:

#define SBC_BASE 0x220 #define SBC_IRQ (5) #define SBC_DMA (1) #define SB_DMA2 (5) #define SB_MPU_BASE 0x0 #define SB_MPU_IRQ (-1)

поместите следующие строки (со значениями для вашей системы):

#define SB2_BASE 0x330 #define SB2_IRQ (7) #define SB2_DMA (2) #define SB2_DMA2 (2)

Следующие драйвера не разрешают иметь много карт:

GUS (ограничения драйвера)

MAD16 (ограничения оборудования)

AudioTrix Pro (ограничения оборудования)

CS4232 (ограничения оборудования)



Как я могу проиграть звуковой пример?


Звуковые файлы рабочей станции Sun (.au) могут быть проиграны копированием их на устройство /dev/audio. Необработанные (сырые) данные могут быть посланы на устройство /dev/dsp. Это в общем дает правильные результаты, однако предпочтительно использование программ таких как play, так как они будут распознавать большинство типов файлов и устанавливать правильные параметры звуковой карты-- скорость дискретизации и т.п.

Программы подобные wavplay или vplay (из пакета snd-util) будут давать наилучшие результаты с файлами WAV files. Однако они не распознают WAV-файлы Microsoft, сжатые по технологии ADPCM. Также старые версии программы play (из пакета Lsox) не работают нормально с 16-битными WAV-файлами.

Команда splay, включенная в пакет the snd-util, может быть использована для проигрывания большинства звуковых файлов, если правильные параметры будут вручную введены в командной строке.



Как я могу уменьшить шум, испускаемый моей звуковой платой?


Использование хороших, качественно изолированных кабелей и попытка использования звуковой платы в разных слотах может помочь уменьшить шум. Если звуковая карта имеет контроль громкости, вы можете попытаться использовать разные настройки (вероятно максимальное значение будет наилучшим). Используя программу микширования вы можете убедится, что уровни устройств ввода (например микрофон) установлены в нулевое значение.

Philipp Braunbeck рассказал, что звуковые карты ESS-1868 имели переключатель, для отключения встроенного усилителя, который помогал уменьшить шум.

В конце замечу, что на одной системе с процессором 386 я обнаружил, что опция командной строки ядра no-hlt уменьшает уровень шума. Она сообщает ядру, чтобы оно не использовало инструкцию halt при выполнении цикла ожидания процессов. Вы можете попробовать это вручную или установить используя команду append="no-hlt" в вашем файле конфигурации LILO.

Некоторые звуковые карты просто не спроектированы с хорошей защитой и заземлением и выдают шум.



Как я могу записать пример?


При чтении устройств /dev/audio или /dev/dsp будут возвращаться оцифрованные данные, которые могут быть перенаправлены в файл. Программы, такие как vrec делают этот процесс легче, контролируя скорость дискретизации, продолжительность и т.п. Вам может также понадобится программа микширования для выбора нужного устройства ввода.



Как подключить MIDI-клавиатуру к звуковой карте


Из письма Kim G. S. OEyhus ( ):

Я просмотрел много информации в internet и в документации на звуковую систему, на предмет того как сделать такую простую вещь как подключение MIDI-вывода с основной (master) клавиатуры к MIDI-вводу на звуковой карте. Я не нашел ничего. Проблема в том, что они используют одно и тоже устройство, /dev/midi, по крайней мере при использовании звуковой системы OSS. Я нашел способ сделать это, которым я хочу поделится. Это создает очень простой синтезатор, с полной поддержкой MIDI:

ПОДКЛЮЧЕНИЕ MIDI MASTER-КЛАВИАТУРЫ НАПРЯМУЮ К ЗВУКОВОЙ КАРТЕ С MIDI

MIDI master-клавиатура --- это клавиатура без любого синтезатора, и только с разъемом MIDI-вывода. Он может быть подключен к 15-штырьковому D-SUB порту на большинстве звуковых карт, с помощью подходящего кабеля.

Таким образом клавиатура может использоваться для управления устройством синтезирования MIDI карты, создавая таким образом простой, контролируемый с клавиатуры синтезатор.

Откомпилируйте следующую программ с помощью команды 'gcc -o prog prog.c', и запустите ее:

#include <fcntl.h>

main() { int fil, a; char b[256];

fil=open("/dev/midi", O_RDWR); for(;;) { a=read(fil, b, 256); write(fil, b, a); } }



Какие известны ошибки или ограничения звукового драйвера?


Смотрите файлы, включенные в исходные тексты звукового драйвера.



Какие ресурсы процессора необходимы для проигрывания илизаписи без пауз?


На этот вопрос не легко ответить, так как это зависит от:

используете вы PCM дискретизацию или FM-синтез

скорость дискретизации и размер примера

какое приложение используется для проигрывания или записи

оборудование звуковой карты

скорость ввода/вывода диска, скорость процессора, размер кэша, и т.п.

В общем, любая 386 машина легко должна проигрывать примеры или FM-синтезированную музыку на 8-битной звуковой карте.

Однако проигрывание MOD-файлов требует значительных ресурсов процессораs. Некоторые экспериментальные измерения показывают, что проигрывание на 44kHz требует более чем 40% скорости машины 486/50 и 386/25 может проигрывать едва быстрее чем 22 kHz (это все ч 8-битной звуковой картой такой как SoundBlaster). Такие карты как Gravis UltraSound выполняют больше функций сами, в железе, и будут требовать меньших ресурсов процессора.

Эти выводы предполагают, что компьютер не выполняет другие ресурсоемкие задачи.

Преобразование звуковых файлов или добавление эффектов, используя утилиты, такие как sox также быстрее, если у вас установлен математический сопроцессор (или CPU со встроенным FPU). Драйвер сам не выполняет любых вычислений с плавающей точкой.



Когда все эти шаги дали сбой


Если вы все еще имеете проблемы, здесь некоторые заключительные пожелания о вещах, которые надо постараться сделать:

внимательно перечитайте этот документ

прочитайте материалы на ссылках, перечисленных в конце этого документа и файлы с документацией, соответствующие драйверу ядра

пошлите вопрос в одну из групп новостей comp.os.linux или другую группу новостей (comp.os.linux.hardware -- это хороший выбор; вследствие высокого трафика в этих группах поместите строку "sound" в заголовке письма, так чтобы эксперты могли заметить его)

Использование поисковой системы Web/Usenet с правильно составленным запросом может быстро дать хорошие результаты. Один из таких поисковых серверов

попробуйте использовать последнюю версию ядра Linux (но только как последнюю надежду, поскольку последние версии ядер могут быть нестабильными)

пошлите сообщение автору звукового драйвера

пошлите сообщение автору этого документа (The Linux Sound HOWTO)

Запустите emacs и наберите Esc-x doctor :-)



Могу я использовать звуковую карту для замены сигнала системнойконсоли?


Попробуйте программу oplbeep, которую можно найти на

Другим вариантом является программа beep доступная на

Пакет modutils имеет пример программы и заплатку (patch) для ядра, которая поддерживает вызов произвольной внешней программы для генерации звука, когда требуется ядром.

В качестве альтернативы на некоторых звуковых картах вы можете соединить вывод PC speaker'а к звуковой карте, так что все звуки будут выводится на динамики звуковой карты.



Моя 16-битная "совместимая" с


16-битные звуковые карты описанные как совместимые с SoundBlaster в действительности совместимы только с 8-битной SoundBlaster Pro. Типично они имеют 16-битный режим, который не совместим с SoundBlaster 16 и не совместим с драйвером звука Linux.

Вы можете заставить карту работать в 16-битном режиме используя драйвер MAD16 или MSS/WSS.



Моя карта SB16 установлена на IRQ 2, но программа настройки неразрешает это значение.


На 286 и поздних машинах, прерывание IRQ 2 каскадировано на второй контроллер прерываний. Это эквивалентно IRQ 9.



Моя "совместимая" звуковая карта работает только если я сначалапроинициализирую ее под MS-DOS.


В большинстве случаев карты "совместимые с SoundBlaster" будет работать лучше под Linux если ее настроить под драйвер отличный от SoundBlaster. Большинство звуковых карт объявлено совместимыми (например "совместимая с 16-битным SB Pro" or "SB совместимая 16 бит"), но обычно этот режим SoundBlaster всего лишь "hack" сделанный для совместимости с играми для DOS. Большинство карт имеют собственный 16-битный режим, который скорее всего поддерживается недавними версиями Linux (2.0.1 и поздними).

Только с некоторыми (обычно довольно старыми) картами необходимо попытаться заставить работать их в режиме SoundBlaster. Только новейшие карты, которые являются исключением из этого правила, являются картами основанными на Mwave.



Может ли звуковой драйвер быть скомпилирован как загружаемыймодуль?


В недавно появившихся ядрах звуковой драйвер поддерживается как загружаемый модуль.

Для деталей смотрите файлы в каталоге /usr/src/linux/drivers/sound/, особенно файлы Introduction и /usr/src/linux/README.modules.



Настройка ядра


Когда вы устанавливаете Linux вы вероятно используете готовое ядро. Эти ядра обычно не обеспечивают поддержку звука. Желательно самим перекомпилировать ядро с необходимыми вам драйверами. Вы можете также пересобрать ядро для его обновления или чтобы освободить память, уменьшая размер ядра. Later, when your sound card is working, you may wish to rebuild the kernel sound drivers as modules.

Вы должны проконсультироваться с для получения детальной информации о компиляции ядра. Я буду упоминать здесь только вещи, специфичные для звуковых карт.

Если вы до этого никогда не настраивали ядро для поддержки звука, то хорошей идеей будет прочитать соответствующие файлы документации, поставляемые с драйвером звука, особенно информацию относящуюся к вашему типу карты. Файлы могут быть найдены в каталоге с документацией по ядру, обычно они устанавливаются в каталог /usr/src/linux/Documentation/sound. Если у вас нет этого каталога, то вы либо используете очень старое ядро, либо вы не установили исходные тексты ядра.

Следуйте обычной процедуре построения ядра. В настоящее время существует три интерфейса процесса конфигурации. Графический интерфейс, который запускается под управлением X11 может быть запущен командой "make xconfig". Управляемая меню система, которая требует только текстовый экран вызывается командой "make menuconfig". Оригинальный метод, используя "make config", запускает простой текст-ориентированный интерфейс.

При настройке ядра представляется большой выбор типов имеющихся звуковых карт, и параметров используемых драйверов. Контекстная помощь внутри утилиты настройки должна обеспечивать объяснение каждого их параметров. Выберите необходимые параметры.

После настройки параметров, вы должны откомпилировать и установить новое ядро, как это описано в Kernel HOWTO.



Настройка Plug and Play


Сейчас большинство звуковых карт использует протокол Plug and Play для установки параметров адресов ввода/вывода, прерываний и каналов DMA. Если у вас одна из старых карт, которая использует фиксированные параметры или переключатели на плате, то вы можете перейти к следующему разделу.

И в версии 2.2 ядра Linux еще не имеется полной поддержки Plug and Play. Наилучшим способом решения этой проблемы будет использование пакета isapnp, который поставляется с большинством дистрибутивов Linux (или вы можете скачать его с сервера Red Hat ).

Сначала посмотрите документацию на ваш дистрибутив Linux. В нем уже может установлена поддержка Plug and Play, или она может работать чуть-чуть по другому, чем описано здесь. если вам необходимо настроить ее самому, то подробности этого процесса могут быть найдены в справочных страницах утилит isapnp. Вкратце процесс состоит в следующем:

Используйте программу pnpdump для получения списка возможных параметров для всех ваших Plug and Play устройств, сохраняя результат в файле /etc/isapnp.conf.

Выберите такие параметры для вашей звуковой карты, которые не конфликтуют с другими устройствами в вашей системе, и раскомментируйте соответствующие строки в файле /etc/isapnp.conf. Не забудьте раскомментировать команду (ACT Y) в конце файла.

Убедитесь, что программа isapnp запускается при загрузке компьютера, обычно это выполняется в скриптах загрузки. Перезагрузите систему, или вручную запустите isapnp.

Если по некоторым причинам вы не можете или не желаете использовать пакет isapnp, то есть несколько других способов. Если вы используете карту при работе в Microsoft Windows 95 или 98, то вы можете использовать менеджер устройств для настройки карты, а затем программно перезагрузиться в Linux, используя программу LOADLIN. Убедитесь, что и Windows и Linux используют одни и те же параметры карты.

Если вы используете карту при работе в DOS, то вы можете использовать утилиту icu, которая поставляется с картами SoundBlaster16 PnP, для настройки карт в DOS, а затем программно перезагрузиться в Linux с помощью программы LOADLIN. Далее убедитесь, что DOS и Linux используют одни и те же параметры карты.

Некоторые из драйверов звуковых карт включают программное обеспечение, которое необходимо для инициализации Plug and Play для карты. О деталях проконсультируйтесь в документации по драйверу карты.



Настройки микшера сбрасываются когда я загружаю модульзвукового драйвера


Вы можете скомпилировать драйвер звука как загружаемый модуль и использовать kerneld для того чтобы автоматически загружать и выгружать его. Это может представить одну проблему - когда модуль перезагружается установки микшера устанавливаются в значения по умолчанию. Для некоторых звуковых карт это может быть слишком шумным (например SoundBlaster16) или слишком тихим. Markus Gutschke (gutschk@uni-muenster.de) нашел решение. Используйте подобную строку в вашем файле /etc/conf.modules:

options sound dma_buffsize=65536 && /usr/bin/setmixer igain 0 ogain 0 vol 75

Это запустит вашу программу микширования (в этом случае setmixer) немедленно после загрузки звукового драйвера. Параметр dma_buffsize это просто значение, необходимое потому-что команда option требует опцию командной строки. Измените эту строку как необходимо для соответствия вашей программе микширования и установкам уровней.

Если вкомпилировали ваш драйвер звука в ядро и хотите установить уровни микширования во время загрузки, вы можете поместить вызов вашей программы микширования в стартовый файл системы такой как /etc/rc.d/rc.local.



Новые версии этого документа


Новые версии этого документа будут периодически посылаться в группу новостей . Они также будут выгружаться на разные анонимные ftp-сервера, которые содержат такую информацию, включая .

Гипертекстовая версия этого и других Linux HOWTO доступны на многих WWW-серверах, включая . Большинство дистрибутивов Linux на компакт дисках включают HOWTO, часто в директории /usr/doc, и вы можете купить напечатанную копию у некоторых распространителей. Иногда документы доступные у продавцов компакт дисков, ftp-серверах и в печатном формате являются устаревшими. Если с даты выпуска этого документа прошло более чем шесть месяцев, тогда скорее всего новая копия доступна на Internet.

Пожалуйста заметьте, что из-за динамической природы Internet, все web- и ftp-ссылки, перечисленные в данном документе могут изменяться.

Переводы данного документа доступны на нескольких языках:

Китайском:

Французском:

Японском:

Корейском:

Русском:

Испанском:

Большинство переводов этого и других Linux HOWTO могут также найдены на и .

Если вы сделаете перевод этого документа на другой язык, дайте мне знать и я включу ссылку на него здесь.



Ошибка: Device busy (Устройство занято) для устройств звука


Только один процесс может открыть звуковое устройство. Скорее всего какой-то другой процесс использует устройство. Один из путей определить это-- использование команды fuser:

% fuser -v /dev/dsp /dev/dsp: USER PID ACCESS COMMAND tranter 265 f.... tracker

В вышеприведенном примере, команда fuser показывает, что процесс 265 открыл устройство. Ожидание пока процесс не завершится или его завершение (kill) позволит иметь доступ к устройству звука. Вы должны запустить команду fuser как администратор для того чтобы получить информацию об использовании другими пользователями.

В некоторых системах вы должны быть администратором, для запуска программы fuser, для того, чтобы увидеть процессы других пользователей.



Ошибка: No space left on device (Не осталось места на устройстве)для устройств звука


Это может случится, если вы попытаетесь записать данные в файлы /dev/audio или /dev/dsp без создания необходимых файлов устройства. В настоящее время устройство звука является регулярным устройством и заполняет часть вашего диска. Вам необходимо запустить скрипт, описанный в разделе Создание файлов устройства этого документа.

Это также может случаться с Linux 2.0 и более поздними если они не имеют достаточное количество свободной памяти, когда устройство открыто. Драйвер звука требует по крайней мере двух страниц (8k) непрерывной оперативной памяти для каждого канала DMA. Это случается иногда на машинах, которые имеют меньше чем 16M оперативной памяти или тех которые работают длительное время. Возможно освободить некоторое количество памяти откомпилировав и запустив следующую C-программу до открытия устройства снова:

main() { int i; char mem[500000]; for (i = 0; i < 500000; i++) mem[i] = 0; exit(0); }



Ошибка: No such device (Нет такого устройства) для устройств звука


Либо вы не загрузили ядро содержащее драйвер звука, либо настройки адресов портов ввода/вывода не соответствуют вашему оборудованию. Проверьте, что вы загрузили скомпилированное ядро и проверьте, что параметры которые вы ввели, когда настраивали драйвер звука, соответствуют настройкам вашего оборудования.



Ошибка: No such file or directory (Нет такого файла или директории)для устройств звука


Вам необходимо создать файлы устройства драйвера звука. Сотрите раздел о создании файлов устройства. Если вы имеете файлы устройства, убедитесь, что они имеют правильные первичные (major) и вторичные (minor) номера (Некоторые старые дистрибутивы Linux могут не создавать правильные файлы устройства в течении установки).



Ошибки компиляции при компиляции звуковых приложений


Версия 1.0c драйвера звука и более ранние использовали другую и несовместимую схему ioctl(). Возьмите более свежую версию драйвера звука или сделайте необходимые изменения для адаптации приложений к новому драйверу звука. Для деталей смотрите файл Readme из поставки звукового драйвера.

Также убедитесь, что вы используете последние версии файлов soundcard.h и ultrasound.h при компиляции приложения. Смотрите инструкции по инсталляции в начале этого текста.



Ответы на часто задаваемые вопросы (FAQ)


В этом разделе даются ответы на некоторые вопросы, которые часто задаваются в группах новостей и списках рассылки.

Ответы на большее количество вопросов также может быть найдено на странице звукового драйвера OSS.



Параллельный порт


Существует другая возможность сделать цифровой-аналоговый преобразователь используя параллельный порт принтера и некоторое дополнительное оборудование. Это обеспечивает большое качество звука, чем динамик компьютера, но все равно загружает процессор. Пакет звука для компьютера, описанный выше, поддерживает эту возможность и включает описания для создания необходимого оборудования.



PC Speaker


Также доступен альтернативный драйвер звука, который не требует дополнительного звукового оборудования; он использует внутренний динамик. В общем он программно совместим с драйвером звуковой карты, но, как и могло ожидаться, обеспечивает более низкое качество звука и больше загружает процессор. Результаты оказываются разными, в зависимости от индивидуального динамика. Для детальной информации смотрите документацию, поставляемую с пакетом.

Это программное обеспечение, которое не обновлялось уже некоторое время может быть найдено по адресу



Поддерживаемое оборудование


В этом разделе перечисляются звуковые карты и интерфейсы поддерживаемые в настоящее время в Linux. Информация базируется на последней, на время написания этого документа, версии ядра Linux, которой являлась версия 2.2.4. Этот документ применим только для звуковых драйверов, включенных в поставку стандартного ядра Linux. Также для Linux доступны дополнительные звуковые драйвера (смотрите дальше раздел озаглавленный Альтернативные драйвера для звуковых карт).

Для самой свежей информации о поддерживаемых звуковых картах и новых свойствах смотрите файл, включенный в поставку исходного кода ядра Linux и обычно устанавливаемый в каталог /usr/src/linux/Documentation/sound.

Информация в этом документе правильна для Linux'а на платформе Intel.

Драйвер звука должен также работать с большинством звуковых карт на платформе Alpha. Однако, некоторые карты могут конфликтовать с портами ввода-вывода других устройств в системах Alpha, даже если они работают великолепно на машинах с i386, так что в общем нельзя сказать будет ли данная карта работать или нет без пробы.

Пользователи сообщили, что звуковой драйвер еще не работал на PowerPC версии Linux, но должен поддерживаться в будущем.

Звук может быть настроен в ядро в порте Linux для MIPs, и некоторые MIPs-машины имеют EISA слоты и/или встроенное звуковое оборудование. Группа Linux-MIPs заинтересована в добавлении поддержки звука в будущем.

Ядро Linux включает раздельные драйвера для Atari и Amiga версий Linux, которые реализуют совместимое множество звукового драйвера на платформе Intel используя встроенное звуковое оборудование на этих машинах.

SPARC порт Linux в настоящее время имеет поддержку звука для некоторых моделей рабочих станций Sun. Мне сообщили, что встроенное звуковое оборудование работает, но внешнее устройство DSP не поддерживается, поскольку Sun не выпустил спецификации для него.



Поддерживается ли звуковое оборудование IBM ThinkPad?


Информация о том как использовать звуковую карту mwave на портативном компьютере IBM ThinkPad под Linux может быть найдена в файле /usr/src/linux/Documentation/sound/mwave, который является частью дистрибутива исходного кода ядра.



Политика распространения


Авторские права (c) 1995-1999, Jeff Tranter. Этот документ может быть распространен в терминах лицензии LDP на .



Приложение не работает, потому что на моей звуковой карте нетмикшера


Некоторый старые 8-битные карты SoundBlaster не имеют устройства микширования. Некоторые звуковые приложения требуют возможности открыть устройство микширования и поэтому не работают на таких картах. Jens Werner ( ) предложил решение, заключающееся в создании ссылки с /dev/mixer на /dev/null и все должно работать нормально.



Приложения поддерживающие звук


Я даю здесь примеры типов приложений, которые вы вероятно захотите использовать, если вы имеете установленную звуковую карту в Linux. Вы можете проверить Linux Software Map (Карта программного обеспечения Linux), архивные сервера Internet, и/или файлы на вашем CD-ROM с Linux для более свежей информации.

Как минимум, вы вероятно захотите получить следующие приложения:

утилита преобразования форматов аудио-файлов (например sox)

утилита микширования (например aumix or xmix)

программы проишрывания и записи оцифрованных файлов (например play или wavplay)

проигрыватель файлов MOD (например tracker)

проигрыватель файлов MIDI (например playmidi)

Большинство этих утилит существует как в текстовом варианте, так и с графическим интерфейсом пользователя. Вы можете найти также более специфические приложения (например программу синтеза и распознавания речи).



о том, как заставить работать


Из письма Matthew Inger ( ):

Информация о том, как заставить работать карту Ensoniq PCI 128.

Проблема проявлялась в том, что карта по умолчанию использовала прерывание 15 (за это отвечала подсистема Plug and Pray). Это прерывание используется дополнительным контроллером ide, и не может быть использоваться другими устройствами. Вам необходимо как то заставить es1370 использовать другое прерывание (например использовать прерывание 11, как это делается в Windows).

Я определил это для себя, вы можете верить или нет.

Что я для этого сделал:

a) в BIOS, вы должны указать, что у вас не Plug and Play операционная система. Я нашел это в меню advanced options в моем BIOS.

b) в меню PCI settings в BIOS, скажите компьютеру зарезервировать прерывание 15 для обычных устройств ISA. В моем bios, под разделом advanced options, есть раздел для настройки PCI. В нем есть область Resource Exclusion и эта операция делается там.

После загрузки в linux вы сможете использовать звук. (Я не помню, показывается ли это в сообщениях при загрузке или нет). Для того, чтобы быть уверенным, я запустил sndconfig, так что он должен был проиграть тестовое сообщение, которое звучит не совсем хорошо, но оно есть. Однако когда проиграл CD, он звучал великолепно.

Не беспокойтесь о Windows, я попробовал обе мои карты: ISA Modem, и звуковую карту, и они работали без каких либо погрешностей.

Может быть так, что ваш BIOS будет отличаться от моего, но вы должны найти место, где находятся эти настройки. Всего хорошего.


Linux распознает адаптер 1542 только


(следующее объяснение было сделано seeker@indirect.com)

Linux распознает адаптер 1542 только на адресе 330 (по умолчанию) или 334, и PAS разрешает эмуляцию MPU-401 только на адресе 330. Даже когда вы программно запретите MPU-401, что-нибудь захочет конфликтовать с адаптером 1542 если выбран адрес по умолчанию. Перестановка адаптера 1542 на адрес 334 сделает всех счастливыми.

В качестве дополнения, и адаптер 1542 и PAS-16 используют 16-битное DMA, так что если вы используете 16-bit 44 KHz стерео-звук и сохраняете файл на SCSI-диск, установленный на адаптер 1542, вы будете иметь проблемы. Каналы DMA перекрываются и не остается достаточного времени для обновления оперативной памяти, так что вы получите ужасное сообщение ``PARITY ERROR - SYSTEM HALTED (ОШИБКА ЧЕТНОСТИ - СИСТЕМА ОСТАНОВЛЕНА)'', без объяснений что вызвало ее. Это ухудшается потому-что некоторые продавцы рекомендуют для ленточных устройств QIC-117 времена on/off шины, такие что даже для 1542 они дольше, чем нормальные. Возьмите программу SCSISEL.EXE с Adaptec BBS или с нескольких мест в internet, и уменьшайте время BUS ON или увеличивайте время BUS OFF до тех пор пока проблема не исчезнет. SCSISEL изменяет установки EEPROM, так что это более постоянно чем заплатка (patch) к строке драйвера DOS в CONFIG.SYS, и будет работать правильно если вы загрузитесь в Linux (в отличии от заплатки к DOS). Следующая проблема решена.

Последняя проблема - старые наборы микросхем Symphony резко уменьшали синхронизацию циклов ввода/вывода для ускорения доступа к шине. Ни одна из разных карт, которые я пробовал не имеет ни какой проблемы с уменьшенной синхронизацией, исключая PAS-16. На BBS Media Vision есть SYMPFIX.EXE, который используется для решения этой проблемы путем изменения диагностического бита в контроллере шины Symphony, но это не дает твердой гарантии. Вы можете нуждаться в следующем:

заставьте продавца материнской платы заменить старую версию контроллера шины,

заменить материнскую плату, или

купить другой тип звуковой платы.



Young Microsystems обновляет импортируемые карты примерно за $30 (US); другие продавцы могут делать подобное, если вы сообщите кто произвел или импортировал материнскую плату (желаю удачи). Что касается меня, то проблема в микросхеме интерфейса шины ProAudio; никто не покупает $120 звуковую карту и засовывает ее в 6MHz AT. Большинство их используется в 25-40MHz 386/486 машинах, и должны по крайней мере обслуживать скорость шины 12MHz, если микросхемы спроектированы правильно.

Первая проблема зависит от набора микросхем, используемых на вашей материнской плате, какая скорость шины и других настроек BIOS, а также фазы луны. :-) Вторая проблема зависит от ваших настроек обновления памяти (скрытая или синхронная), скорости DMA адаптера 1542 и (возможно) скорости ввода/вывода шины. Третья может быть определена вызвав службу Media Vision и спросив какой тип микросхемы Symphony несовместим с их замедленным дизайном. Будьте осторожны, 3 из 4-х техников в которыми я говорил имеют "повреждение мозга". Должен ли я доверять всему, что они сказали о каком-то другом оборудовании, если они даже не знают свое собственное.


что есть новый тип Soundblaster


Из сообщения Scott Manley ( ):

Кажется, что есть новый тип Soundblaster - он продается как SB16 - номер модели на карте равен CT4170. Эти штуки имеют только один канал DMA, так что если вы попытаетесь настроить ее, то у ядра будут проблемы с доступом к 16-битному каналу DMA. Решением этой проблемы будет установка значения второго канала DMA равным 1, так что карта будет вести себя как заявлено.


Проблемы с запуском DOOM под Linux


Пользователям игры DOOM компании ID software (версия для Linux) могут быть интересны эти сведения.

Для правильного вывода звука вам нужен звуковой драйвер версии 2.90 или более поздней; он имеет поддержку для DOOM режимаx реального времени.

Звуковые примеры являются 16-битными. Если у вас 8-битная звуковая карта вы все равно можете иметь звук, используя разные программы, доступные на .

Если производительность DOOM в вашей системе плоха, то запрет звука (переименованием файла sndserver) может улучшить ее.

По умолчанию DOOM не поддерживает музыку (как в версии DOS). Программа musserver добавит поддержку музыки в DOOM для Linux. Она может быть найдена на .



Разрешение проблем


Если вы все еще сталкиваетесь с проблемами после выполнения инструкций, изложенных в этом документе, здесь изложены некоторые вещи, которые необходимо проверить. Проверки изложены в порядке возрастания сложности. Если проверка не удалась, решите эту проблему до перехода к следующей стадии.



SEGV при запуске звукового приложения, которое до этого работало


Вероятно это та же проблема, что и описана в предыдущем вопросе.



Убедитесь, что вы действительно запустили скомпилированноеядро.


Вы можете проверить дату ядра, для того чтобы увидеть действительно ли вы запустили ядро, которое вы скомпилировали с поддержкой звука. Вы можете сделать это с помощью команды uname:

% uname -a Linux fizzbin 2.2.4 #1 Tue Mar 23 11:23:21 EST 1999 i586 unknown

или просмотрев файл /proc/version:

% cat /proc/version Linux version 2.2.4 (root@fizzbin) (gcc version 2.7.2.3) #1 Tue Mar 23 11:23:21 EST 1999

Если дата не соответствует той, когда вы компилировали ядро, значит вы все еще работаете со старым ядром. Действительно ли вы перезагрузились? Если вы используете LILO, действительно ли вы переставили его (обычно запуском lilo)? Если вы загружаетесь с дискеты, создали ли вы новый загрузочный диск и использовали его во время загрузки?



Убедитесь, что звуковой драйвер встроен в ядро.


Самый легкий путь проверить это-- просмотреть вывод /dev/sndstat как описано ранее. Если вывод не такой как ожидалось, тогда что-то было неправильно во время конфигурации или компиляции ядра. Начните процесс инсталляции заново, начиная с процесса конфигурации или компиляции ядра.



Обнаруживает ли ядро вашу звуковую карту во времязагрузки?


Убедитесь, что звуковая карта обнаруживается во время загрузки ядра. Вы должны следить за сообщением при загрузке. Если сообщения ушли за пределы экрана, вы обычно можете просмотреть их используя команду dmesg:

% dmesg

или

% tail /var/log/messages

Если ваша карта не нашлась, значит что-то неправильно. Убедитесь, что она действительно установлена. Если звуковая карта работает под DOS, то вы точно убедитесь, что оборудование работает, так что проблемы скорее всего с настройкой ядра. Либо вы настроили свою карту указав неправильный тип или задав неправильные параметры, или ваша карта не совместима с любым звуковым драйвером Linux.

Еще может быть, что у вас звуковая карта совместимого типа, которые требуют инициализации драйвером DOS. Попытайтесь загрузить DOS и загрузить поставляемый продавцом драйвер звука. Затем перезагрузите Linux ("теплая" перезагрузка), нажав Control-Alt-Delete. Убедитесь, что номера портов ввода/вывода карты, настройки DMA, и IRQ в Linux те же самые, что и используются под DOS. Прочитайте файл Readme.cards из пакета звукового драйвера для инструкций о конфигурации вашего типа карты.

Если ваша карта не перечислена в этом документе, возможно, что драйвер Linux не поддерживает ее. Вы можете проверить это с помощью некоторых ссылок, перечисленных в конце документа.



Можете вы считывать данные с устройства dsp?


Попытайтесь считать с устройства /dev/audio используя команду dd показанную ранее в этом документе. Команда должна работать без ошибок.

Если она не работает, вероятно что проблема в конфликте IRQ или DMA или некотором роде несовместимости оборудования (устройство не поддерживается Linux или драйвер настроен для неправильного устройства).

Маловероятная возможность-- сломанное оборудование. Постарайтесь протестировать звуковую карту под DOS для исключения этой возможности.



Sox/Play/Vplay сообщает "invalid block size 1024(неправильный размер блока 1024)"


Изменения в драйвере звука в версии 1.3.67 некоторые программы проигрывания звука, которые (неправильно) проверяли, что результат из ioctl SNDCTL_DSP_GETBLKSIZE был больше чем 4096. Последние версии драйвера звука были также исправлены, чтобы избегать выделения фрагментов короче чем 4096 байтов, которое решило эту проблему для старых утилит.



Создание файлов устройства


Для правильного проведения операций, для звукового драйвера должны быть созданы файлы устройства. По умолчанию они создаются во время установки вашей системы Linux. Быстрая проверка может быть произведена с помощью команды, показанной ниже. Если вывод такой же как показан (дата будет отличаться), тогда файлы устройства почти в норме.

% ls -l /dev/sndstat crw-rw-rw- 1 root root 14, 6 Apr 25 1995 /dev/sndstat

Заметим, что наличие правильных файлов устройства не гарантирует ничего. Драйвер должен быть загружен или вкомпилирован в ядро до того как устройство будет работать (больше об этом далее).

В редких случаях, если вы считаете что файлы устройства являются неправильными, вы можете заново создать их. Большинство дистрибутивов Linux имеет скрипт /dev/MAKEDEV, который может быть использован для этой же цели.



Ссылки


Если вы имеете звуковую карту, которая поддерживает CD-ROM или SCSI интерфейсы, документы Linux и Linux содержат дополнительную информацию, которая может быть полезна для вас.

Документ описывает как проигрывать различные типы звуковых и музыкальных файлов под Linux.

Страница описывает как заставить работать под Linux карты SoundBlaster 32 или 64.

Информация для программистов доступна на сервере 4Front Technologies .

Следующие FAQ регулярно посылаются в группы новостей Usenet и также сохраняются на :

PCsoundcards/generic-faq (Общий PC Soundcard FAQ)

PCsoundcards/soundcard-faq (comp.sys.ibm.pc.soundcard FAQ)

PCsoundcards/gravis-ultrasound/faq (Gravis UltraSound FAQ)

audio-fmts/part1 (Описание форматов аудио-файлов)

audio-fmts/part2 (Описание форматов аудио-файлов)

Эти документы также перечисляют разные специфические списки рассылки и архивные сервера. Следующие группы новостей Usenet обсуждают темы относящиеся к звуку и/или музыке.

(различные группы для рассылки звуковых файлов)

(для рассылки мультимедиа-файлов)

(разделы по программированию Soundblaster)

(разделы по мультимедиа)

(теория и исследования в компьютерной музыке)

(различные группы о звуковых картах IBM PC)

Web-сервер посвященный мультимедиа может быть найден по адресу . Еще одним хорошим сервером для звуковых и MIDI приложений под Linux является . Creative Labs имеет Web-сервер по адресу . Сервер MediaTrix расположен по адресу .

Список рассылки Linux имеет несколько "каналов", посвященных различным темам, включая звук. Чтобы узнать как подключится к нему, пошлите почтовое сообщение со словом "help" в теле сообщения на адрес . Эти списки рассылки не рекомендуются для вопросов об установке звуковых карт и т.п., они предназначены для дискуссий относящихся к разработке.

Как замечено ранее, звуковой драйвер включает некоторое количество файлов Readme, содержащих полезную информацию о звуковом драйвере. Они обычно могут быть найдены в директории /usr/src/linux/drivers/sound.

Информация об OSS, коммерческом драйвере звука для Linux и других Unix-совместимых операционных систем, может быть найдена на Web-странице 4Front Technologies по адресу .

Linux Software Map (Карта программного обеспечения Linux) (LSM) -- неоценимая ссылка для нахождения программного обеспечения для Linux. Поиск в LSM ключевых слов, таких как sound -- хороший способ для определения приложений относящихся к звуку. LSM может быть найден на разных анонимных FTP-серверах, включая

(ранее известный как sunsite). Также существуют различные сервера, которые содержат базы данных по приложениям для Linux. Одним из них является .

Linux Documentation Project выпустил несколько книг о Linux, включая Linux Installation and Getting Started (Установка Linux и начала работы). Они свободно доступны по анонимному FTP с основных архивных серверов Linux или могут быть куплены в напечатанном виде.

В заключении бесстыдная вставка: Если вы хотите больше обучится о мультимедиа под (особенно приложения и программирование CD-ROM и звуковых карт), выпишите мою книгу Linux Multimedia Guide, ISBN 1-56592-219-0, опубликованную O'Reilly and Associates. Кроме оригинально Английской версии, Французский и Японский перевод сейчас в печати. Для деталей звоните call 800-998-9938 в Северной Америке или проверьте сервер или мою домашнюю страницу .



Технология звуковых карт


Этот раздел дает очень беглый обзор звуковой компьютерной технологии, для того, чтобы помочь вам понять концепции используемые далее в документе. Вы должны прочитать книгу о цифровом звуке или цифровой обработке сигналов для получения более детальной информации.

Звук это аналоговое свойство; он может принимать любое значение в бесконечном ряду. Компьютеры являются цифровыми; Они предпочитают работать с дискретными величинами. Звуковые карты используют устройство известное как Аналогово-Цифровой Преобразователь (A/D или ADC или АЦП) для преобразования напряжений соответствующих звуковым волнам в численные значения, которые могут быть сохранены в памяти. Подобным образом, Цифровой-Аналоговый Преобразователь (D/A или DAC или ЦАП) преобразует числовые значения обратно в аналоговое напряжение, которое в свою очередь может управлять динамиком, производя звук.

Процесс аналогово-цифрового преобразования, известный как дискретизация, производит некоторую ошибку. Два фактора являются ключевыми в определении, как хорошо дискретный сигнал представляет оригинал. Скорость дискретизации-- это количество дискретизаций делаемых в единицу времени (обычно измеряется в дискретизациях в секунду или Герцах). Низкая скорость дискретизации будет производить менее точное представление аналогового сигнала. Размер дискретизации -- это диапазон значений используемых для представления каждого дискрета, обычно измеряется в битах. Больший размер дискрета -- будет производить более точный оцифрованный сигнал.

В большинстве звуковых карт используют 8 или 16-битные дискреты при скорости дискретизации от 4000 до 44000 дискретизаций в секунду. Дискретизация может быть одноканальной (моно) или двухканальной (стерео).

FM синтез это старая технология для создания звука. Он основан на объединении различных волновых форм (например синусоидальной, треугольной, квадратной). FM синтез проще для реализации на оборудовании с ЦАП, но более трудный в программах и менее гибкий. Много звуковых картах обеспечивают FM синтез для обратной совместимости с устаревшими картами и программным обеспечением. Обычно обеспечиваются некоторые независимые генераторы звука или голоса (voices).

Волновой (Wavetable) синтез объединяет гибкость ЦАП с многоканальными способностями FM синтеза. В этой схеме оцифрованные голоса могут быть загружены в выделенную память и затем проиграны, объединены и изменены с маленькой загрузкой процессора. Все современные звуковые карты поддерживают волновой синтез.

Большинство звуковых карт обеспечивают возможность смешивания (mixing), объединения сигналов с разных источников и контролировать уровни увеличения (gain).

MIDI стандарт(stands) для Цифрового Интерфейса Музыкальных Инструментов (Musical Instrument Digital Interface), и это стандартный протокол оборудования и программного обеспечения для возможности соединения(обмена информацией) музыкальных инструментов друг с другом. События посылаемые сквозь шину MIDI могут также сохранятся в MIDI-файлах для последующего редактирования и проигрывания. Много звуковых карт обеспечивают MIDI-интерфейс. Но все равно не могут проигрывать MIDI-файлы используя встроенные возможности звуковой карты.

MOD-файлы являются общим форматом для компьютерного звука. Кроме информации о проигрываемых музыкальных нотах, файлы содержат оцифрованные данные для инструментов (или голосов). MOD-файлы изначально появились на компьютерах Amiga, но могут быть проиграны на других системах, включая Linux, с помощью соответствующего программного обеспечения.



Только администратор может записывать звук


По умолчанию скрипт в файле Readme.linux, который создает файлы устройства звука, разрешает чтение устройств только пользователю root. Это затыкает потенциальную дыру в защите. В сетевой среде внешний пользователь может удаленно войти в систему с звуковой картой и микрофоном и подслушивать. Если вы не заботитесь об этом, вы можете изменить разрешения, используемые в скрипте.

С настройками по умолчанию, пользователи могут проигрывать звуковые файлы. Это не риск безопасности, но потенциальная досада.



Установка


Настройка Linux для поддержки звука включает следующие этапы:

Установка звуковой карты.

Настройка Plug and Play (если необходимо).

Настройка и компиляция ядра для поддержки звука.

Создание файлов устройства.

Загрузка ядра Linux и тестирование.

Если вы работаете в Red Hat Linux, то там есть утилита, названная sndconfig, которая в большинстве случаев обнаружит вашу звуковую карту и настроит все необходимые файлы конфигурации для загрузки звуковых драйверов, соответствующих вашей звуковой карте. Если вы работаете в Red Hat, то я надеюсь, что вы будете использовать ее. Если эта утилита работает нормально, то вы можете пропустить остаток этого раздела.

Если sndconfig не работает, вы используете другой дистрибутив Linux или вы хотите использовать ручной метод для того, чтобы лучше понять что вы делаете, то следующие разделы опишут эти шаги более детально.



Установка звуковой карты


Для установки оборудования следуйте инструкциям производителя или заставьте продавца установить карту.

Старые карты обычно имели переключатели или наборы переключателей для установки IRQ, каналов DMA и т.п.; запишите используемые значения. Если вы не уверены, используйте значения по умолчанию. Старайтесь, если возможно, избегать конфликтов с другими устройствами (например картами ethernet, адаптерами SCSI, последовательными и параллельными портами).

Обычно вы должны использовать те же самые установки для портов ввода/вывода, IRQ и DMA, которых работают под DOS. Однако в некоторых случаях (особенно с PnP картами) вы можете использовать другие настройки, чтобы заставить карту работать под Linux. Нужно провести несколько экспериментов.



Возможно ли читать и записывать примеры одновременно?


Драйвера некоторых звуковых карт поддерживают полнодуплексный режим. Посмотрите документацию доступную с 4Front Technologies для получения информации о том как его использовать.



Возникают паузы во время проигрывания файлов MOD


Проигрывание MOD-файлов требует значительных мощи процессора. У вас может быть запущено слишком много процессов или ваш компьютер может быть слишком медленным для проигрывания в реальном времени. Вы можете сделать следующее:

попытаться проигрывать с более низкой скоростью дискретизации или в моно режиме

убрать другие процессы

купить более мощный компьютер

купить более мощную звуковую карту (например Gravis UltraSound)

Если у вас карта Gravis UltraSound, вы должны использовать один из проигрывателей mod-файлов написанных специально для GUS (например gmod).



Это Linux Sound HOWTO. Он


Это Linux Sound HOWTO. Он предназначен как краткое руководство делающее обзор всего, что необходимо знать для установки и настройки поддержки звука в Linux. Приводятся ответы на часто задаваемые вопросы (FAQ) и ссылки на другие информационные ресурсы относящиеся к компьютерному звуку и музыке.
Масштабы документа ограничены применением звуковых карт в Linux. Смотрите другие документы перечисленные в разделе Ссылки для более общей информации о звуковых картах, компьютерном звуке и создании музыки.

Загрузка Linux и тестирование установки


Сейчас вы должны быть готовы к загрузке нового ядра и тестирования звукового драйвера. Следуйте обычной процедуре инсталляции и загрузите новое ядро (сохраните старое ядро на случай возникновения проблем).

В течении загрузки следите за сообщениями, которые следуют после включения питания (если они прокручиваются слишком быстро чтобы прочитать их, вы можете заново просмотреть их командой dmesg).

Sound initialization started <Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5 <Sound Blaster 16> at 0x330 irq 5 dma 0 <Yamaha OPL3 FM> at 0x388 Sound initialization complete

Они должны соответствовать вашему типу карты и установкам переключателей (если они есть).

Заметим, что вышеприведенные сообщения не появляются, когда вы используете звуковой драйвер в виде загружаемого модуля ядра (до тех пор пока вы не разрешите его, например командой insmod sound trace_init=1).

Когда драйвер звука находится в ядре, должны появляться сообщения Sound initialization started (инициализация звука начата) и Sound initialization complete (инициализация звука выполнена). Если они не появляются, это обозначает, что драйвера звука нет в ядре. В этом случае вы должны проверить действительно ли вы установили ядро с включенным звуковым драйвером.

Если ничего не появляется между строками Sound initialization started и Sound initialization complete, это означает, что никакого звукового устройства не обнаружено. Скорее всего это означает, что вы не разрешили правильный тип драйвера, карта не поддерживается, неправильно заданы порты ввода/вывода или что у вас PnP карта, которая не была сконфигурирована.

Драйвер может также выдавать некоторые сообщения об ошибках и предупреждения в процессе загрузки. Наблюдайте за ними в процессе первой загрузки после настройки звукового драйвера.

Далее вы должны проверить файл устройства /dev/sndstat. Чтение файла статуса звукового драйвера должно дать дополнительную информацию был ли драйвер звуковой карты инициализирован правильно. Простой вывод должен выглядеть подобно этому:


% cat /dev/sndstat Sound Driver:3.5.4-960630 (Sat Jan 4 23:56: 57 EST 1997 root, Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586) Kernel: Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586 Config options: 0

Installed drivers: Type 1: OPL-2/OPL-3 FM Type 2: Sound Blaster Type 7: SB MPU-401

Card config: Sound Blaster at 0x220 irq 5 drq 1,5 SB MPU-401 at 0x330 irq 5 drq 0 OPL-2/OPL-3 FM at 0x388 drq 0

Audio devices: 0: Sound Blaster 16 (4.13)

Synth devices: 0: Yamaha OPL-3

Midi devices: 0: Sound Blaster 16

Timers: 0: System clock

Mixers: 0: Sound Blaster

Команда, приведенная выше, может выдавать некоторые сообщения об ошибках. "No such file or directory (Нет такого файла или директории)" сообщает, что вам нужно создать файлы устройства (смотри раздел 4.3). "No such device (Нет такого устройства)" означает, что звуковой драйвер не был загружен или вкомпилирован в ядро. Возвратитесь к разделу 4.2 и исправьте это.

Если строки в секции "Card config:" файла /dev/sndstat перечислены внутри скобок (такие как "(SoundBlaster at 0x220 irq 5 drq 1,5)"), это означает, что устройство было сконфигурировано, но не обнаружено.

Теперь вы готовы к проигрыванию простых звуковых файлов. Возьмите простой звуковой файл и пошлите его на звуковое устройство для быстрой проверки вывода звука, например

% cat endoftheworld >/dev/dsp % cat crash.au >/dev/audio

(Убедитесь, что вы не опустили ">" в командной строке, приведенной выше).

Заметим, что в общем, использование cat это не лучший способ проигрывания звуковых файлов, это просто быстрая проверка. Вы должны взять соответствующую программу проигрывания звука (описано позже), которая будет выполнять работу лучше.

Эти команды работают, если по крайней мере одно устройство перечислено в разделе аудио-устройств файла /dev/sndstat. Если раздел аудио-устройств пуст, вы должны проверить почему устройство не опознается.

Если вышеприведенные команды возвращают "I/O error (Ошибка ввода/вывода)", вы должны посмотреть в конце сообщений ядра, используя команду "dmesg". Вероятно, что сообщение об ошибке будет напечатано там. Часто бывает такое сообщение "Sound: DMA (output) timed out - IRQ/DRQ config error? (Звук: время ожидания DMA (вывод)-- ошибка настройки IRQ/DRQ?)". Вышеприведенное сообщение означает, что драйвер не получил от устройства звука ожидаемого прерывания. В большинстве случаев это означает, что сконфигурированы IRQ или каналы DMA с которыми драйвер не может работать. Лучший выход чтобы заставить его работать -- испробовать все возможные номера DMA и IRQ, поддерживаемые устройством.

Другая возможная причина -- устройство не совместимо с устройством для которого сконфигурирован драйвер. Это довольно распространенный случай, когда считающиеся "SoundBlaster (Pro/16) compatible" звуковые карты не работают с драйвером SoundBlaster. В этом случае вы должны попытаться найти устройство с которым совместима ваша звуковая карта (например запросом в группу новостей comp.os.linux.hardware).

Некоторые простые звуковые файлы могут быть получены с

Теперь вы можете проверить запись звука. Если вы имеете возможность ввода звука, вы можете проделать быструю проверку этого, используя команды, такие как следующие:

# record 4 seconds of audio from microphone EDT% dd bs=8k count=4 </dev/audio >sample.au 4+0 records in 4+0 records out # play back sound % cat sample.au >/dev/audio

Очевидно, что, чтобы это работало вам нужен микрофон, соединенный к звуковой карте и вы должны говорить в него. Вам также нужна программа микширования, чтобы установить микрофон как устройство ввода и выровнять уровни усиления записи.

Если тесты прошли, вы можете быть уверенны, что звуковые устройства ЦАП и АЦП, и программное обеспечение работают. Если вы имеете проблемы, смотрите следующий раздел этого документа.


Звуковые карты


Следующие звуковые карты поддерживаются звуковым драйвером ядра Linux. Некоторые из перечисленных пунктов являются звуковыми микросхемами, а не моделями звуковых карт. Этот список неполон, поскольку существует много звуковых карт совместимых с теми, которые будут работать под Linux. Для введения в заблуждение некоторые производители периодически изменяют дизайн своих карт вызывающий несовместимость и продолжаю продавать их как те же самые модели.

MIDI интерфейс 6850 UART

карты основанные на AD1816/AD1816A

ADSP-2115

карты основанные на ALS-007 (Avance Logic)

ATI Stereo F/X (больше не производится)

Acer FX-3D

AdLib (больше не производится)

Audio Excel DSP 16

AudioDrive

звуковая микросхема CMI8330

встроенная звуковая карта Compaq Deskpro XL

Corel Netwinder WaveArtist

Crystal CS423x

ESC614

звуковая микросхема ESS1688

звуковая микросхема ESS1788

звуковая микросхема ESS1868

звуковая микросхема ESS1869

звуковая микросхема ESS1887

звуковая микросхема ESS1888

звуковая микросхема ESS688

звуковая микросхема ES1370

звуковая микросхема ES1371

Ensoniq AudioPCI (ES1370)

Ensoniq AudioPCI 97 (ES1371)

Ensoniq SoundScape (и совместимые произведенные Reveal и Spea)

Gallant SC-6000

Gallant SC-6600

Gravis Ultrasound

Gravis Ultrasound ACE

Gravis Ultrasound Max

Gravis Ultrasound с возможностью 16-битной дискретизации

HP Kayak

Highscreen Sound-Booster 32 Wave 3D

IBM MWAVE

Logitech Sound Man 16

Logitech SoundMan Games

Logitech SoundMan Wave

MAD16 Pro (наборы микросхем OPTi 82C928, 82C929, 82C930, 82C924)

Media Vision Jazz16

MediaTriX AudioTriX Pro

Microsoft Windows Sound System (MSS/WSS)

MiroSOUND PCM12

Mozart (OAK OTI-601)

OPTi 82C931

Orchid SW32

Personal Sound System (PSS)

Pinnacle MultiSound

Pro Audio Spectrum 16

Pro Audio Studio 16

Pro Sonic 16

Roland MPU-401 MIDI-интерфейс

S3 SonicVibes

SY-1816

Sound Blaster 1.0

Sound Blaster 2.0

Sound Blaster 16

Sound Blaster 16ASP

Sound Blaster 32

Sound Blaster 64

Sound Blaster AWE32

Sound Blaster AWE64


Sound Blaster PCI 128

Sound Blaster Pro

Sound Blaster Vibra16

Sound Blaster Vibra16X

нотебук TI TM4000M

Terratec Base 1

Terratec Base 64

ThunderBoard

Turtle Beach Maui

Turtle Beach MultiSound Classic

Turtle Beach MultiSound Fiji

Turtle Beach MultiSound Hurricane

Turtle Beach MultiSound Monterey

Turtle Beach MultiSound Pinnacle

Turtle Beach MultiSound Tahiti

Turtle Beach WaveFront Maui

Turtle Beach WaveFront Tropez

Turtle Beach WaveFront Tropez+

VIA chip set

VIDC 16-bit sound

звуковая микросхема Yamaha OPL2

звуковая микросхема Yamaha OPL3

звуковая микросхема Yamaha OPL3-SA1

звуковая микросхема Yamaha OPL3-SA2

звуковая микросхема Yamaha OPL3-SA3

звуковая микросхема Yamaha OPL3-SAx

звуковая микросхема Yamaha OPL4

Немного о совместимости: Хотя множество звуковых карт объявлено как совместимые с SoundBlaster, только некоторые из продающихся карт совместимы настолько, что могут работать с драйвером SoundBlaster в Linux. Эти карты обычно работают лучше используя драйвера для MSS/WSS или MAD16. Только настоящие карты SoundBlaster, произведенные Creative Labs, которые используют традиционные микросхемы Creative (например SoundBlaster16 Vibra), MV Jazz16 и основанные на ESS688/1688 карты в общем работают с драйвером SoundBlaster. Попытка использования SoundBlaster Pro совместимых 16-битных звуковых карт с драйвером SoundBlaster-- обычно только потеря времени.

Ядро Linux поддерживает SCSI порт, имеющийся на некоторых звуковых картах (например ProAudioSpectrum 16) и фирменный интерфейс для некоторых приводов CD-ROM (например Soundblaster Pro). Смотрите документы Linux и для более детальной информации.

Драйвер для поддержки порта джойстика, включая те, которые имеются не некоторых звуковых картах, включен как часть ядер серии 2.2.

Заметим, что драйвера ядра для SCSI, CD-ROM, джойстика, и звука полностью независимы друг от друга.


Модули


Модули (в компьютерной музыке)-- цифровые музыкальные файлы, составленные из набора примеров и последовательностной информации, сообщающей проигрывателю когда играть какому примеру (инструменту) на какой дорожке на каком уровне, при необходимости производя эффекты, например подобные vibrato.

Первое преимущество по сравнению с MIDI в том, что можно включать почти любой тип звука (включая человеческие голоса). Другое в том, что звуки почти теже самые на любой платформе, потому-что разные звуки находятся в модуле. Недостаток в том, что модули имеют намного больший размер файла по сравнению с MIDI. Другой недостаток в том, что нет реального стандартного формата (`реальный' формат -- ProTracker, с которым множество модулей не полностью совместимо). Он перенесен с Amiga.

Наиболее общий формат имеет расширение .mod. Существует много других расширений, зависящих от того в каком они формате.



Adagio


Этот пакет включает mp (проигрыватель MIDI-файлов командной строки) и xmp (основанный на XView проигрыватель MIDI-файлов, не путайте с проигрывателем модулей, также называемом xmp). Вам понадобится расширения SlingShot для использования xmp. Он также содержит другие программы для проигрывания партитур Adagio.

Если у вас установлена карта GUS, mp может также проигрывать MOD-файлы (смотри раздел для более детальной информации).

Одна маленькая раздражающая ошибка (в версии 0.5 на некоторых оборудовании) в том, что звук прерывается в конце. А именно, вместо окончания звука путем, который определяет MIDI-файл, он заканчивает проигрыванием ноты расположенной перед последней в течении длительного интервала. Это не останавливает меня от использования программы mp, но это может остановить кого-нибудь от использования ее для `настоящей' работы. Также стартует она относительно медлено.

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

Этот пакет является переносом пакета CMU MIDI Toolkit в Linux (хотя было сделано довольно много добавлений, чтобы считать это сомнительным), перенос сделан Greg Lee (lee@uhunix.uhcc.hawaii.edu).

Он может быть получен с . Включенные исполняемые файлы в формате a.out (слинкованы с древними библиотеками) и исполняемый файл xmp вызывает segfault в среде X11R6 (XFree86 3.1.1, libc 4.7.2). Исполняемый файл mp превосходно работает в среде a.out.

Вам необходимо сделать исправления для компиляции пакета. Это не так много. Все что необходимо сделать-- включить опцию -lfl в конец строк SHROBJ и XMPOBJ в Makefile. Это для подключения библиотеки flex, которая не линкуется по умолчанию. Затем следуйте инструкциям по установке. И не забудьте установить XView и расширения SlingShot, если вы хотите скомпилировать xmp.



Amp


Этот проигрыватель звука MPEG, в стадии beta, имеет поддержку только для звуковых потоков MPEG уровня 3. Он умеет проигрывать прямо на звуковую карту и может делать вывод в необработанные (raw) PCM или WAV-файлы. Он также дает довольно большую загрузку процессора (примерно 60% мощности 133MHz Pentium).

Программа была написана Tomislav Uzelac (tuzelac@rasip.fer.hr). Она может свободно использоваться и распространятся, также она не может продаваться без разрешения (хотя включение ее в CD-ROM, которые содержат свободное программное обеспечение откровенно разрешается).

Она может быть получена с .



Bplay


Эта программа (в стадии beta) проигрывает необработанный (raw) звук, файлы WAV и VOC. Также она умеет записывать эти файлы. Она использует разные приемы для ускорения работы, так что она может приемлимо работать даже на медленных машинах. Один их этих приемов требует, чтобы установленная программа имела администраторский setuid. Параноическая надежда на использование этого может заставить использовать Debian-пакет Ian Jackson (ijackson@gnu.org), который запрещает свойство, которое нуждается в установленном бите setuid.

Автор программы David Monro (davidm@gh.cs.usyd.edu.au).

Она может быть получена с .



Cat


Кто-то может подумать, что cat-- часто используемая утилита соединения, имеет общего с проигрыванием звука. Я покажу ее использование на примере.

$ cat sample.voc > /dev/dsp $ cat sample.wav > /dev/dsp $ cat sample.au > /dev/audio

Выполнение cat .au файла на устройство /dev/audio обычно будет работать, и также если вы достаточно удачливы, что ваш файл имеет правильный порядок байтов (для вашей платформы) и т.п., выполнение cat звуковoго файла, который использует PCM алгоритм (подобно .wav

или .voc) на устройство /dev/dsp должно выводить правильный звук.

Использование cat не является полностью бесполезным. Оно может быть полезным например, если вы имеете звуковой файл, который не распознает ни одна из ваших программ, и вы знаете что файл использует PCM алгоритм, тогда вы этим способом можете получить приблизительную идею о том, в каком формате находится этот файл (если вы удачливы).



Другие полезные утилиты


Этот раздел не имеет ничего общего с настоящим проигрыванием звуковых файлов. Вернее сказать это набор некоторых звуковых утилит, некоторые из которых могут быть полезными.



Другие вещи


Эта секция перечисляет вещи, которые проигрывают звуковые форматы, которые не заслуживают отдельного раздела (т.е. форматы, у которых доступен только один проигрыватель), или проигрыватели, которые играют больше одного формата.



BASH Programming - Введение


Это проигрыватель музыкальных модулей для карты Gravis Ultrasound . Поддерживаемые форматы: 4/6/8 каналов MOD, 8 каналов 669, MultiTracker (MTM), UltraTracker (ULT), FastTracker (XM), и ScreamTracker III (S3M).

Программа требует драйвер звука версии 3.0 или большей. И конечно GUS. Вам может понадобится модифицировать ядро, чтобы заставить работать контроль громкости как вам необходимо.

Программа имеет X интерфейс. Она использует QT toolkit (необходима версия 0.99 или выше). Смотрите для информации о QT.

Программа может свободно распространятся. Она была написана Hannu Savolainen, и сейчас сопровождается Andrew J. Robinson (robinson@cnj.digex.net).

Она может быть получена с .



Как получить этот документ


Наиболее свежая официальная версия этого документа может быть получена с . Наиболее свежая неофициальная версия этого документа может быть получена с .

Корейская версия этого документа (очень старая) доступна на .

Японская версия этого документа доступна с



Этот проигрыватель звуковых потоков MPEG


Этот проигрыватель звуковых потоков MPEG имеет поддержку для потоков уровня I и уровня II, и отсутствует поддержка для потоков уровня III. Он поддерживает 16-битные звуковые карты в Linux.

Программа довольно интенсивно загружает процессор, берет примерно 55% мощности процессора на 60MHz Pentium. Вывод совершенно невыносим на 66MHz 486 потому-что процессор не может догнать звук. Если это случилось, попытайтесь проигрывать только одну сторону звукового потока (с опциями -l или -r), вместо стерео по умолчанию.

Небольшое изменение в одном из файлов может быть необходимо для того, чтобы скомпилировать программу. А именно, вам может быть необходимо добавить следущую строку в начало файла configuration.sh.

#! /bin/sh

Автор программы Tobias Bading (bading@cs.tu-berlin.de). maplay 1.2 может быть получена с .


Maplay 1.3b


Это неофициальная модификация (т.е. сделанная не автором) программы maplay 1.2, так что она может работать с меньшей загрузкой процессора. Это в основном достигается созданием u-law вывода, действительно работающего на других системах кроме SPARC. Заметим, что она использует u-law по умолчанию, так что качество звука хуже.

Изменения сделаны Orlando Andico (orly@gibson.eee.upd.edu.ph).

Она может быть получена с .



Это другая производная программы maplay


Это другая производная программы maplay 1.2. В ней добавлена поддержка звуковых потоков MPEG уровня 3. В настоящее время она имеет некоторые ошибки в проигрывании (вы можете слышать некоторые визжащий шум). Вы можете поиграться с опциями, чтобы избавится от этого.

изменения были сделаны Timo Jantunen (timo.jantunen@hut.fi или jeti@cc.hut.fi). Он говорит, что программа может быть использована свободно, но делать на ней деньги не разрешается. Однако я не полностью уверен в правильности таких авторских прав, так как оригинальная программа maplay находится под действием GNU General Public License, которая не позволяет производным работам иметь отличающиеся авторские права.

Она может быть получена с .


MIDI


MIDI обозначает Интерфейс Устройства Музыкальных Инструментов (Musical Instrument Device Interface). MIDI-файлы обычно имеют расширение .mid. Они содержат упорядоченную информацию, то есть, информацию о отм когда играть, какому инструменту, каким способом, и т.п. В зависимости от вашего оборудования (и может быть использовано программное обеспечение для проигрывания файлов), звук может быть внушающим благоговение или может быть совершенно радостным (downright crappy).



MikMod


Этот переносимый проигрыватель модулей проигрывает форматы XM, ULT, STM, S3M, MTM, MOD и UNI. (Формат UNI внутренний формат используемый MikMod.) Он имеет поддержку сжатых файлов. Программа использует 16-битное стерео для вывода. Используйте опцию -m (для моно вывода), если вам нужен легкий способ уменьшить загрузку процессора.

Unix-версия может использовать либо ncurses либо Tcl/Tk для своего интерфейса. Она также может использоваться как библиотека, а не только как независимая программа.

Программа была написана by Jean-Paul Mikkers (mikmak@via.nl). Сейчас она сопровождается Jake Stine (dracoirs@epix.net). Она является shareware, так что вы должны зарегистрировать ее, если хотите использовать ее в коммерческих целях. Также вам необходимо разрешение для ее коммерческого распространения (не коммерческое распространение не нуждается в таком разрешении).

Она может быть найдена на .



Mod


Эта бета программа проигрывает MOD-файлы (15/31-инструментов, до 32 голосов), MTM, ULT и S3M на карте Gravis Ultrasound. Она может также использовать упакованные модули, если у вас установлены gzip, lharc, unzip, и unarj. Она не может проигрывать Powerpacked модули или модули, упакованные некоторыми программами Amiga (сигнатура "PACK").

Программа требует по крайней мере версию 3.0 звукового драйвера. Она не будет работать с версией 2.90-2 звукового драйвера или более ранними. Текстовый интерфейс требует ncurses. Также включен X интерфейс, который использует Tcl/Tk.

Программа была написана Mikael Nordqvist (mech@df.lth.se or d91mn@efd.lth.se).

Она может быть получена по

с sunsite.unc.edu файл /pub/Linux/apps/sound/players/mod-v0.81.tgz.



программа эффективный проигрыватель звуковых потоков


Эта beta- программа эффективный проигрыватель звуковых потоков MPEG, который имеет поддержку уровней I, II и III. Он основан на коде из многих источников. Он может проигрывать в реальном времени потоки, читаемые по HTTP (т.е. программа может играть звуковые потоки MPEG прямо через World Wide Web).

Главный автор Michael Hipp (Michael.Hipp@student.uni-tuebingen.de). Программа может использоваться и распространятся свободно в не модифицированной форме для некоммерческих целей. Включение в наборы свободного программного обеспечения (такие как CD-ROM копии FTP серверов) явно разрешается.

Последние версии могут быть получены с .


Nspmod


Этот проигрыватель модулей, в alpha стадии, может проигрывать модули MTM, S3M и MOD. Он предназначен проигрывать модули на звуковых картах без DSP (не путайте с тем, что Creative Labs называет DSP). Он имеет загрузку процессора примерно сходную с tracker.

Он имеет свойство, которое позволяет модулям зацикливаться, если они хотят это. Количество циклов может быть ограничено опцией -l. Программа использует только 8-битный вывод звука (в версии 0.1).

Программа написана Toru Egashira (toru@jms.jeton.or.jp).

Она может быть получена с .



Playmidi


Это проигрыватель MIDI, который играет на FM, GUS, и внешние MIDI-устройства. Считается, что он быстрее стартует по сравнению с другими проигрывателями MIDI. Также он умеет проигрывать файлы Creative Music, файлы Microsoft RIFF, и большие архивы MIDI из игр, таких как Ultima 7.

Программа имеет X и SVGA интерфейсы. Он также имеет опцию для проигрывания в реальном времени с отслеживанием всех нот на каждом канале и часы, показывающие время проигрывания (включаемые автоматически в xplaymidi и splaymidi).

Вы должны делать подобно этому

$ splaymidi foo.mid; stty sane

Если вы используете SVGA интерфейс, он не сбрасывает правильно tty режим терминала. SVGA интерфейс может быть убран в ближайшем будущем.

Программа была написана Nathan Laredo (laredo@gnu.org or laredo@ix.netcom.com).

Она может быть получена с .



Проигрывание различных форматов звука


Существует множество форматов звука (WAV, MIDI, MPEG и т.д.). Ниже перечислены различные форматы и приложения, которые могут проигрывать их.



Проигрыватель RealAudio


Эта программа позволяет слушать звук, который хранится в патентованном формате, в реальном времени через Internet без загрузки сначала всего файла. Она может использоваться автономно, но реально она предназначена для использования с web browser (явно поддерживаются Mosaic и Netscape). Она не может использоваться без X (вы не сможете заставить ее работать с Lynx в текстовой консоли).

Однако существует исправление, которое позволяет запустить проигрыватель RealAudio на текстовой консоли. Эта утилита требует для работы сервер X virtual frame buffer (Xvfb). Утилита может быть получена с .

Программа создана Progressive Networks, Inc. Она не может распространятся, модифицироваться и т.п. Смотрите лицензию для точных деталей о том что вы можете с ней делать. Она может быть получена при бесплатной регистрации с .



S3mod


Это программа проигрывает 4/6/8 дорожечные MOD модули и модули Scream Tracker 3. По умолчанию она использует 8-битный моно вывод со скоростью дискретизации 22000 Hz. Вы можете использовать опцию -s для включения стерео режима, -b для 16-битного вывода, и -f для установки частоты дискретизации. Однако выводимый звук хуже чем у tracker (некоторый шум), так что я рекомендую использовать tracker вместо s3mod для проигрывания обычных MOD-файлов (если у вас мощная машина). Программа производит меньшую загрузку процессора по сравнению с tracker.

Авторские права принадлежат Daniel Marks и David Jeske (jeske@uiuc.edu), но вы можете делать с программой все что угодно (за исключением, что вы не можете объявить, что написали ее).

Программа может быть получена с .



Sajber Jukebox


Эта программа является проигрывателем звуковых потоков MPEG с графическим интерфейсом пользователя. Она основана на splay, так что включает поддержку для звука MPEG до уровня III. Также она может проигрывать в реальном времени звуковые потоки MPEG, пересылаемые по HTTP. Также она легка для настройки.

Программа используетe QT toolkit (требуется по крайней мере версия 1.2). Она также использует библиотеку LinuxThreads (поставляемый исполняемый файл работает только с библиотекой версии 0.5).

Автор Joel Lindholm (wizball@kewl.campus.luth.se).

Последние версии могут быть получены с .



в действительности конвертер, который преобразует


Это в действительности конвертер, который преобразует звуковые потоки MPEG уровня 3 в WAV, AIFF, SND, AIFC, или просто необработанные (raw) PCM звуковые файлы. Linux-версия не производит прямой вывод звука на звуковую карту. Необходимо сначала сконвертировать файл в какой-то другой формат.

Однако, когда вы попытаетесь проиграть сконвертированный файл используя sox, вы скорее всего получите просто шум, потому-что порядок слов в PCM-примере неправилен (по крайней мере на платформах Intel). Вам необходимо задать sox опцию -x для решения этой проблемы. Но существуют другие проигрыватели, которым нельзя сказать, что порядок слов неправильный, так что вы не должны беспокоится об этом.

Если у вас действительно быстрый компьютер (по крайней мере 100Mhz Pentium), то вы можете попробовать проигрывать потоки MPEG уровня 3 прямо, без преобразования звукового файла в другой формат, подобно следующему примеру (в этом примере предполагается, но вы используете sox и проигрываете звуковой пример стерео 44.1 kHz).

$ l3dec foo.mp3 -sto | play -t raw -x -u -w -c 2 -r 44100 -

Число после ключа -r является скоростью дискретизации звукового потока, а число после -c зависит от того является ли поток моно или стерео (или квадро). Если это выглядит слишком сложно, то вы можете использовать что-то подобное скрипту или алиасу.

Эта программа является shareware, авторские права принадлежат Fraunhofer-IIS. Демо-версия для Linux на системах x86 может быть получена с . Демо-версия преобразует только звуковые потоки уровня III.


SIDPLAY


Эта программа эмулирует микросхему Sound Interface Device (MOS 6581, обычно называемую SID) и Micro Processor Unit (MOS 6510) компьютера Commodore 64. Поэтому она умеет загружать и выполнять программы в коде машины C64, которые воспроизводят музыку или звук. В основном это независимые фрагменты кода и данных, которые были вырезаны из игр и демонстрационных программ и перенесены прямо с C64.

Программа использует командно-строковый интерфейс по умолчанию. Отдельно от основного пакета доступны интерфейсы на основе Tk и QT.

Программа сопровождается Michael Schwendt (sidplay@geocities.com).

Она может быть получена с .



Sound Studio


Это приложение на Tcl/Tk, которое поддерживает проигрывание, запись и редактирование оцифрованного звука используя sox. Оно включает sox в дистрибутив, чтобы избежать проблем совместимости.

Оно было написано Paul Sharpe и N. J. Bailey (N.J.Bailey@leeds.ac.uk). Оно может свободно использоваться и распространятся, если будет послана почтовая карточка.

Программа может быть найдена на .



Sox


Эта программа на самом деле является конвертером, так что она преобразует один формат звука в другой. Однако, некоторые версии sox, когда запускаются как play, проигрывают звук (приложение play в Sound HOWTO вероятно ссылается на него). Она поддерживает форматы двоичные raw (без заголовка) и текстовые данные, звуковые файлы IRCAM, Sound Blaster .voc, SPARC .au (без заголовка), Mac HCOM, PC/DOS .sou, Sndtool и Sounder, NeXT .snd, Windows 3.1 RIFF/WAV, Turtle Beach .smp, CD-R, и Apple/SGI AIFF и 8SVX.

Иногда в ядрах 1.3.6x, вам может понадобится сделать небольшое изменение в одном файле, чтобы заставить программу проигрывать звук прямо на звуковую плату. А именно, вам может понадобится изменить строку 179 в файле sbdsp.c с

if (abuf_size < 4096 abuf_size > 65536) {

на

if (abuf_size < 1 abuf_size > 65536) {

Но тем не менее вы можете не делать этого. Но это исправление не сломает ничего.

Программа была написана и имеет авторские права многих людей, и может использоваться для любых целей.

Она может быть получена с .

Более свежая версия Chris Bagwell (cbagwell@sprynet.com) (основанная на последней gamma-версии оригинальной программы sox, и включает некоторые исправления) может быть получена с . В добавление к остальным возможностям эта версия поддерживает форматы MS ADPCM и IMA ADPCM WAV.



Splay


Этот проигрыватель, в стадии beta, является другой производной maplay 1.2 (по настоящему, он является производной maplay 1.2+, которая является производной maplay 1.2 только для MS Windows). В программе добавлена поддержка звуковых потоков MPEG уровня 3. Также программа умеет проигрывать WAV-файлы. Она может проигрывать звуковые потоки, пересылаемые через an HTTP-соединения.

Другая возможность splay в том, что программа может использоваться как библиотека (под действием LGPL), так что она может использоваться в других программах. Она также пытается улучшить производительность за счет использования многопотоковости (вам необходима библиотека pthread для использования этой возможности) и маленьких кусков встроенного ассемблерного кода.

splay использует командно-строковый интерфейс и по выбору X интерфейс (который использует QT).

Если после компиляции программа не работает (например она вызывает segmentation faults), попробуйте откомпилировать ее без использования потоков.

Автор Jung Woo-jae (jwj95@eve.kaist.ac.kr).

Она может быть получена с .



Ссылки


Документация поставляемая с приложениями, описанными в этом документе.

The Linux Sound HOWTO. Он может быть найден на .



Tickle Music


Эта beta-программа на Tcl/Tk является броузером музыкальных файлов, который позволяет проигрывать различные звуковые форматы если соответствующие программы находятся в системе. По умолчанию gmod используется для проигрывания MOD-файлов mp для проигрывания MIDI-файлов (вы можете изменить исходные тексты для использования других программ).

Программа была написана Shannon Hendrix (shendrix@pcs.cnu.edu

или shendrix@escape.widomaker.com).

Она может быть получена с .



TiMidity


Некоторые люди рекомендуют эту экспериментальную программу, потому-что она производит хорошее качество звука (это правда, она много лучше чем mp на Sound Blaster 16, хотя она вероятно не будет сильно отличаться на звуковых картах с волновым (wavetable) синтезом подобных GUS). Однако, она страдает от сильной загрузки процессора. Она проигрывает MIDI-файлы сначала конвертируя MIDI в WAV и затем проигрывает WAV (вы можете также конвертировать MIDI-файл в WAV-файл без проигрывания если вы хотите). Это причина интенсивной загрузки процессора.

Она также имеет опциональный интерфейс на основе ncurses, SLang, Tcl/Tk или Motif.

Вам необходимо иметь файлы заплаток (patche files) Gravis Ultrasound для использования программы. Посмотрите в FAQ, поставляемый с TiMidity для большей информации.

Автор Tuukka Toivonen (tt@cgs.fi).

Последняя версия TiMidity может быть найдена на . Эта страница также содержит ссылку на небольшую библиотеку заплаток для GUS.



Tracker


Эта очень переносимая программа (она была перенесена на много платформ) проигрывает музыкальные модули Soundtracker и Protracker. Она использует 16-битный стерео вывод, и я считаю, что качество очень хорошее. Если вы хотите простой способ уменьшить загрузку процессора, используйте опцию -mono.

Эта программа является giftware (цитата автора). Автор программы Marc Espie (Marc.Espie@ens.fr).

Версия с Makefile уже подготовленным для Linux может быть получена с .



Volume


Это простая программа с командно-строковым интерфейсом для контроля громкости (что еще это может быть?). Она также имеет отдельную программу с Tcl/Tk интерфейсом включенную в пакет для контроля громкости и проигрывания звуковых файлов .au. Также включен очень простой проигрыватель CD-дисков на Tcl/Tk CD.

Программа является Freeware и была написана Sam Lantinga (slouken@cs.ucdavis.edu).

Она может быть получена с .



Этот документ называется Sound Playing


Этот документ называется Sound Playing HOWTO. В нем перечисляется множество звуковых форматов и приложения, которые могут использоваться для их проигрывания. Также перечислены некоторые приемы и советы для их использования. Также перечислены некоторые другие интересные приложения, относящиеся к звуку, но не относящиеся к проигрыванию звука. Однако этот документ не
описывает как настроить поддержку звука в Linux. Смотрите Linux Sound HOWTO написанный Jeff Tranter для инструкций по установке поддержки звука в Linux и списка поддерживаемого оборудования.
Этот документ связан с звуковыми приложениями для нормального пользователя. Так что, этот документ сосредоточен на том, что должен знать средний пользователь о звуковых приложениях, а не экзотических разделах подобно синтезу речи, или об оборудовании, с которым связан Sound HOWTO.

, Wacko@laplace.snu.ac.kr, перевод Alex Ott ott@phtd.tpu.edu.ru


v1.6, 11 августа 1998

В этом документе перечислены приложения для Linux, для проигрывания разных форматов звука.

Примечание переводчика: Шлите мне любый комментарии и замечания, даже небольшие.



WAV


Цитата из справочной страницы (man page) sox:

Файлы кажутся очень похожими на IFF-файлы, но не теже самые. Они являются родным форматом звуковых файлов Windows 3.1. Очевидно Windows 3.1 является такой невероятно важной в компьютерной индустрии, что она должна иметь свой собственный формат звуковых файлов.

Файлы обычно имеют расширение .wav.

Также смотрите разделы и для других проигрывателей WAV, кроме перечисленных ниже.



Wavplay


Эта программа поддерживает проигрывание и запись в формате WAV. Она использует блокирование, так что только один звук может проигрываться в одно и тоже время. Ее блокирующие возможности могут использоваться отдельно от ее способности проигрывания звука.

В добавление к интерфейсу командной строки, она также имеет интерфейс на Motif, который может использоваться с Lesstif.

Программа была первоначально написана Andre Fuechsel (af1@irz.inf.tu-dresden.de), но развивалась до точки, когда была полностью переписана Warren W. Gay (bx249@freenet.toronto.on.ca или wwg@ica.net).

Она может быть получена с .



X11Amp


Это программное обеспечение в стадии beta является проигрывателем звуковых потоков MPEG с графическим интерфейсом, сходным с тем который использует программа для Windows winamp.

Нигде не упомянуто об авторских правах (я предполагаю, что программа может быть свободно использована в личных целях). Она сопровождается Mikael Alm (psy@x11amp.bz.nu), Thomas Nilsson (fatal@x11amp.bz.nu), и Olle Hallnas (crocodile@x11amp.bz.nu).

Она может быть получена с . Здесь доступны исполнимые файлы только для Intel Linux и FreeBSD.



XAudio


Эта библиотека, в стадии alpha, была написана как быстрая реализация библиотеки звукового декодирования MPEG для использования различными надстройками с графическим интерфейсом пользователя. Она поддерживает звук MPEG уровней I, II и III. Она способна осуществлять произвольный доступ к битовым потокам. В поставку включен командно-строковый интерфейс. Также в Linux версию включена надстройка на базе Motif (Lesstif).

Пакет написан Gilles Boccon-Gibod, Alain Jobart и другими. Надстройки к библиотеке могут быть загружены свободно. Сама библиотека должна быть лицензирована (доступны лицензии для исходной и бинарной формы библиотеки).

Надстройки к библиотеке могут быть получены с .



Xmp


Это проигрыватель модулей (не путайте с Adagio xmp), который может проигрывать модули MOD, S3M, MTM, PTM, PTR, STM, 669, и XM (другие форматы также поддерживаются, но все еще в экспериментальной фазе или неполная реализация) Если у вас карта с волновым (wavetable) синтезом (GUS или SoundBlaster 32AWE), тогда вы можете использовать это свойство звуковой карты для уменьшения загрузки процессора.

X оболочка к xmp также доступна.

Программа была написана Claudio Matsuoka (claudio@lobo.inf.ufpr.br) и Hipolito Carraro Jr.

Она может быть найдена на .



Yampmod


Эта программа, в alpha стадии, была спроектирована для проигрывания 4-х канальных модулей, используя минимум ресурсов процессора. Она не была спроектированы для проигрывания высококачественного звука. Так что производимый звук является 22 kHz моно звуком. Также, вывод не так чист как должен, отражая альфа-статус программы.

Она была написана David Groves (djg@djghome.demon.co.uk).

Программу можно получить с .



Звуковые потоки MPEG


MPEG является стандартом, определяющим кодирование видеоинформации и ассоциированной с ней звука для цифрового хранения. MPEG обычно ассоциируется с видео, но звуковая часть стандарта может использоваться отдельно. Звуковая часть стандарта MPEG определяет три уровня, уровень I, II, и III. Проигрыватель, который может декодировать более высокий уровень, также может декодировать более низкий уровень (например проигрыватель уровня III может проигрывать файлы уровня II). Звуковые файлы MPEG уровня I обычно имеют расширение .mpg (так если имеется файл с таким расширением, который не может проигрываться MPEG видео-проигрывателем, то скорее всего это звуковой поток), уровень II обычно имеет расширение .mp2, и уровень III обычно имеет расширение .mp3. Сжатие звука довольно хорошее. 2-х мегабайтный звуковой файл MPEG уровня II будет скорее всего занимать 25 мегабайт в виде необработанного PCM звукового файла с тем же качеством.