Звук в Linux HOWTO, v1.19, 23 Января 1998 г.

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

[Jeff Tranter, перевод: Alex Ott]

62. Введение

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

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

62.1 Благодарности

Большинство этой информации получено из документации идущей с исходными текстами звукового драйвера, написанного Hannu Savolainen ( hannu@voxware.pp.fi). Спасибо Hannu и многим другим людям, кто разработал звуковой драйвер для ядра Linux и различные утилиты.

Благодарность пакету SGML Tools, этот документ доступен в разных форматах, которые сгенерированы из общего исходного файла.

62.2 Обзор историй

Версия 1.1

первая версия; отправлена только в раздел SOUND списка рассылки активистов Linux

Версия 1.2

мелкие обновления; первая версия доступная на архивных серверах

Версия 1.3

преобразована в SGML; сейчас доступна в разных форматах используя пакет Linuxdoc-SGML Matt Welsh'а Linuxdoc-SGML; внешние изменения из-за нового формата, небольшие изменения в содержимом

Версия 1.4

небольшие tweaking of SGML; добавлен ответ о несовместимости PAS16 и SCSI адаптера Adaptec1542A SCSI

Версия 1.5

звуковой драйвер 2.5a в ядре 1.1; замечания о поддержке GUS-MAX; другие мелкие изменения

Версия 1.6

