Jak vyrobit pazvuk pres PC speaker bez console?

Jaroslav Lukesh lukesh na k-net.cz
Čtvrtek Květen 16 14:36:42 CEST 2002


| Odesílatel: Michal Dobes <dobes na tesnet.cz>
|         mam maleho neboheho beziciho demonka s pravy nobody a je po
| nem zadano, aby nektere veci zvestoval pipanim pres PC speaker. 
| Je nejaky elegantni zpusob, jak to delat za predpokladu, ze nema
| konzoli a ani drivery zvukove karty emulujici zvuk pres PC speaker?
| Potrebuji neco na inteligencni urovni:
| ioctl(cons_fd, KIOCSOUND, 1193180/freq) na jadre 2.2.19.

Omlouvám se že neporadím přímo, nejsem programátor. Tak jen tipy:

Pro to abyste mohl vygenerovat pazvuk potrebujete jednobitově modulovat PC
speaker. Stačí triviální převod do pulsně-šířkové modulace, nemusí to být
zrovna sigma-delta. Pak jste schopen vyprodukovat téměř jakýkoli zvuk do
nyquistova kmitočtu, ovšem s klesající dynamikou směrem k němu (největší
dynamiku budou mít nejnižší kmitočty). PC speaker přehraje docela
slyšitelně ještě 12-16khz (podle typu), takže si na nyquista dávejte pozor
aby byl nad ním. 30kHz by ale jakž-takž mohlo stačit.

Čím vyšší vzorkovací kmitožet bude, tím vyšší bude i zatížení stroje. Možná
by tedy stálo za to udělat tam sigma-delta modulátor pro nižší vzorkování,
a protože je to PC speaker, tedy mizerná kvalita, můžete jít i do vyšších
řádů nad 3 (třeba 7, ale tam už bude trochu slyšet jeho pískání). Třetí řád
ještě nepíská (ale má zákmity na hranách), čtvrtý ano (informace pro
fanoušky digitálu, zjistěte u svého HiFi jakého řádu je váš sigma-delta
modulátor). POkud tam nebude psychoakustický model (ten se snaží maskovat
právě to pískání a šum), není sigma-delta převod tolik složitý ani náročný
na cpu.

Teorii o sigma-delta po mně nechtějte, je někde na půdě (a nevím kde). Ale
zkuste hledat u výrobců čipů audio DA převodníků, třeba crystal, analog
devices, burr-brown (dnes TI), national semi a pod.

Anebo jednoduše pípat na konzolu, teď z hlavy přesně nevím, ale možná je to
znak CTRL-G

Zdraví JL.



Další informace o konferenci Linux