Звукът е аналогова величина - електромагнитни вълни в диапазона от 20Hz до 20kHz.
Компютрите обаче са цифрови устройства и боравят с дискетни стойности. Съответно основен детайл от звуковата карта е
аналогово-цифровият преобразувател, конвертиращ напреженията в цифрови стойности, които могат да бъдат записани в паметта
на машината. Респективно цифрово-аналоговият преобразувател извършва обратната трансформация до аналогов сигнал, който
може да бъде подаден на усилвател или високоговорител, който възпроизвежда звука.
Процесът на преобразуване на аналоговият звук в цифрови стойности (наричат се дискрети)
се нарича семплиране (или дискретизиране) и разбира се е свързан с грешки. Честотата на дискретизация е броят дискрети, които
се отчитат за единица време (един дискрет за секунда означава честота на семплиране 1Hz). По-малката честота на дискретизация
означава по-малко точно представяне на аналоговия сигнал, съответно по-голямата по-добро. Размерът на дискретите се определя от
диапазона на стойности, в който могат да се движат съответните дискрети и обикновено се изразява в битове. По-голямият диапазон
означава по-точно представяне на дискретизирания аналогов сигнал.
Повечето звукови карти използват 8 или 16-битово семплиране при честота на дискретизация
около 4000 до 44000 стойности в секунда. Като съответно могат да се ползват само единият звуков канал (mono) или и двата (stereo).
FM синтезаторите са по-старата техника за произвеждане на звук. По-лесна е за вграждане в хардуера, но не е гъвкава и е по-трудна за софтуерно
управление. Въпреки това за съвместимост много от съвременните карти предоставят тази възможност. Синтеза посредством
wavetable е съвременният метод използван от повечето звукови адаптери. MIDI (Musical Instrument Digital Interface) е стандарт за
хардуерен и софтуерен протокол, посредством който музикални инструменти могат да комуникират един с друг посредством MIDI шина.
Много звукови карти предоставят MIDI интерфейс, но и тези, който нямат такъв също могат да свирят MIDI-файлове, записани в паметта.
Различните версии на Linux-кърнъла предлагат различна подръжка на звукови карти. Затова е
добре да проверите какъв набор от звукови адаптери поддържа ядрото, което използвате. Има два подхода: модулът за звуковата
ви карта да се компилира направо в кърнъла или пък да бъде прикачен като външен модул. Има много спорове в Linux-обществото кое е
по-доброто решение. Едната група твърдят, че кърнълът е по-добре да бъде изчистен от излишни модули и да бъде възможно най-малък,
а другата група пък оспорват, че модулите трябва да са компилирани в кърнъла. Този спор има своето значение по принцип и не само
в контекста на звуковите модули, но има карти, които можете да пуснете без всякакъв проблем както си решите, а има и такива,
чиято поддръжка във вашата версия не е достатъчно добра и може да ви поскъси живота.
Възможно е и да притежавате звукова карта, която все още няма поддръжка. Тогава спасителното
решение е тя да е съвместима с някои от класическите модели SoundBlaster или SoundBlasterPro и да я пуснете като такава. Понякога
проблеми създават някои Plug&Play карти.
Ако компилирате модула вътре в ядрото тогава за съответния модул се задават: номер на прекъсване IRQ, DMA-канал(и) и адресите,
трябва да се убедите, че съществува /dev/sndstat (Той се създава при инсталацията, но хвърлете едно око), трябва да boot-нете
новия кърнъл и да следите надписите дали ще намери картата ви.
Погледнете и файла /etc/soundconf и вижте дали ще ви хареса. :-)
Инсталирането на моята звукова (plug&play) карта ESS1869 изглеждаше така:
Прекомпилирах си кърнъла така, че да ползва sb.o модула за звук. (sb.o е SoundBlaster поддръжката, а ESS1869 е 100% съвместима със SoundBlaster).
След това трябва да напишете следното в команден ред:
pnpdump > /etc/isapnp.conf
След изпълнението на тази команда се генерира файла /etc/isapnp.conf. Налага се да
бъде малко редактиран като махате коментари и променяте стойностите, където е необходимо. След това изпълнете командата:
isapnp /etc/isapnp.conf
Зареждането на модула става чрез командата:
insmod {modulename}
Ключовите моменти се съдържат в няколко файла. Те са: /etc/isapnp.conf и /etc/conf.modules.
В тях трябва да бъдат зададени правилните настройки на звуковата ви карта. Ако някоя стойност не е както трябва много време може
да загубите в напразни усилия да чуете нещо. Ето например правилните настройки на моята ESS1869 във файла
conf.modules:
аlias sound sb
alias midi opl3
options opl3 io=0x388
options sb io=0x220 irq=5 dma=1 mpu_io=0x330
Заради твърде обемистия си вид не е добра идея да публикувам тук и файла isapnp.conf, но
ако не успеете да настроите вашия ви предлагам за download
isapnp.conf, генериран от SoundConigurator-а sndconfig на Red Hat.
Боян Кроснов написа далеч по-кратък и четим примерен
isapnp.conf
специално за ESS1869. Благодаря, Бояне!
Вземете един от двата и само променете в него на нужните места настройките специфични за Вашата карта. Все пак ви предупреждавам, че правилният подход е не да редактирате тези, а да си
генерирате собствен isapnp.conf файл по гореописания начин. Мисля, че е излишно да споменавам, че трябва да сте root за да
направите тази инсталация. Не забравяйте да си разрешите достъпа до CD-ROM устройството и като простосмъртен user за да
можете да си слушате музикални CD-та например с командата:
chmod 666 /dev/cdrom
Някои Linux дистрибуции имат улесняващи процедурата програми, които доста често
успяват безпроблемно да пуснат повечето конвенционални звукови карти. Такъв например е Soundconfigurator-а на RedHat.
Можете да опитате и някои независими разработки. Например ALSA-sound драйверите (адресът
на главната страница на проекта Alsa sound е http://alsa.jcu.cz/.
Комерсиален продукт е разработката на 4Front Technologies на адрес
http://www.opensound.com/, която обаче е безплатна само за няколкодневен
период и след това трябва да си я платите като получавате едногодишна поддръжка.
Горещо ви препоръчвам и четивото Sound-HOWTO. :-)
Приятно слушане!