From: Андрей Лаврентьев <lavr@unix1.jinr.ru>
Original: http://unix1.jinr.ru/~lavr/
Subject: Настройка звуковой карты под FreeBSD (включая AC'97)
Автор: Андрей Лаврентьев (lavr@unix1.jinr.ru), http://unix1.jinr.ru/~lavr/
FreeBSD-4.x and multimedia
Общая рекомендация для всех карт - выключите в BIOS, "PnP OS Enable".
Поддерживаемые карты можно найти в ядре: `cd /sys/dev/sound`
По умолчанию подразумевается что вы не забудете для ISA добавить в ядро:
device isa
а для PCI:
device pci
а для звуковых карт, в случае использования драйвера newpcm, строку:
device pcm
Примечание: прежде чем скачивать драйвера со страниц разработчиков,
посмотрите версию вашей системы:
uname -a
и текущие драйвера для звуковых карт, возможно ваша карта уже поддерживается
вашим ядром, изучите содержимое:
cd /usr/src/sys/dev/sound - здесь находится sound-driver newpcm
PCI-Drives for Sound уже в KERNEL для следующих моделей карт:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ensoniq1370/71
Neomagic
Trident 4Dwave
Maestro 1/2 в ядре - см. /sys/dev/sound/pci
http://access.cent.saitama-u.ac.jp/~taku/freebsd/maestro/newpcm/readme.html
Примечание: вполне возможно что ваша карта сделана на чипсете который
поддерживается драйвером, но после генерации и установки нового ядра,
карта все равно не распознается. Запишите при загрузке Device-ID и
Vendor-ID и поищите в драйверах для вашей карты эти значения, попробуйте
добавить ваши, возможно это решит вашу проблему.
Создали свое ядро в файле /sys/i386/conf/MYKERNEL
cd /sys/i386/conf
config MYKERNEL
cd ../../compile/MYKERNEL
make depend
make
make install
^^^^^^^^^^^^- установили новое ядро в систему, после перезагрузки ваша
карта должна опознаться, см. dmesg. Если не опозналась - ищите проблему.
Итак карта опознана, осталось создать необходимые устройства, скомпилировать
например, mpg123 и проверить работоспособность:
Карта опознана драйвером и на чем живет и в каком режиме - мы видим.
затем создаем необходимый набор устройств для карты, в зависимости от того
как ее опознало ядро - pcm0 или pcm1:
для pcm0
cd /dev
./MAKEDE snd0
для pcm1
cd /dev
./MAKEDE snd1
получаем набор следующих устройств, зависимо от карты и драйвера:
Device Description
----------------------------------------------------
/dev/audio SPARC-compatible audio device
/dev/dsp Digitized voice device
/dev/dspW Like /dev/dsp, but 16 bits per sample
/dev/midi Raw midi access device
/dev/mixer Control port mixer device
/dev/music Level 2 sequencer interface
/dev/sequencer Sequencer device
/dev/pss Programmable device interface
Если для вашей карты драйвер поддерживает несколько каналов, то вам
необходимо создать соответствующее количество устройст /dev/dspX в
соответствии с описанием в драйвере.
Aureal - разнообразие Vortex, драйвера для этих карт ныне в портах
и выполнены как подгружаемые модули:
kldstat - посмотреть, kldload module_name - загрузить.
aureal-driver -> /usr/ports/audio/aureal-kmod
Из недорогих и на мой взгляд хороших, удачных карт - Aureal и Maestro, кроме
того их драйвера поддерживают больше одного канала dsp, конечно же
Ensoiq-1370/71, но с одним каналом. Остальные карты SB AWE/Live - дорогие и
посему я их на своих машинах не пробовал, хотя у соседей фунциклируют без
особых проблем.
Полезную информацию по звуковым картам на шине ISA можно найти в
старых драйверах ядра VOXWARE: /usr/src/sys/i386/isa/sound
Новые драйвера можно посмотреть в /usr/src/sys/dev/sound
Важно одно - необходимо осознавать ЧТО вы хотите сделать и ЧТО вы СОБСТВЕННО
ДЕЛАЕТЕ:
- шина: ISA или PCI
- NonPnP/PnP
- карта full-duplex
- правильно указаны IO/IRQ/DMA
если что-то не так или не понимаете, попробуйте посмотреть конфигурации
карты в DOS или Windows.
Зачастую, по указанным выше ссылкам, вы найдете старую информацию, например
конфигурацию SoundBlaster на базе драйвера VoxWare и для версии FreeBSD
2.2.x, 3.x, так что будьте внимательны и осознавайте ЧТО ВЫ ДЕЛАЕТЕ.
Всегда полезно посмотреть что и как у вас опозналось, команды:
- `dmesg`
- `pciconf -l`
- `pnpinfo`
Если вы разобрали и устранили все проблемы связанные с конфигурированием
ваших Soundblaster'ов, можете приступить к сборке различного мултимедиа
software(я перечислю свои личные предпочтения, это не значит что они лучшие):
Миксеры:
~~~~~~~~
- mixer
/usr/sbin/mixer
- aumix
cd /usr/ports/audio/aumix
make && make install
aumix
- xmix
cd /usr/ports/audio/xmix
make && make install
RIFF/U-law/WAV player'ы:
~~~~~~~~~~~~~~~~~~~~
- play
cd /usr/ports/audio/play
make && make install
play -f /dev/cdrom -f s/u/U/A/a/g filename [effects] see sox.
rec
- waveplay
cd /usr/ports/audio/waveplay
make && make install
waveplay [options]
- wavplay
cd /usr/ports/audio/wavplay
make && make install
wavplay [options]
MP3-player'ы:
~~~~~~~~~~~~~
- mpg123
cd /usr/ports/audio/mpg123
make && make install
xaudio filename.mp3
или
mxaudio [front-end к xaudio & mxadb]
- x11amp [OSS player]
cd /usr/ports/audio/x11amp
make && make install
x11amp
- xamp
cd /usr/ports/audio/xamp
make && make install
xamp
CD-player'ы:
~~~~~~~~~~~~
- cdplay [text-based cd-player]
cd /usr/ports/audio/cdplay
make && make install
- cd /usr/ports/audio/xmcd
make && make install
cd /usr/X11R6/lib/X11/xmcd/config
vi common.cfg
модифицируем cddbPath
cddbPath: rock;jazz;blues;newage;classical;reggae;folk;country;soundtrack;misc;data;cddbp://cddb.sai.msu.su;cddbp://cddb.ton.tut.fi;cddbp://sunsite.unc.edu
Russian cddb: zeus.sai.msu.ru
/usr/X11R6/bin/xmcd
Конвертеры:
~~~~~~~~~~~
- sox [Sound Converter: .au,.voc,.wav,.aiff,.riff,.cdr,.raw,mono/stereo...]
cd /usr/ports/audio/sox
make && make install
прошу прощения за примеры, тут их мульон... - см. man sox
- bladeenc [mp3-encoder]
cd cd /usr/ports/audio/bladeenc
make && make install
bladeenc -crc -192 *.wav (создать *.mp3 с bitrate 192 и crc)
bladeenc -del -256 *.wav (создать *.mp3 с bitrate 256 и удалить *.wav)
bladeenc track-01.wav track-02.wav (создать track-01.mp3, track-02.mp3
с bitrate==128)
- lame [инструментарий на базе ISO-codecs, VBR supported]
cd /usr/ports/audio/lame
make && make install
lame -h Losa-Opyat.wav Losa-Opyat.mp3 (кодировать с постоянным bitrate=128)
lame -v file.wav file.mp3 (кодировать с VBR качеством=4 by default)
lame -v 0 -b 64 -B 256 file.wav file.mp3 (кодировать с VBR=0 наивысшее
качество,
нижняя граница bitrate=64
верхняя bitrate=256)
Ripper'ы/Grabber'ы:
~~~~~~~~~~~~~~~~~~~
- atapi ripper - dagrab
cd /usr/ports/audio/dagrab
make && make install
cd /dev && ln -s acd0c cdrom (acd0c - заменить на устройство в вашей
конфигурации)
dagrab -a (по умолчанию используется устройство /dev/cdrom и формат
выходных файлов track%02d.wav)
dagrab -a -d /dev/acd0c -f Losa_%02d.wav [сграбить весь диск и создать
выходные файлы: Losa_01.wav
Losa_02.wav
...
Losa_0n.wav
- scsi ripper - tosha (scsi - the best, сравнений с EIDE[UDMA] БЫТЬ не может)
cd /usr/ports/audio/tosha
make && make install
cd /dev && ln -s rcd0c cdrom (rcd0c - заменить на устройство в вашей
конфигурации, man 4 scsi, man 4 cd, man 4 da)
Примечание: если драйвер вашей звуковой карты поддерживает несколько каналов,
вы можете запускать ваши приложения с указанием различных каналов и
наслаждаться кокофонией a-la M$ Windows.
--
lavr / Andrey Lavrentyev
629 Прочтений • [Настройка звуковой карты под FreeBSD (включая AC'97) (freebsd sound hardware)] [08.05.2012] [Комментариев: 0]