добавлена информация об ошибке "no space on device (нет места на устройстве)"; добавлено замечание о том, что руководство хакера (Hacker's Guide) находится в скрытой директории; добавлены вопросы о двунаправленном режиме; информация об ошибках "device busy (устройство занято)"; другие мелкие изменения

Версия 1.7

добавлена информация о ASP и AWE32; доступен VoxWare 2.9; ответ на вопрос об использовании IRQ2; ссылки на информационный ресурсы о звуке и SCSI HOWTO

Версия 1.8

добавлен вопрос об ошибках под DOS; много мелких обновлений для соответствия драйверу звука версии 2.90; информация о DOOM'е; ответ об уменьшении шума

Версия 1.9

вопросы о записи и кланах звуковых карт

Версия 1.10

Упомянуто, что HOWTO доступен на WWW, как печатная копия и переводы; информация о конфликте DMA с ленточным устройством QIC; информация о Sound Galaxy NX Pro и Logitech BusMouse

Версия 1.11

Долгожданное обновление (я был занят); документ помещен под действие GPL; изменения для версии 3.0 звукового драйвера; информация о многих новых поддерживаемых драйверах звуковых карт; больше информации о настройке и разрешении проблем; добавлены ссылки на ресурсы в HTML; приведен в соответствие с форматом CD-ROM HOWTO

Версия 1.12

новый драйвер звука в ядре 1.3.34; новые имена звукового устройства; адрес 1542 address равен 334 не 333; разъяснен статус Creative Labs Emu и ASP; ссылки на Web-сервера Creative Labs и MediaTrix

Версия 1.13

замечание об имени VoxWare; обновления для отражения последних поддерживаемых звуковых картах и опциях настройки; вопрос о поддержке Plug and Play; вопрос о проблеме размера блока; новые опции xconfig и menuconfig; modutils имеют поддержку звуковых устройств; список рассылки vger прекратился; указан Web-сервер автора; другие разные маленькие изменения

Версия 1.14

Audio Excell DSP16 сейчас не поддерживается (должен появится в течении нескольких месяцев); изменения в программу настройки; доступна итальянская версия документа; приемы для установки mixer gains во время загрузки модуля звука; последнее стабильное ядро---2.0; новое имя для звукового драйвера; вопрос о правах администратора на файлы звукового устройства

Версия 1.15

удалены некоторые вопросы, которые были слишком старыми и теперь устарели; новый адрес электронной почты автора; исправлены некоторые ссылки для указания на последние пакеты программного обеспечения; больше информации о мультимедиа книгах; небольшие изменения в грамматике и правописании

Версия 1.16

много обновлений и исправлений от Hannu Savolainen; добавлен шестимесячная дата "годности"; новый URL на страницу для книг; добавлена ссылка на испанский перевод; небольшие изменения в грамматике и правописании

Версия 1.17

Доступна китайская версия; альтернативный драйвер GUS; пакетный радио модем; руководство по мультимедиа в Linux доступно на японском и французском; ссылки на набор соответствующих mini-HOWTO; указатель на IBM ThinkPad

Версия 1.18

доступен корейский перевод; больше информации о статусе звука в MIPS; обновлена информация о поддержке нескольких звуковых карт; должен быть администратором для запуска fuser

Version 1.19

добавлены индексные записи; документ помещен под действие лицензии LDP вместо GPL

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

Новые версии этого документа будут периодически посылаться в группу новостей comp.os.linux.answers. Они также будут выгружаться на разные анонимные ftp-сервера, которые содержат такую информацию, включая ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/.

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

Французский перевод этого документа доступен на ftp://ftp.ibp.fr/pub2/linux/french/docs/HOWTO/.

Японский перевод доступен с http://yebisu.ics.es.osaka-u.ac.jp/linux/.

Итальянская версия доступна с http://www.psy.unipd.it/ildp/docs/HOWTO/Sound-HOWTO.html.

Испанский перевод доступен на http://www.insflug.nova.es/howtos/online/sonido/sonido-COMO.html.

Китайская версия доступна на http://linux.ntcic.edu.tw/~yorkwu/linux/howto/sound/.

Корейский перевод доступен с http://members.iWorld.net/mangchi/HOWTO/Sound-HOWTO.html.

Большинство переводов этого и других Linux HOWTO могут также найдены на http://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/ и ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/translations/.

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

62.4 Обратная связь

Я надеюсь, что этот документ будет полезен для читателей. Если вы имеете любые предложения, исправления или замечания, пожалуйста посылайте их мне tranter@pobox.com, и я буду пытаться включить их в следующую версию.

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

Если вы опубликуете этот документ на компакт диске или в печатном виде, должна быть дарственная копия. Напишите мне для получения моего почтового адреса. Также считаю, что необходимо сделать пожертвование в адрес Linux Documentation Project для помощи в поддержке свободной документации для Linux. Свяжитесь с координатором Linux HOWTO, Tim Bynum mailto:linux-howto@sunsite.unc.edu, для более детальной информации.

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

Авторские права (c) 1995-1998 by Jeff Tranter. Этот документ может быть распространен в терминах лицензии LDP на http://sunsite.unc.edu/LDP/COPYRIGHT.html.

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

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

Звук это аналоговое свойство; он может принимать любое значение в бесконечном ряду. Компьютеры являются цифровыми; Они предпочитают работать с дискретными величинами. Звуковые карты используют устройство известное как Аналогово-Цифровой Преобразователь (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, с помощью соответствующего программного обеспечения.

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

В этом разделе перечисляются звуковые карты и интерфейсы поддерживаемые в настоящее время в Linux. Информация основана на последнем на время написания ядре Linux.

Драйвер звука имеет свою нумерацию версий. Последняя стабильная версия ядра -- 2.0.33, используемый драйвер звука имеет версию 3.5.4-960630.

Автор драйвера звука, Hannu Savolainen, обычно делает доступными новые бета-версии звукового драйвера, до того как они станут частью стандартного дистрибутива ядра Linux. Наиболее свежий список поддерживаемых карт доступен на http://www.4front-tech.com/ossfree/new_cards.html (USA) или http://personal.eunet.fi/pp/voxware/new_cards.html (Европа). На этих страницах указано какая версия драйвера необходима для данного типа звуковой карты или поддержка для нее все еще в стадии разработки. Файл /usr/src/linux/drivers/sound/Readme.cards распространяемый с драйвером звука в ядре содержит информацию о поддерживаемых картах, но он не всегда (современный) up to date.

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

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

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

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

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

SPARC порт Linux в настоящее время не имеет поддержки звука. Подобно Amiga и Atari, SPARC-машины имеют встроенное звуковое оборудование, так что это должно быть сделано в новом драйвере (ирония заключается в том, что в Linux /dev/dsp эмулирует звуковое устройство SunOS).

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

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

  • ATI Stereo F/X (больше не производится)
  • AdLib (больше не производится)
  • Ensoniq SoundScape (и совместимые произведенные Reveal и Spea)
  • Gravis Ultrasound
  • Gravis Ultrasound ACE
  • Gravis Ultrasound Max
  • Gravis Ultrasound с возможностью 16-битной дискретизации
  • Logitech Sound Man 16
  • Logitech SoundMan Games
  • Logitech SoundMan Wave
  • MAD16 Pro (OPTi 82C928, 82C929, 82C930, 82C924 chipsets)
  • Media Vision Jazz16
  • MediaTriX AudioTriX Pro
  • Microsoft Windows Sound System (MSS/WSS)
  • Mozart (OAK OTI-601)
  • Orchid SW32
  • Personal Sound System (PSS)
  • Pro Audio Spectrum 16
  • Pro Audio Studio 16
  • Pro Sonic 16
  • Roland MPU-401 MIDI interface
  • Sound Blaster 1.0
  • Sound Blaster 16
  • Sound Blaster 16ASP
  • Sound Blaster 2.0
  • Sound Blaster AWE32
  • Sound Blaster Pro
  • TI TM4000M notebook
  • ThunderBoard
  • Turtle Beach Tropez ("классическая", но не Plus)
  • Turtle Beach Maui
  • Yamaha FM synthesizers (OPL2, OPL3 и OPL4)
  • 6850 UART MIDI Interface

Должен заметить, что Plug and Play (PnP) звуковые карты не полностью совместимы со старыми не-PnP моделями тех же самых устройств. Например, SoundBlaster16 PnP не полностью совместим с оригинальным SoundBlaster16. Тоже самое правда для карт Soundscape PnP и GUS PnP. Больше информации относящейся к Plug and Play, вы найдете дальше в этом документе.

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

  • Pro Audio Spectrum (оригинальный)
  • Pro Audio Spectrum+
  • старые (основанные на Sierra Aria) звуковые карты произведенные Diamond

Другие звуковые карты объявленные совместимыми с некоторыми совместимыми звуковыми картами могут работать если они совместимы на аппаратном (то есть регистерном) уровне.

Хотя множество звуковых карт объявлено как "совместимые с 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 SCSI HOWTO и CDROM HOWTO для более детальной информации.

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

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

Для последней информации о драйвере звуковых карт смотрите WWW-сервер Hannu Savolainen, указанный в разделе Ссылки.

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

Также существуют некоторые "неофициальные" звуковые драйвера, не включенные в стандартную поставку ядра Linux, и используемые вместо стандартного драйвера звука.

Коммерческая версия драйвера звука для Linux продается компанией 4Front Technologies. Они предлагают дополнительные возможности, которых нет в свободной версии, включенной в ядро Linux. Для более детальной информации смотрите домашнюю страницу 4Front Technologies по адресу http://www.4front-tech.com/.

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

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

Он может быть найден на http://www.cs.colorado.edu/~mccreary/tbeach.

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

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

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

Он может быть найден на ftp://sunsite.unc.edu/pub/Linux/kernel/sound/mpu401-0.2.tar.gz.

Jaroslav Kysela и другие написали альтернативный звуковой драйвер для карты Gravis UltraSound. Информация может быть найдена на http://romeo.pf.jcu.cz/~perex/ultra, домашней странице проекта Linux UltraSound.

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

64.3 PC Speaker

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

Текущая версия 1.1, и может быть найдена на ftp://ftp.informatik.hu-berlin.de/pub/os/linux/hu-sound/

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

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

65. Установка

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

  1. Установка звуковой карты.
  2. Настройка и компиляция ядра для поддержки звука.
  3. Создание файлов устройства.
  4. Загрузка ядра Linux и тестирование.

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

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

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

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

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

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

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

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

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

CHANGELOG         - описание изменений в каждой версии
COPYING           - ограничения копирования и авторские права
Readme            - последнии и наиболее важные новости
Readme.aedsp16    - информация о звуковой карте Audio Excel DSP 16
Readme.cards      - замечания о конфигурировании специфичных карт
Readme.linux      - замечания о раздельной установке звуковых драйверов
Readme.modules    - как построить драйвер как загружаемый модуль
Readme.v30        - новые возможности в драйвере версии 3.0
experimental.txt  - замечания об экспериментальных возможностях

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

Необходимо быть осторожным, когда используются "make xconfig" или "make menuconfig". Все вопросы Yes/No должны быть проверены. Ответ по умолчанию, используемый в этих командах, всегда No, что не всегда правильно. В частности опция "/dev/dsp and /dev/audio support" (CONFIG_AUDIO) обычно должна быть разрешена.

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

Существует 2 разных способа конфигурирования звука. Первый -- это "старый" способ (единственный в ядрах до 2.0.0). Он использует стандартную программу конфигурации, которая является частью драйвера звука. Этот метод работает с большинством карт, исключая редкие карты, которые требуют дополнительных "низкоуровневых" драйверов (карты miroSOUND, AWE32, и AEDSP16 cards).

Второй -- это "новый" способ, который лучше интегрирован с меню-ориентированной программой используемой для недавних (rest) ядер. Однако он не работает с звуковыми картами, которые требуют загрузки фирменных файлов. Это относится к картам PSS, SM Wave, AudioTrix Pro и TurtleBeach Tropez/Maui. С этими картами необходимо использовать старый метод.

"Новый" метод всегда используется командой "make xconfig". Когда используется "make menuconfig", вы можете выбрать между "старым" и "новым" методами. Когда используется "make config", по умолчанию используется "старый" метод. Однако если вы однажды использовали "новый" метод, он также будет использоваться и "make config". Вы можете переключится обратно на "старый" метод запустив "make menuconfig" и выбрав "старый" метод.

Рекомендуемый метод -- использовать "make menuconfig" вместе со "старым" методом настройки звука. Много проблем с настройкой звука возникают (по крайней мере частично) некорректным использованием "нового" метода.

Также возможно скомпилировать звуковой драйвер как загружаемый модуль. Я рекомендую вначале построить драйвер в ядре. После тестирования и работы вы можете использовать в качестве модуля ядра.

Когда вы запускаете make config, разрешите поддержку звука ответом "y" на вопрос

Sound card support (CONFIG_SOUND) [M/n/y/?]

После окончания вопросов настройки, программа настройки звука будет скомпилирована, запущена и запросит какие настройки звуковой карты вы хотите. Будте осторожны, когда отвечаете на эти вопросы, так как неправильный ответ на вопрос может предотвратить задавание некоторых других вопросов. Например, не отвечайте "yes" на первый вопрос (PAS16) если вы не имеете PAS16. Не разрешайте больше карт, чем необходимо, так как вы только потеряете память. Также некоторые драйвера (подобно MPU-401) могут конфликтовать с вашими контроллерами SCSI и не давать загрузиться вашему ядру.

Я перечислю здесь краткие описания каждой из опций конфигурации. Отвечайте "y" (да) или "n" (нет) на каждый вопрос. Ответ по умолчанию показанный как "[Y/n/?]" обозначает "y" по умолчанию и "[N/y/?]" обозначает по умолчанию "n". Для использования значения по умолчанию просто нажмите Enter (Ввод), но помните, что значение по умолчанию не всегда правилен.

Ввод знака вопроса ("?") выведет краткое сообщение, описывающее данную опцию конфигурации.

Заметим, что не все вопросы могут быть заданы. Программа конфигурации может запрещать некоторые вопросы в зависимости от предыдущих ответов. Она также может выбирать некоторые опции автоматически.

Old configuration exists in /etc/soundconf. Use it [Y/n/?] (Старая конфигурация находится в /etc/soundconf. Использовать ее [Д/н/?])

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

ProAudioSpectrum 16 support [Y/n/?] (Поддержка ProAudioSpectrum 16 [Д/н/?])

Ответьте "y" только если вы имеете Pro Audio Spectrum 16, ProAudio Studio 16 или Logitech SoundMan 16. Не отвечайте "y" если вы имеете другую карте произведенную Media Vision или Logitech так как они не совместимы с PAS16.

SoundBlaster support [Y/n/?] (Поддержка SoundBlaster [Д/н/?])

Ответьте "y" если вы имеете оригинальную карту SoundBlaster произведенную Creative Labs или 100% аппаратно совместимый клон (подобно Thunderboard или SM Games). Если ваша карта есть в списке поддерживаемых карт, смотрите специальные инструкции в файле Readme.cards до ответа на этот вопрос. Для неизвестной карты вы можете ответить "y" если карта считается совместимой с SoundBlaster.

Gravis Ultrasound support [Y/n/?] (Поддержка Gravis Ultrasound [Д/н/?])

Ответьте "y" если у вас GUS или GUS MAX. Ответьте "n" если вы не имеете эти карты, так как драйвер тратит некоторое количество памяти.

MPU-401 support (NOT for SB16) [Y/n/?] (Поддержка MPU-401 (НЕ для SB16)[Д/н/?])

Будьте осторожны с этим вопросом. Интерфейс MPU-401 поддерживается пости всеми картами. Однако, некоторые (natively supported) карты имеют собственный драйвер MPU-401. Разрешение опции MPU-401 для этих карт вызовет конфликт. Также разрешение MPU-401 на системах, которые не имеют MPU-401 может вызвать некоторые затруднения. Если ваша карта есть в списке поддерживаемых карт, смотрите специфичные для карты инструкции в файле Readme.cards. Ответ "y" безопасен, если вы имеете карту с настоящим MIDI интерфейсом MPU-401.

6850 UART Midi support [Y/n/?] (Поддержка 6850 UART Midi [Д/н/?])

Ответ "n" на этот вопрос безопасен во всех случаях. Интерфейс 6850 UART очень редко используется.

PSS (ECHO-ADI2111) support [Y/n/?] (Поддержка PSS (ECHO-ADI2111) [Д/н/?])

Ответьте "y" только если вы имеете Orchid SW32, Cardinal DSP16 или другую карту, основанную на наборе микросхем PSS (AD1848 codec + ADSP-2115 DSP chip + Echo ESC614 ASIC CHIP).

16 bit sampling option of GUS (not GUS MAX) [Y/n/?] (16-битная дискретизация в GUS (не в GUS MAX) [Д/н/?])

Ответьте "y" если на вашей карте GUS установлена дополнительная карта для 16-битной дискретизации. Ответьте "n" если у вас GUS MAX. Разрешение этой опции запрещает поддержку GUS MAX.

GUS MAX support [Y/n/?] (Поддержка GUS MAX [Д/н/?])

Ответьте "y" только если у вас GUS MAX.

Microsoft Sound System support [Y/n/?] (Поддержка Microsoft Sound System [Д/н/?])

Хорошо подумайте до того как ответить "y" на этот вопрос. Безопасно ответить "y" если у вас оригинальная карта Windows Sound System, произведенная Microsoft или карта Aztech SG 16 Pro (или NX16 Pro). Также вы можете "y" в том случае, если карта не перечислена выше в этот файле. Для карт, имеющих собственную поддержку в VoxWare, смотрите инструкции для карты в файле Readme.cards. Некоторые драйвера имеют собственную поддержку MSS и разрешение этой опции может вызвать конфликт.

Ensoniq Soundscape support [Y/n/?] (Поддержка Ensoniq Soundscape [Д/н/?])

Ответьте "y" если у вас карта построенная на наборе микросхем Ensoniq SoundScape. Такие карты производятся Spea и Reveal (Reveal также производит другие карты).

MediaTriX AudioTriX Pro support [Y/n/?] (Поддержка MediaTriX AudioTriX Pro [Д/н/?])

Ответьте "y" если вы имеете AudioTriX Pro.

Support for MAD16 and/or Mozart based cards [Y/n/?] (Поддержка карт построенных на MAD16 и/или Mozart [Д/н/?])

Ответьте "y" если ваша карта имеет микросхему звукового интерфейса Mozart (OAK OTI-601) или MAD16 (OPTi 82C928 или 82C929). Эти микросхемы в настоящее время довольно распространены, так что возможно, что много безымянных карт имееют одну из этих микросхем. Также микросхема MAD16используется в некоторых картах производимых известными производителями, такими как Turtle Beach (Tropez), Reveal (некоторые модели) и Diamond (последние модели).

Support for Crystal CS4232 based (PnP) cards [Y/n/?] (Поддержка карт построенных на Crystal CS4232 (PnP) [Д/н/?])

Ответьте "y" если у вас карта созданная на основе набора микросхем Crystal CS4232.

Support for Turtle Beach Wave Front (Maui, Tropez) synthesizers [Y/n/?] (Поддержка синтезеров Turtle Beach Wave Front (Maui, Tropez) [Д/н/?])

Ответьте "y" если вы имеете любую из этих карт.

SoundBlaster Pro support [Y/n/?] (Поддержка SoundBlaster Pro [Д/н/?])

Разрешите эту опцию, если у вас SoundBlaster Pro или SoundBlaster 16. Также разрешите ее для любых клонов SoundBlaster Pro. Ответ "n" сбережет некоторое количество памяти, но "y" является безопасной альтернативой.

SoundBlaster 16 support [Y/n/?] (Поддержка SoundBlaster 16 [Д/н/?])

Разрешите, если вы имеете SoundBlaster 16 (включая AWE32).

Audio Excel DSP 16 initialization support [Y/n/?] (Поддержка инициализации Audio Excel DSP 16[Д/н/?])

Разрешите это, если у вас карта Audio Excel DSP16. Для более детальной информации смотрите файл Readme.aedsp16.

Затем программа конфигурации задаст несколько вопросов, о высокоуровневых сервисах. Рекомендуется ответить "y" на каждый из этих вопросов. Отвечайте "n" только если вы точно знаете, что вам не нужно это.

/dev/dsp and /dev/audio support (usually required) [Y/n/?] (Поддержка /dev/dsp и /dev/audio (обычно требуется) [Д/н/?])

Ответ "n" запрещает /dev/dsp и /dev/audio --- устройства АЦП и ЦАП. Ответьте "y".

MIDI interface support [Y/n/?] (поддержка MIDI-интерфейса [Д/н/?])

Ответ "n" запрещает устройства /dev/midixx и доступ к любому порту MIDI используя /dev/sequencer и /dev/music. Эта опция также касается любых устройств совместимых с MPU-401 и/или General MIDI.

FM synthesizer (YM3812/OPL-3) support [Y/n/?](Поддержка FM синтезера (YM3812/OPL-3) [Д/н/?])

Ответьте "y" здесь.

/dev/sequencer support [Y/n/?] (Поддержка /dev/sequencer [Д/н/?])

Ответ "n" запрещает устройства /dev/sequencer и /dev/music

Do you want support for the mixer of SG NX Pro ? (Вы хотите поддержки микшера для SG NX Pro ?)

Ответьте "y" если у вам звуковая карта Sound Galaxy NX Pro и вы хотите поддержка ее расширенных функций микшера.

Do you want support for the MV Jazz16 (ProSonic etc.) ? (Вы хотите поддержка MV Jazz16 (ProSonic etc.) ?)

Ответьте "y" если у вас звуковая карта MV Jazz16.

Do you have a Logitech SoundMan Games [Y/n/?] (У вас Logitech SoundMan Games [Д/н/?])

Ответьте "y" если у вас звуковая карта Logitech SoundMan Games.

После вышеперечисленных вопросов, программа конфигурации запросит вас о конфигурационной информации специфичной для карты. Обычно это набор адресов портов ввода/вывода, номера каналов IRQ и DMA. Для некоторых карт программа конфигурации запросит некоторые файлы, используемые при инициализации карты. Они используются картами, которые имеют микросхему DSP или микропроцессор, которые должны инициализироваться загрузкой файла с программой (микрокодом) в карту. В некоторых случаях этот файл записывается конфигурационной программой в .h-файл и затем включается в ядро в процессе компиляции. Далее, прочитайте информацию, относящуюся к карте вашего типа в файле Readme.cards.

В конце процесса конфигурации вас запросят:

The sound driver is now configured.
Save copy of this configuration to /etc/soundconf [Y/n/?]

(Драйвер звука сконфигурирован.
Сохранить копию конфигурации в файле /etc/soundconf [Д/н/?])

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

Если вы обновляете со старой версии звукового драйвера, убедитесь, что файлы /usr/include/sys/soundcard.h и /usr/include/sys/ultrasound.h являются символическими ссылками на соответствующие файлы в /usr/include/linux, или что они просто содержат строки #include <linux/soundcard.h> и #include <linux/ultrasound.h>, соответственно.

Теперь вы готовы компилировать и устанавливать новое ядро.

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

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

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

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

В редких случаях, если вы считаете что файлы устройства являются неправильными, вы можете заново создать их, используя короткий скрипт, описанный в конце файла Readme.linux в директории /usr/src/linux/drivers/sound, запустив его как администратор (root). Также большинство версий Linux имеет скрипт /dev/MAKEDEV, который может быть использован для этой же цели.

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

65.4 Загрузка 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).

Некотрые простые звуковые файлы могут быть получены с ftp://tsx-11.mit.edu/pub/linux/packages/sound/snd-data-0.1.tar.Z

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

# 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

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

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

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

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

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

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

% uname -a
Linux fizzbin 2.0.0 #1 Tue Jun 4 16:57:55 EDT 1996 i386

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

% cat /proc/version
Linux version 2.0.0 (root@fizzbin) (gcc version 2.7.0) #1 Tue Jun 4 16:57:55 EDT 1996

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

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

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

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

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

% dmesg

или

% tail /var/adm/messages

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

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

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

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

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

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

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

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

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

  • внимательно перечитайте этот документ
  • прочитайте материалы на ссылках, перечисленных в конце этого документа, особенно страницу Hannu Savolainen и файлы с документацией, соответствующие драйверу ядра
  • пошлите вопрос в одну из групп новостей comp.os.linux или другую группу новостей (comp.os.linux.hardware -- это хороший выбор; вследствии высокого трафика в этих группах поместите строку "sound" в заголовке письма, так чтобы эксперты могли заметить его)
  • Использование поисковой системы Web/Usenet с правильно составленным запросом может быстро дать хорошие результаты. Один из таких поисковых серверов http://www.altavista.digital.com/
  • попробуйте использовать последнюю версию ядра Linux (но только как последнюю надежду, поскольку последние версии ядер могут быть нестабильными)
  • пошлите сообщение автору звукового драйвера
  • пошлите сообщение автору этого документа (The Linux Sound HOWTO)
  • Запустите emacs и наберите Esc-x doctor :-)

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

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

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

  • утилита преобразования форматов аудио-файлов (например Sox)
  • утилита микширования (например aumix or xmix)
  • проигрыватель/рекордер оцифрованных файлов (например play или wavplay)
  • проигрыватель файлов MOD (например tracker)
  • проигрыватель файлов MIDI (например playmidi)

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

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

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

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

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

