hangkeveres digitalisan
Kis Norbert
norbi at kzs.hu
Wed Jul 10 16:32:57 CEST 2002
Sziasztok!
Erdekes volt hallgatni az eszmecseret. Valamit szerintem figyelmen kivul hagytatok.
A DC-szintet a kondik levalasztjak, vagyis csak AC-szintre valosul meg a keveres a leg-
tobb keveroben. Ez pedig modosit a dolgokon. Ezenkivul pillanatnyi ertekek szerint
az ellenallasokon mindig egy dinamikus egyensulyi ertek keveredik ki. Vagyis a kimeno
hangero valoban magasabb lesz valamivel, (mar amig az aktiv alkatreszek tapfesze engedi...)
azonban korantsem annyival, mintsem varna az ember. (Hiszen a jelek egyaltalan nincsenek
fazisban!!!) Raadasul a kondi latszolagos ellenallasa a frekvenciatol fugg.
Vagyis a keveres -elvileg- nem lehet ekkor korrekt. (Tehat 1Khz-es, 50mV-os
szinusz+10Khz-es, 100mV-os szinusz az egyformara beallitott keverot nem 150mV-al hagyja el,
hanem mondjuk 135-el. Persze a kalibralast ket 1Khz-es jelnel vegeztuk el a meres elott.
(Jo, vannak csucsszuper, frekvenciakompenzalt, mindenkompenzalt keverok, de most egy mezei
szerkezetet vegyunk alapul...)
Talan kicsit tulzott az egyszerusites, de a dolog logikusnak tunik. A keveres tehat korantsem
olyan egyszeru, illetve egyertelmu dolog, mint elsore latszik.
Persze ennek gyakorlati jelentosege (gondolom) vajmi keves van, hiszen ott a poti, legfeljebb
kicsit arreb kurblizza a tag. Ha a hangmagassag miatt nagyon felborulna az egyensuly, akar
menet kozben is lehet facsargatni a gombot, vinnyogtatni a kallantyut. Vegulis az ember egy
hatalmas szubjektum ugyis, mint pl. az MP3 le'tezese is igazolja. :)))
Majd javitotok, ha rosszul mondom, de a bemeno jeleket nem biztos, bogy a
csatornaszam-ad reszere kell leosztani a keveres elott. Az emlitett kompresszor a
kimeneten, illetve a limiterek a bemeneten megoldjak a problemat az analog technikaban.
Azonban mi van akkor, ha az adatok digitalisak??? Persze lehet szimulalni limitert, komp-
resszort, s az atviteli fuggvenyt eszerint ujraparameterezni. Azonban ez meglehetosen
bonyolult, ha korrektul akarom megcsinalni, pedig milyen egyszeru is egy kevero! ;)
Erdemes a kovetkezo ket probleman elgondolkodni egy keveset:
1.,
Arnoldehoz egy masonlo, de masik problema, amin regota gondolkodom.
Adott 16db hangfile (zenei trackek, 16-bitesek, 44100Hz, vagyis nem telefonminoseg).
Ezeket kellene osszekevernem korrekt modon. Ugyebar alapban ez ugy megy, hogy osztom
a tagok szamaval minden hangminta amplitudojat, vagyis ez esetben shiftelem a biteket
jobbra 4-el. Ezutan osszeadom, s minden OK. Legalabbis a nagykonyvben igy van megirva...
Azonban a minoseg jelentosen romlani fog, hiszen a minta 12-bitesse valik. Megjelenik az
adatvesztes miatti zaj, csokken a dinamika, stb... Az ember azt mondana elsore: Hmmm...
ez van, ez vele jar. Marmost eleddig ezt hittem en is. Azonban a minap mutattak egy
DSP-vel fabrikalt digitalis keverot, aminel ez nem igy volt, ott nem erzekeltem ezt.
Bement neki a 16 track, s a kimeneten minden sav (azaz hangszer) tisztan szolt, mig ha
ugyanezeket az en szoftveremmel osszekevertem, akkor persze mint egy vizesbodon...
Kerdesem: milyen algoritmussal mukodhetett??? A kerdes egyaltalan nem OFFTO, par ev mulva
mindannyian szembekerulhetunk vele, ha a DSP-s technologia igy terjed! Keverni pedig
minimum illik tudni...
2.,
Masik, hasonloan elgondolkodtato feladat:
Adott egy file-ban egy bedigitalizalt ferfihang, ami X sebesseggel hallatszik.
Szeretnem a hang magassagat megemelni, hogy noies hangzasa legyen, s X sebesseggel szoljon.
Vagy eppen szeretnem meg karakteresebbe tenni azaltal, hogy me'lyitek kicsit rajta.
Termeszetesen nem csak ketto hatvanyaval, hanem akarhogy. (Bar eleinte ez is jo lenne.)
Marmost ha novelem/csokkentem a lejatszasi sebesseget, akkor a hang magassaga szepen
valtozik, de termeszetesen a sebessege is. Eloszor Amigara par eve lattam olyan szoftvert,
ami ezt helybol tudja, meghozza valtozatlan sebesseg mellett, vagyis megoldhato a dolog.
Ma mar sok PC-s progi is (pl. a COOLEDIT) tud olyat, hogy a hangmintat egy kotta alapjan
'elhangolja', vagyis -elvileg- akar meg lehet enekeltetni vele a szoveget.
Most az elet ugy hozta, hogy egy mikrovezerlos ketyerebe kellene ilyet irnom, s szukseg lenne
erre az algoritmusra... Egyelore 'csupan' a felezes/duplazas a feladat.
Eloszor valami olyasmire gondoltam, hogy minden hangmintat duplazok,
majd ketszeres sebesseggel jatszok le. Ez viszont nem jo, mert akkor ugyanott vagyok, csak a
bitrata lesz ketszeres, a hang ugyanaz marad.
Vagyis bizonyos idocsomagokra kell felosztanom a hangszeleteket, s azokat duplikalni, majd
ketszeres sebesseggel lejatszani. Igen am, de mekkora legyen egy csomagnak a merete???
Ha ugyebar tiszta szinuszrol lenne szo, akkor OK, megkeresem a nulla atmeneteket, s azok
lesznek a hatarolok. Azonban az emberi hang vegtelen szinuszhullam valtozo kombinacioja.
Raadasul bizonyos hangok impulzusszeru, egyedi dolgok. Pl. a zarfelpattanas egy T-betunel...
Ugyebar A TT vasutmodell emlegetesekor nem a TTT-(tizen tuliak tarsasaga...) kellene, hogy meg-
szolaljon. Tehat a csomagido nem lehet se tul hosszu, se tul rovid! Ott mit lehet tenni a
szelethatarok kijelolesere???
A masik problema a lassitas! Ugyanis a fenti logika szerint itt adatot kell kivenni, vagyis
lassitaskor a minoseg ohatatlanul romlani fog. Persze megtehetem, hogy az egyik hullamban a
paros, masikban a paratlan szamu periodusokat hagyom ki, ez nemikeppen javit a helyzeten, a TV-nel
alkalmazott valtottsoros letapogatas analogiajara. Ellenben nem akarom elhinni, hogy nincs jobb ennel! :(((
Nem kesz programot keresek, csupan egy hasznalhato algoritmust. Ha esetleg valaki tudna tippet adni...
Koszi elore is a segitseget.
Udv.:
Norbi.
More information about the Elektro
mailing list