Библиотека сайта rus-linux.net
Ошибка базы данных: Table 'a111530_forumnew.rlf1_users' doesn't exist
Лучшие методы управления звуком в Linux с использованием ALSA, часть 2
Тестирование звуковых каналов
Оригинал: Better Linux Sound Managment With ALSA, Part 2. Testing Sound Channels
Автор: Carla Schroder (Карла Шредер)
Дата: Среда, 6 марта 2008
Перевод: Алексей Коваленко
Дата перевода: 29 июня 2009
На прошлой неделе мы изучили, как настроить звуковые карты для воспроизведения с использованием ALSA. Это легко, это работает на всех системах Linux, не создает конфликтов, не вносит задержек и не требует использования системы X Window. Сегодня мы приступим к изучению использования ALSA для записи, и расскажем как протестировать нашу звуковую систему.
Быстрый и не очень хороший путь увидеть, что звук работает — это направить содержимое файла в dev/dsp:
$ cat /dev/urandom > /dev/dsp
Более правильный способ — использование набора alsa-utils, который включает некоторое количество полезных команд для тестирования вашей установки. Команда speaker-test тестирует каналы динамиков. Вот пример команды для простой стерео-установки с двумя динамиками:
$ speaker-test -t wav -D plug:front -c2 -l2 speaker-test 1.0.14 Playback device is plug:front Stream parameters are 48000Hz, S16_LE, 2 channels WAV file(s) Rate set to 48000Hz (requested 48000Hz) Buffer size range from 16 to 16384 Period size range from 8 to 8192 Using max buffer size 16384 Periods = 4 was set period_size = 4096 was set buffer_size = 16384 0 - Front Left 1 - Front Right Time per period = 2.731660 0 - Front Left 1 - Front Right Time per period = 2.986495
В ходе тестирования вы должны слышать приятный женский голос, говорящий «Front left, front right». В данном примере -c2 означает два канала, а -l2 означает запуск теста два раза.
$ speaker-test -t wav -D plug:surround51 -c6 -l2
$ speaker-test -t sine -f 45 -D plug:surround51 -c6 -s6
Будьте внимательны с нумерацией каналов — номера динамиков выводимые командой speaker-test начинаются с нуля, в то время как номер опции -s начинается с единицы. Система требует точности!
LFE (Low Frequency Effects) означает низкочастотные эффекты, которые обычно подразумевают работу вашего сабвуфера. Естественно, они более сложные, чем те, что описывались выше (для более подробной информации смотрите «Что такое LFE канал?»).
«Раскопки» в звуковых картах
Как вы можете узнать какой тип вывода поддерживает ваша звуковая карта? Команда aplay вам поможет:
Прим.переводчика: перевод сообщений на русский язык в выводе команды вы, естественно, не увидите.$ aplay -D front test.wav Playing WAVE 'test.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
$ aplay -D hw:1,0 test.wav
pcm.v8237 {type hw card V8237} ctl.v8237 {type hw card V8237} pcm.headset {type hw card Headset} ctl.headset {type hw card Headset}
$ asoundconf list Names of available sound cards: V8237 Headset
Теперь, вместо aplay -D hw:1,0 test.wav можно использовать aplay -D headset test.wav. То есть, происходит замена идентификаторов ядра (0,0- 1,0) именами (V8237, Headset) , поскольку идентификаторы ядра могут меняться, и особенно это касается udev устройств.
Запись с использованием ALSA
$ arecord -vv -D headset -f cd test.wav $ aplay -vv -D v8237 test.wav
Для того, чтобы остановить выполнение команды, нажмите Ctrl+C.
Напоследок, несколько полезных советов.
Чтобы узнать версию ALSA, запустите cat /proc/asound/version.
Вышеприведенные примеры относятся к интегрированной в мою низкобюджетную материнскую плату ESC звуковой подсистеме. Она поддерживает цифровой выход (S/PDIF = Цифровой интерфейс Sony-Philips) в дополнение к аналоговому. Тем не менее, я не могу его использовать — на материнской плате нет разъемов.
Будьте внимательны при покупке звуковых карт, поскольку часто можно встретить заявления такого рода: «24-битный цифровой звук!». Все компьютерные звуковые карты поддерживают цифровой звук, это их основная работа — преобразовывать цифровые аудио-файлы для аналоговых динамиков. Но если вы действительно желаете приобрести звуковую карту с цифровым выходом для цифровых динамиков — внимательно прочитайте спецификацию, чтобы быть уверенным, что получаете 100% цифровое качество на самом деле.
Источники
- man alsamixer
- man aplay/arecord
- man speaker-test
- HOWTO Dolby Digital and DTS
- ALSA, со множеством полезной документации
- Неофициальная, но очень полезная ALSA Wiki
Карла Шредер — автор книг «Linux. Сборник рецептов» и недавно изданной «Сборник сетевых рецептов», а так же постоянный автор статей на LinuxPlanet.