Это наиболее "стандартные" имена файлов устройства, некоторые пакеты 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

выводит состояние звукового драйвера при чтении

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

/dev/pcaudio

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

/dev/pcsp

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

/dev/pcmixer

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

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

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

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

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

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

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

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

В настоящее время звуковой драйвер позволяет иметь несколько одновременно установленных в системе карт 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 (ограничения оборудования)

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

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

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

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

67.7 Ошибка: 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);
}

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

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

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

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

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

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

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

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

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

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

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

  • попытаться проигрывать с более низкой скоростью дискретизации или в моно режиме
  • убрать другие процессы
  • купить более мощный компьютер
  • купить более мощную звуковую карту (например Gravis UltraSound)

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

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

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

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

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

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

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

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

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

Они частично документированы в Hacker's Guide to VoxWare, в настоящее время доступном в черновой форме. Последняя версия -- draft 2, и может быть найдена на ftp://nic.funet.fi/pub/Linux/ALPHA/sound/. Заметим, что эта директория "скрытая" и не появляется в списке директорий. Если вы выполните команду "cd" на эту директорию и используете команду FTP "dir", то вы найдете нужные файлы там.

Во время написания, новая документация стала доступной на сервере 4Front Technologies.

Другой источник документации -- Linux Multimedia Guide, описанное в разделе ссылок.

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

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

  • используете вы PCM дискретизацию или FM-синтез
  • скорость дискретизации и размер примера
  • какое приложение используется для проигрывания или записи
  • оборудование звуковой карты
  • скорость ввода/вывода диска, скорость процессора, размер кэша, и т.п.

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

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

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

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

