Платный
хостинг от провайдера HostSpace.com.ua - хостинг, регистрация доменов.
Поддержка PHP, MySQL, почта - в каждом тарифном плане.
Звук в Linux HOWTO, v1.19, 23 Января 1998 г.
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 (нет места на
устройстве)"; добавлено замечание о том, что руководство хакера (Hackers
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 для поддержки звука включает следующие этапы:
Установка звуковой карты.
Настройка и компиляция ядра для поддержки звука.
Создание файлов устройства.
Загрузка ядра 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() и т.п. звукового
драйвера?
Они частично документированы в Hackers 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 Возможно ли читать и записывать примеры
одновременно?
www.linuxcenter.ru
Компьютерное железо 24-03-2008
Чем дальше - тем лучше 04-07-2008 Компьютерное железо Модельный ряд ASUS Eee PCи так уже поражает воображение благодаря трем диагоналям и несколькимразновидностям каждого лаптопа в пределах одного размера экрана. НоASUS этого мало и в дополнение к трем девятидюймовым моделям компаниядобавляет еще одну новинку – ASUS Eee PC 904 HD.Причем в данном случаеаббревиатура HD вовсе не означает крайне сейчас модное HighDefinition и вообще не имеет отношения к тому, что будет твориться надисп...
Самые популярные смартфоны и наладонники июня 04-07-2008 Компьютерное железо Портал Brighthandпубликует очередную сводку, отражающую степень заинтересованностипосетителей каталога умных устройств в той или иной модели. Этастатистика не опирается на продажи, но зато позволяет узнать, что вданный момент больше всего волнует умы ценителей всевозможныхгаджетов.В первую очередь стоитзаметить, что первую строчку горячей десятки заслуженно занимаетновенький HTC Touch Diamond, и это неудивительно – ведь ондебю...
АФК "Система" выбрала главу для Индии 04-07-2008 Компьютерное железо Президентом Shyam Telelink в Индии назначен Раймонд Армес. До назначения в Shyam Telelink Раймонд Армес возглавлял российский офис Siemens - до объединения компаний Nokia и Siemens и преобразования их в Nokia-Siemens Networks.1 июля 2008 г. Раймонд Армес советом директоров АФК "Система" был назначен на должность президента Shyam Telelink. "После реформирования Siemens и его объединения в компанию Nokia-Siemens Networks Раймонд Армес возглавил в...
Можно белый, можно черный 03-07-2008 Компьютерное железо Denon весьма изящнымобразом позаботилась как о требовательных в области hi-end владельцахмузыкальных плееров Apple iPod, так и о своих собственныхпотребностях в области получения максимальной прибыли от продаж этихпопулярных гаджетов.На первый взгляд, и, есличестно, даже на второй, новая док-станция Denon ASD-11R для AppleiPod не представляет ничего особенного и выполнена вполне в духе итрадициях Apple: лаконичный параллелепипед...
Все в одном ящике 03-07-2008 Компьютерное железо Rambler пытается увеличить популярность своего портала. Она запустила сервис, позволяющий проверять почту и сообщения из социальных сетей, не покидая портала. Сервис "Рамблер-друзья", который протестировали "Ведомости", позволяет проверять сообщения и письма из электронных почтовых ящиков, блогхостингов и социальных сетей. Пользователю достаточно зарегистрироваться на friends.rambler.ru, чтобы получать обновления десятков веб-страниц, включая п...
Canon 40 D Vs. Olympus E-3: профессиональный любитель против любительского профессионала 02-07-2008 Компьютерное железо Компания Olympus позиционирует свою новую цифровую зеркальную фотокамеру E-3 как профессиональный флагман формата 4:3. В свою очередь, камера 40D компании Canon в релизе на официальном сайте названа полупрофессиональной, то есть, по сути, качественной любительской камерой, пригодной для коммерческой фотографии. На поверку обе «тушки» сходны по характеристикам, относятся к категории «просьюм» и достойны нашего с вами приста... |