С 2004/01/11 02:30:56 PST FreeBSD 5.x поддерживает Audigy (Audigy2), поддержка включена в драйвер emu10k1. Он основывается на работе Orlando Bassotto. Если вам не нужен MIDI и вы используете только пару колонок - попробуйте сначала его.
Драйвер для Linux вы можете взять на сайте ALSA Project
Для Windows существует интересный драйвер KX Project.
Если вам не нравится штатный драйвер от Creative - можете попробовать.
emuctrl
. Програмная эмуляция микшера кодека AC97
работает несколько некорректно, что приводит к отсутсвию возможности
изменять уровень записи через mixer rec
. В качестве
обходного пути используйте emuctrl rset mix0 XX:YY
для установки уровня записи XX:YY.
emuctrl
: save
.
Также добавлен rc.d скрипт emuctrl
(автоматически
по make install
не устанавливается!) который
сохраняет / восстанавливает настройки драйвера между перезагрузками.
emuctrl
.
make clean
, make
, make install
.
/sbin/mknod /dev/emu10kx0 c <major> <minor>
#snd_pcm_load="YES" # Digital sound subsystem , FreeBSD 4 and 5 before # snd_pcm -> sound change sound_load="YES" # FreeBSD 5 with new sound naming midi_load="NO" # Do not load midi2 - read Known Bugs section. snd_emu10k1_load="NO" # do not load Creative Sound Blaster Live snd_emu10kx_load="YES" # Creative Sound Blaster Live / Audigyв ваш файл /boot/loader.conf. Вы должны запретить загрузку драйвера emu10k1, так как он также может поддерживать ваше оборудование.
# Add if you use midi2. /sbin/kldload midi # Creative Sound Blaster Live / Audigy /sbin/kldload snd_emu10kxв ваш файл /etc/rc.local.
emu10kx0: <Creative EMU10K2 (Audigy)> port 0xd000-0xd01f irq 12 at device 10.0 on pci0 midi0: <EMU10Kx MIDI Interface (midi2)> on emu10kx0 midi0: midi interrupt 00000080 without interrupt handler, force mread! midi0: midi interrupt 00000080 without interrupt handler, force mread! midi1: <EMU10Kx MIDI Interface (midi2)> on emu10kx0 midi1: midi interrupt 08000000 without interrupt handler, force mread! midi1: midi interrupt 08000000 without interrupt handler, force mread! pcm0: <EMU10Kx PCM Interface> on emu10kx0 pcm0: <TriTech TR28602 AC97 Codec>, если вы используете midi2, или
emu10kx0: <Creative EMU10K2 (Audigy)> port 0xd000-0xd01f irq 12 at device 10.0 on pci0 midi0: <EMU10Kx MIDI Interface (NEWMIDI)> on emu10kx0 midi1: <EMU10Kx MIDI Interface (NEWMIDI)> on emu10kx0 pcm0: <EMU10Kx PCM Interface> on emu10kx0 pcm0: <TriTech TR28602 AC97 Codec>если вы используете NEWMIDI.
# Set card in analog mode /usr/sbin/emuctrl mode analog # Set AudigyDrive Headphones (out3) to full volume /usr/sbin/emuctrl set out3 100 # Enable MIDI IR events /usr/sbin/emuctrl ir enableв файл /etc/rc.local. Запустите
emuctrl list
, чтобы
увидеть список контролируемых соединений. Уровень PCM-звука в драйвере
emu10kx ниже, чем при использовании драйвера emu10k1. Это происходит
из-за того, что в emu10k1 звук дополнительно усиливается в коде DSP
путём умножения всех сэмплов на 4.
Этот драйвер может быть скомпилирован с поддержкой MIDI I/O. Он поддерживает только ввод / вывод MIDI сообщений и не может быть использован для звукового воспроизведения MIDI файлов без внешнего синтезатора. На платах серии Live! вы получаете один порт MIDI, на платах серии Audigy - два. Один из них - для разъема DB15 на плате, второй - для портов на блоке AudigyDrive.
Переменная Makefile vs версия FreeBSD | FreeBSD 4.x, MIDI отсутсвует |
FreeBSD 5.x, -CURRENT с NEWMIDI |
FreeBSD 5.x, -CURRENT без NEWMIDI |
FreeBSD 5.x, -CURRENT с midi2 (*) |
EMU10KX_WITH_MIDI=yes (NEWMIDI MIDI I/O) |
Нет | Да, требуется device midi . Драйвер не может быть выгружен из памяти. |
Нет | Нет |
EMU10KX_WITH_MIDI2=yes (midi2 MIDI I/O) |
Нет | Да(**), необходимо установить midi2 |
Да(**), необходимо установить midi2 |
Да(**) |
Без поддержки MIDI I/O | Да | Да | Да | Да |
IR приемник на Live!Drive и AudigyDrive является MIDI устройством.
Чтобы использовать его, попробуйте rcenter
и xmmspipe
Bejamin Lynn-а - этот набор программ позволяет управлять xmms
(или какой-либо иной программой) с вашего пульта.
Устройство MIDI для инфракрасного приемника на Audigy platinum - /dev/midi1
при работе с NEWMIDI и /dev/midi1.0 для midi2.
Для включениия ИК-приемника используйте командуemuctrl ir enable
.
ИК приемник не может быть выключен.
Звуковые карты на основе DSP EMU10K от Creative могут работать в двух режимах:
аналоговом и цифровом.
Когда вы загружаете драйвер emu10kx
для Audigy, он переводит плату в цифровой
режим, за исключением случаев, когда известно, что плата некорректно работает
в этом режиме (тогда плата переводится в аналоговый режим). SB Live! всегда
инициализируется в аналоговом режиме. Вы можете уточнить текущий
режим работы платы, используя комманду emuctrl mode
и переключить
режим с помощью команды emuctrl mode [analog|digital]
.
На всех платах режим работы влияет на использование разъема 'Analog/Digital Out'. На платах семкйства SB Live! он ткже влияет на использование разъема 'Rear Out'.
название выхода в emuctrl | аналоговый режим | цифровой режим |
AC97 (Front Speakers) | Line Out | Line Out, Analog/Digital Out(?) |
TOS Link | D/K | D/K |
DIGITAL: Center | Silent | Analog/Digital Out |
DIGITAL: Subwoofer | Silent | Analog/Digital Out |
Headphones | Live!Drive Headphones(?) | D/K |
Rear Speakers | Rear Out | Analog/Digital Out |
Center | Analog/Digital Out | Silent |
Subwoofer | Analog/Digital Out | Silent |
Где 'D/K' означает 'Неизвестно куда попадает', 'Silent' означает, что сигнал, управляемый этим уровнем emuctrl не подается на какой-либо разъем платы. Остальное - название разъемов из 'Getting Started' от Audigy
название выхода в emuctrl | аналоговый режим | цифровой режим |
DIGITAL: Front | D/K | Analog/Digital Out |
DIGITAL: Center | D/K | Analog/Digital Out |
DIGITAL: Subwoofer | D/K | Analog/Digital Out |
Headphones | AudigyDrive Headphones | AudigyDrive Headphones |
DIGITAL: Rear | D/K | Analog/Digital Out |
Front | Line Out | Line Out |
Center | Analog/Digital Out | Silent |
Subwoofer | Analog/Digiatl Out | Silent |
Rear | Rear Out | Rear Out |
AC97 ?? | D/K | D/K |
Где 'D/K' означает 'Неизвестно куда попадает', 'Silent' означает, что сигнал, управляемый этим уровнем emuctrl не подается на какой-либо разъем платы. Остальное - название разъемов из 'Getting Started' от Audigy
скорее всего и в цифровом и в аналоговом режиме на разъемах S/PDIF на AudigyDrive вы получите звуковой (цифровой) сигнал.
Все регуляторы громкости, кроме "Master Vol" и "Master Rec Vol"
управляются из emuctrl
.
На Audigy "Master Vol" и "Master Rec Vol" управляются из стандартного микшера
FreeBSD mixer
через регуляторы "vol" и "rec". Регулятор fx0
может быть изменен как из emuctrl
("FX BUS 0") так и из
mixer
("pcm").
На SBLive! "Master Vol" и "Master Rec Vol" могут быть изменены из emuctrl
.
Воспроизведение:
[InVolume0] | V [OutVol0] [input0]---->[*]-----\ | . | V . [InVolumeN] . [Master Vol] /---[*]---->[output0] . | | | / . V V V / [inputN]---->[*]--->[+]====>[*]======------>[*]---->[outputP] ^ ^ | | [fx0]------->[*]--->[+] [OutVolP] . ^ ^ . | | . [FxVolume0] | [fxM]------->[*]----/ ^ | [FxVolumeM]
где output0..P - разъемы платы и внешнего модуля.
Если вы хотите услышать звук с кодека AC97 (например, CD Audio) на Audigy вы должны установить регулятор "AC97 Codec" (обычно это in0) в ненулевое положение (например, 75).
Монофонические выходы (центр и саб) вычисляются как (Left + Right)/2.
Запись:
[InRecVolume0] | V [input0]---->[*]-----\ . | . [InRecVolumeN] . [Master Rec Vol] . | | | . V V V [inputN]---->[*]--->[+]====>[*]======------>[*]---->[outputX] ^ ^ | | [fx0]------->[*]----[+] [OutRecVolX] . ^ | . | | . [FxRecVolume0] | [fxM]------->[*]----/ ^ | [FxRecVolumeM]
где outputX - STEREO выход DSP, предназначеный для записи (обычно называется
"A/D converder (REC)"). Запись с MONO выхода DSP ("Mic (REC)") не поддерживается.
Для записи вы должны установить уровень записи в emuctrl
(регулятор "A/D converter") и уровень "rec" mixer
(который
контролирует "Master Rec Vol" на Audigy и уровень записи кодека AC97 на
SBLive!) в ненулевое значение.
Вход AudigyDrive 'SPDIF IN' в emuctrl
обозначен как 'Optical S/PDIF'.
К сожалению, мне неизвестно, что подключено к входу DSP, который в
emuctrl
обозначен как 'Coaxial S/PDIF'.
Вход S/PDIF работает в режиме 24bit/96kHz, PCM (декодера DolbyDigital&tm; в драйвере нет, как нет и возможности передать программе исходный цифровой поток без изменений).
Вы должны установить усиление в '1' чтобы избежать переполнения внутренних регистров, вызывающее 'clipping'.
Для записи вам необходимо сделать следующие настройки:
mixer rec <level>
(например mixer rec 100
). На SBLive! основной уровень записи
всегда составляет 100%.
mixer rec <level>
(например mixer rec 100
). На Audigy уровень записи кодека AC97
всегда составляет 0%. На этих платах вы записываете сигнал, который
воспроизводится через кодек AC97.
emuctrl set outX <level>
,
где X равен 6 на SBLive! и 13 на Audigy. Лучше всего начать с 100%.
mixer
.
Учтите, что на Audigy вы записываете с выхода "воспроизведение" кодека AC97.
На Audigy не имеет значения, что вы выберете в качестве "источника для записи"
(через команду mixer =rec ...
).
emuctrl rset inX <level>
.
Пример: запись со входа AUX2 (на AudigyDrive) на Audigy
mixer rec 100 ## установка общего уровня записи emuctrl amp 4 ## общее усиление emuctrl set out13 100 ## установка уровня выхода "REC" сигнального процессора emuctrl rset in6 100 ## установка уровня входа AUX2 DSP wavrec test.wav ## записываем 10сек используя wavrec из ports/audio/wavplay.
Я надеюсь, что этот параграф поможет вам решить ваши проблемы самостоятельно.
Существует ли файл /dev/emu10kx0?
Да:
посмотрите на содержимое этого файла ( cat /dev/emu10kx0
).
Вы должны увидеть что-то похожее на:
FreeBSD EMU10Kx Audio Driver Hardware resource usage: DSP General Purpose Registers: 154 used, 512 total DSP Instruction Registers: 168 used, 1024 total Card supports AC97 codec and 5.1 output, Audigy DSP code Installed devices: EMU10Kx Mixer Interface on emu10kx0 FX BUSes Inputs Outputs Playback 1 8 18 Recording 1 8 0 EMU10Kx PCM Interface on pcm0 Digital mode, S/PDIF output is PCM stereo
Если вы видите этот (или похожий) текст, значит драйвер загружен. Вам
необходимо установить нужный уровень громкости и/или нужный режим
работы платы, используя программу emuctrl
.
Для того, чтобы показать скрытые регуляторы в emuctrl
запустите emuctrl debug on
.
Если вы обнаружили регулятор, который изменяет уровень громкости, но
был скрыт или если ни один регулятор не влияет на уровень громкости,
отправьте мне информацию, описаную в разделе
Если ничего не помогло.
Если вы видете сообщение 'Device not configured' то драйвер не загружен.
Проверьие наличие звуковой подсистемы - существут ли файл /dev/sndstat?
Нет такого файла:
Операционная система не может загрузить модуль звуковой подсистемы.
Удостоверьтесь, что у вас в каталоге модулей ядра присутсвует файл
sound.ko
или snd_pcm.ko
. Если вы используте
опцию MODULES_OVERRIDE в вашей конфигурации ядра, добавьте "sound/sound"
или "sound/pcm", в зависимости от верси ОС.
Если этот модуль присутсвует, попробуйте загрузить его вручную
(kldload sound
или kldload snd_pcm
).
Файл присутсвует:
Посмотрите на его содержимое (cat /dev/sndstat
).
Вы должны увидеть список установленных устройств. Если в этом списке
есть одна из следующих строк
pcmX: <Creative EMU10K1> on pciX .... pcmX: <Creative Audigy (EMU10K2)> on pciX .... pcmX: <Creative Audigy 2 (EMU10K2)> on pciX ....то в вашей системе загружен драйвер emu10k1 и плата поддерживается этим драйвером. Для использования драйвера emu10kx вам нужно запретить загрузку драйвера emu10k1. Если в конфигурации ядра присутсвует строка "device pcm" вы должны убрать ее и скомпилировать его в виде модуля. Если устройство PCM не присутствует в конфигурации ядра, посмотрите в loader.conf и rc.local.
Мне нужна будет следующая информация
dmesg
.
pciconf -v -l
.
kldstat
.
cat /dev/sndstat
.
cat /dev/emu10kx0
.
Device configuration finished. procfs registered Timecounter "TSC" frequency 400910787 Hz quality 800 Timecounters tick every 10.000 msec Linux ELF exec handler installed.
Адрес элетроннй почты: chibis @ gfk . ru .
Пожалуйста, добавьте "[AUDIGY]" или "[SBLIVE]", в зависимости от типа платы которую вы используете,
в тему пиьма. Мне будет проще отличить его от СПАМа.
Также желательно не использовать при написании письма кодировку UNICODE.
Вы можете обсудить свои вопросы с другими пользователями (_не_ со мной) на Audigy drivers Forums
У меня нет возможности постоянно отслеживать этот форум.
Цыбизов Юрий,
GfK RUS network admin
$Id: readme-ru.htm,v 1.37 2005/10/15 19:53:23 chibis Exp $