67.17 Проблемы с PAS16 и адаптером SCSI Adaptec 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-х техников в которыми я говорил имеют "повреждение мозга". Должен ли я доверять всему, что они сказали о каком-то другом оборудовании, если они даже не знают свое собственное.

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

Вследствии ограничения оборудования это невозможно с большинством звуковых карт. Некоторые новые карты поддерживают это. Для большей информации смотрите раздел "двунаправленный режим" в Hacker's Guide to Voxware.

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

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

67.20 Поддерживается ли SoundBlaster AWE32 или SoundBlaster16 ASP?

В прошлом, Creative Labs не выпускало программную информацию о их картах. Сейчас они сменили свою политику и драйвер AWE включен в ядра Linux 2.1.x.

67.21 Если я запускаю Linux, затем загружаясь в DOS, я получаю ошибки и/или звуковые приложения не работают правильно.

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

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

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

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

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

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

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

Звуковые примеры являются 16-битными. Если у вас 8-битная звуковая карта вы все равно можете иметь звук, используя разные программы, доступные на ftp://sunsite.unc.edu/pub/Linux/games/doom.

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

По умолчанию DOOM не поддерживает музыку (как в версии DOS). Программа musserver добавит поддержку музыки в DOOM для Linux. Она может быть найдена на ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz.

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

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

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

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

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

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

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

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

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

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

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

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

