|
| ||||||||||||||||||||||||||
| ||||||||||||||||||||||||||
Тестирование и использованиеТеперь вам предстоит удостовериться, что драйвер правильно установлен и попробовать его в действии. Файловая система /procВы можете узнать много интересной информации о своей системе в подкаталоге /proc. Подкаталог /proc - это виртуальная файловая система, то есть, не существующая в действительности, но управляющая некоторыми процессами и задачами в вашем компьютере. Для того, чтобы ее запустить, вам нужно скомпилировать в ядре поддержку этой системы. У большинства дистрибутивов Linux это делается по умолчанию, но если вы специально пропустили поддержку /proc при компиляции, то разумеется в каталоге /proc ничего не будет. В каталоге /proc/modules есть информация по загруженным модулям. Когда у вас загружены драйверы ALSA, напишите cat /proc/modules, и увидите примерно следующее:
Например (Запомните: никогда не запускайте подобную команду - драйверу cs4236 необходимы все опции):
Каталог /proc/asound/ содержит множество другой информации о вашей системе. Не забудьте, что /proc/asound/ будет существовать только после загрузки драйвера ALSA. Если у вас нет /proc/asound, то это означает, что вы неправильно загрузили модуль "snd". Вы можете проверить установленные карты в /proc/asound/cards; для карты0 смотрите /proc/asound/0, /proc/asound/1 для карты1 и т.д. Если после cat /proc/asound/card1/pcm0 появляется
Для пользователей ядра 2.0.x есть еще один способ получения информации о звуковых устройствах, а именно - если вы установили драйвер совместимости с OSS, то у вас есть /dev/sndstat . Разработчики драйверов ALSA говорят, что нельзя полностью положиться на эту информацию, так как она взята из драйвера для совместимости, а более надежный источник находится в /proc/asound/. В ядре 2.2.x ALSA использует модуль ядра soundcore и поэтому не может эмулировать /dev/sndstat, так как он будет конфликтовать с драйверами OSS. МикшерНаконец-то, драйверы для вашей карты установлены и файловая система /proc подтверждает это, теперь вы можете пользоваться картой. Для этого нужно настроить микшера на нужные значения громкости. Для этого вам понадобится "amixer" из пакета alsa-utils. Сначала установите пакет или, хотя бы, "amixer" в какое-нибудь доступное место, например /usr/local/bin. Версия 0.3.2 или более поздняя имеют интерфейс, отличающийся от аналогов в драйверах OSS. Если вы наберете "amixer", увидите составляющие и их значения. Одной из этих составляющих будет "Master volume". Это будет выглядеть примерно так:
К сожалению, я не знаю, как раздельно установить громкость на каналах. При помощи amixer вы можете менять громкость командой "amixer set". Например, для того, чтобы установить Master volume, вам следует ввести:
Не забывайте, что названия элементов в каждой карте могут звучать по разному. Если у вас установлена версия 0.3.0-pre4 ALSA, то amixer будет работать, как нормальный микшер. Вы можете посмотреть его настройки, набрав "amixer". Эта команда выводит список настроек микшера. Выходные сигналы с карт могут сильно различаться, на моей Soundblaster 16 они следующие:
Если вы при такой команде получаете строку типа "amixer: Specify command...", то, скорее всего, вы используете утилиты ALSA 3.2 . Я бы посоветовал, установить версию 0.4.1e или более позднюю или 0.3.0-pre4. Установки микшера для воспроизведения Вы наверное заметили, что на установках некоторых устройств стоит "Mute". Это означает, что это устройство выключено. На некоторых картах (например CS4237B) можно отключить и основной канал. Поэтому для CS4237B, я бы написал amixer set "Master d" unmute для того, чтобы карта могла воспроизводить звук. У Soundblaster нельзя отключить основной канал, но я пишу amixer set Master 100 unmute для того, чтобы звук на выходе воспроизводился на 100% . Наберите amixer set "Master d" 100; amixer set PCM 100 unmute для того, чтобы установить выходной звук с карты CS4237B на максимум и то же самое сделать для устройства PCM. Если вы используете более старую версию amixer, то вам надо пропустить "set" в команде и просто напечатать: amixer "master d" 100 Элементы микшера Различные части микшера могут быть вам не знакомы, если вы не имели дела с цифровым звуком. В этом вам может помочь sound-HOWTO, а здесь описаны основные термины. В действительности, вы будете использовать некоторые элементы микшера: один из них "CD" (это аналоговый сигнал с вашего CDROM, большинство CD ROM соединяются со звуковой картой 3-ех или 4-ех жильным красно/бело/черным проводом). Установка "PCM" используется для большинства приложений. Такие программы, как mpg123, xmms, speakfreely, realplayer, в основном, используют канал PCM. Установки "MIC" относятся к микрофону, "line-in" - это дополнительный вход звука на вашу карту. Различные "gain" - это дополнительное усиление сигналов. (Например record-gain - это дополнительное усиление для канала записи, которое может быть полезно при использовании микрофона). Установки микшера для записи Вы можете установить канал CD на запись командой: amixer set CD capture и остановить запись командой: amixer set CD nocapture. Напомню, что более старый amixer для этого использует команды ``amixer CD rec'' и ``amixer CD norec''. Для канала микрофона эти команды выглядят как: amixer set "Input Gain" 100; amixer set Mic 100 capture mute. (Using the Большинство микрофонов имеет установку "gain", для регулировки громкости. Опять же, старый amixer использует команды ``amixer "input gain" 100; amixer mic 100 rec mute''. Другие установки микшера К сожалению, я не смог изменить установки "3d center" и "3d space" при помощи 0.3.0-pre4. Я еще не пробовал это с 0.4.1e (просто мой компьютер работает под ядром 2.0.38). Если кому-то удастся, то, пожалуйста, дайте мне знать. Для этого можно использовать alsamixer, но он еще не переведен для работы с 0.4.1e. В ALSA FAQ говорится, что возможно делать установки при помощи cat <file> > /proc/asound/#/mixerC0D0, где <file> получен из /proc/asound/#/mixerC0D0. Я не смог этого сделать, так как моя система начала указывать на отсутствие устройств. Также есть программа ``alsactl'', которой я не пользуюсь. И я приглашаю вас (да, именно вас!). чтобы написать эту главу. Устройства /dev/snd/В каталоге /dev/snd/ находятся звуковые устройства драйверов. Если у вас стоит одна карта, вам надо просмотреть следующие устройства:
Теперь вы можете послать звуковой файл в устройство PCM первой карты. То есть, послать в /dev/snd/pcmC0D0 следующим образом: cat <filename> > /dev/snd/pcmC0D0. filename - это любой файл. Если у вас есть свой звуковой файл, воспользуйтесь им или загляните на http://www.ldp.org/sounds/english.au и скачайте файл, в котором Linus Torvalds объясняет, как произносить слово Linux :) Ваше звуковое устройство по умолчанию настроено на 8000 Hz, 8 bit. Это означает, что файл "english.au", описанный выше, воспроизведет речь, а другие тестовые файлы только шум. Если вы ничего не услышали, то проверьте ваши колонки, перезапустите "amixer" или обратитесь к доктору. (Позже вы можете использовать настройки 48 KHz, 16 bit, при использовании вашего проигрывателя типа sox или mpg123). Если вы загрузили модуль"snd-pcm1-oss", вы можете использовать совместимость с OSS при воспроизведении с карты. Но надо сделать следующие настройки:
Если вы хотите использовать модуль ``snd-mixer-oss'', то вам придется это делать через микшер обратной совместимости. Дополнительная информацияВ файле INSTALL упомянуты настройки, которые должен использовать драйвер ALSA. Но их использование зависит от того, какой программой вы пользуетесь при воспроизведении звука. Обычные программы типа: mpg123, sox или программы X11 типа RealPlayer, будут прекрасно работать и без них. /proc/asound/#/pcm#0
<app_name> - имя приложения с/без указания пути <fragments> - количество фрагментов или ноль, если авто <fragment_size> - размер фрагментов или ноль, если авто <options> - дополнительные параметры WR_ONLY - если вы хотите, чтобы приложение только выводило на устройство pcm (это хорошо, например, для Quake) Примеры:
/proc/asound/#card#/sb16
Пример: echo "Record 16" > /proc/asound/0/sb16 Для разъяснения обратитесь к файлу INSTALL.
| ||||||||||||||||||||||||||
|
CITForum © 1997–2025