67.26 Моя 16-битная "совместимая" с SoundBlaster звуковая карта работает только в 8-битном режиме под Linux.

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

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

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

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

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

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

Для деталей смотрите файлы /usr/src/linux/drivers/sound/Readme.modules и /usr/src/linux/Documentation/modules.txt (или файл /usr/src/linux/README).

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

Попробуйте программу oplbeep, которую можно найти на ftp://sunsite.unc.edu/pub/Linux/apps/sound/oplbeep-alpha.tar.gz

Другим вариантом является программа beep доступная на ftp://sunsite.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgz

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

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

67.30 Что такое VoxWare?

Драйвер звука поддерживает несколько различных Unix-совместимых операционных систем на базе Intel-based, и может быть получен как пакет отдельно от ядра Linux. До Февраля 1996 года, автор называл программное обеспечение "VoxWare". К сожалению это имя уже было зарегестрировано фирмой VoxWare Incorporated, и не могло быть использовано. Новое имя драйвера OSS/Free.

Open Sound System (OSS) коммерчески доступный драйвер звука для разных Unix-систем, продаваемый 4Front Technologies. Свободная версия, известная как OSS/Free будет продолжаться быть свободной для Linux-систем.

Другие имена -- TASD (Temporarily Anonymous Sound Driver) and USS (Unix Sound System), которые вы могли услышать, были использованы в прошлом для ссылок на тот же самый драйвер звука.

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

67.31 Поддерживаются ли Plug and Play звуковые карты?

Полная поддержка Plug and Play должна появится в Linux версии 2.1. В промежуточное время существует некоторое количество способов (workarounds) чтобы заставить работать звуковые карты с Plug and Play.

Если у вас новейшая Pentium-система с Plug and Play BIOS, она должна взять заботу о конфигурации карт для вас. Убедитесь, что вы настроили звуковой драйвер Linux на теже параметры адресов ввода/вывода IRQ, и каналов DMA что и в BIOS.

Существует пакет Plug and Play утилит для Linux, который может быть использован для настройки карт. Он может быть найден на Web-сервере фирмы Red Hat http://www.redhat.com/ (он также может быть включен в ваш дистрибутив Linux).

Если вы используете карту под Windows95, вы можете использовать менеджер оборудования для настройки карты, затем "мягко" перезагрузиться в Linux используя программу LOADLIN. Убедитесь что Windows95 и Linux используют одинаковые настройки карты.

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

Коммерческий звуковой драйвер фирмы OSS имеет поддержку звуковой карты SoundBlaster16 PnP. Вы можете купить этот драйвер у 4Front Technologies.

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

Измение в драйвере звука в версии 1.3.67 некоторые программы проигрывания звука, которые (неправильно) проверяли, что результат из ioctl SNDCTL_DSP_GETBLKSIZE был больше чем 4096. Утилиты включенные в последний пакет-util-3.x.tar.gz (на ftp://ftp.4front-tech.com/ossfree) теперь обрабатывают это правильно. Последние версии драйвера звука были также исправлены, чтобы избегать выделения фрагментов короче чем 4096 байтов, которое решило эту проблему для старых утилит.

67.33 Почему драйвер звука имеет собственную программу настройки?

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

Как было сказано, последние ядра опционально разрешают использование стандартной утилиты настройки ядра для драйвера звука (смотрите раздел "Настройка ядра").

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

Вы можете скомпилировать драйвер звука как загружаемый модуль и использовать 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.

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

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

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

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

Информация о том как использовать звуковую карту mwave на портативном компьютере IBM ThinkPad под Linux может быть найдена на http://www.screamin.demon.co.uk/.

68. Ссылки

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

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

Ultrasound Plug'n'play Mini-HOWTO описывает как заставить работать под Linux plug and play карту Gravis Ultrasound.

Linux SoundBlaster 16 PnP Mini-HOWTO описывает как заставить работать под Linux plug and play карту SoundBlaster 16.

Linux SoundBlaster AWE64 PnP Mini-HOWTO описывает как заставить работать под Linux plug and play карту SoundBlaster AWE64.

Существует документ, называемый Hacker's Guide to VoxWare, доступный с ftp://nic.funet.fi/pub/Linux/ALPHA/sound/. Большинство информации в нем заменилось документом на http://www.4front-tech.com/pguide, но раздел о /dev/sequencer все еще может быть полезным.

Следующие FAQ регулярно посылаются в группы новостей Usenet news.announce и также сохраняются на ftp://rtfm.mit.edu/pub/usenet/news.answers:

  • 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 обсуждают темы относящиеся к звуку и/или музыке.

Web-сервер посвященный мультимедиа может быть найден по адресу http://viswiz.gmd.de/MultimediaInfo/. Creative Labs имеет Web-сервер на http://www.creaf.com/. Сервер MediaTrix расположен по адресу http://www.mediatrix.com/.

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

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

С автором драйвера звука, Hannu Savolainen, можно связаться по электронной почте hannu@voxware.pp.fi. Он также имеет WWW страницу по адресу http://personal.eunet.fi/pp/voxware. Этот сервер наилучший источник для нахождения информации о статусе поддерживаемых карт, известных проблемах, и исправлении ошибок.

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

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

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 в Северной Америке или проверьте сервер http://www.ora.com/catalog/multilinux/noframes.html или мою домашнюю страницу http://www.pobox.com/~tranter.

[ опубликовано 09/02/2003 ]

Jeff Tranter, перевод: Alex Ott - Звук в Linux HOWTO, v1.19, 23 Января 1998 г.   Версия для печати