Äänen fysiikka ja musiikkiohjelmointi
Ajattelin perustaa tänne plattariin aiheesta kiinnostuneille keskustelu threadin.
En tiedä onko plattari oikea paikka puhua yleensä ohjelmoinnista mutta äänen fysiikka & aaltomuotojen/signaalien käsittely on varmasti kokonaisvaltainen ja mielenkiintoinen aihe niin ohjelmoijien, elektroniikka gurujen kuin tavallisten musiikintekijöidenkin keskuudessa. Hyötyä ja syvempää tietämystä äänestä on aina mukava saada.
Asiaan.
Ohjelmointikokemusta itselläni on yli kymmenen vuotta. Jossain vaiheessa kiinnostuin musiikkiohjelmoinnista ja sen jälkeen erinäköisiä äänivempeleitä kuten syntetisaattoreita, rumpukoneita ym. olen jokusen kooditellut pc puolella. Asiasta on mukava aina saada lisätietoa ihmisiltä jotka ovat siihen syventyneet. Nykyisin käytän tähän delphi 7.0 ja object pascalia ja työn alla on ollut 2 vuotta täysipainoinen musiikinteko/tuotto ohjelmisto windowsille joka kehittyy hyvää vauhtia eteenpäin. Kiitos mukana olleille koodiguruille.
Ongelmaksi on aina muodostunut softapuolella äänen kliinisyyden ja digitaalisuuden voimakas tekijä. Tämän tekijän poisto on ehkä se hankalin osa musiikkiohjelmoinnissa. Miten saamme digitaalisessa maailmassa digitaalisuuden häivytettyä taka-alalle ja analogisuuden tuotua esiin.
Tässä ohjeaiheita joista voisimme tässä keskustella ja jotka auttavat alkuun aiheppiiriin:
1. Kahden eritaajuuksisien siniaaltojen summaaminen yhteen
2. Filttereiden/equjen toiminta; Summa-aalloista taajuuksien erittely
3. Reverbin ja tilojen teko
4. Muita efektejä kuten chorus ym. ym.
5. Yleisellä tasolla FM
6. Näytteistys ja siihen liittyvä
7. Ja ohjeaiheisiin liittyen lämpimän analogian tuonti soundiin (mitä kannattaa ottaa huomioon)
Kaavoja kaavoja kaavoja vinkkejä; vähemmän löpinää, voivottelua ja kädenvääntöä esim. 'Kuinka softa ja digitaalisuus ovat vain auttamattoman kliinisiä verraten analogi maailmaan' ja sen softa vs. rauta keskustelun voi saman tien jättää tämän ketjun ulkopuolelle!
Toivon tämän threadin laukkaisevan intensiivisen keskustelun ja vinkki/kokemusten/peruskaava jaon alaan perehtyneiden osalta. Ketjuun voi ja pitää myös tipautella asiaan kuuluvia mielenkiintoisia linkkejä ym. Ennen kaikkea haluaisin tänne LASKUKAAVOJA ja laskurutiineja sekä teidän omakohtaisia kokemuksianne.
(ylläpito voi tipauttaa tämän oikeaan forum genreen koska laitoin vahingossa tänne. ANTEEKSI)
Tervetuloa jurn:a vaan plattarille, ja ihan oikeeseen mestaan postasit.. Niinkuin sanoit niin aihe kyllä varmasti kiinnostaa/sivuaa monia audiotekin lukijoita, jos ei nyt varsinaisesti ohjelmoinnin osalta niin jollain muulla tapaa :)
En oikeestaan tunne aiheen matematiikkaa laisinkaan, mutta ihan näin
"maalaisjärjellä" vois olettaa, et digitaalisen saundin digitaalisuus kuuluu
läpi siksi, että se on eksaktia. Se lämpö, mikä analogivehkeistä tulee, johtu-
nee volttien pienestä vapinasta, komponenttien kohinasta ja muutenkin siitä,
miten signaali "likaantuu" kulkiessaan läpi analogisten komponenttien.
Digitaalinen, matemaattisen tarkka saundi taas ei korrupotoidu laisinkaan,
joten ehkä paras tapa saada sitä lämpöä kehiin olisi laskea kohinaa signaalin
sekaan? Siis ditheröintiä. Tietty jos saat esim. jostain analogisynasta puhtaan
siniaallon ulos, sen voi samplata ja verrata sitä digitaalisen tarkkaan sini-
aaltoon, ja laskea erotuksesta (subtract), mitkä bitit ovat kohinaa, millä
taajuksilla niitä esiintyy ja millä intensiteetillä, ja yrittää simuloida vastaavien
tuotantoa digitaalisen bittivirtaan..
hmm...
Musiikkitieteen laitoksella eri yliopistoissa on luotu laskentakaavoja joilla voidaan luoda esim. jazzimprovisaatiossa suurten mestareiden tyylisiä improvisointikuvioita...ja näinollen myös mallintamaan heidän "virheensä". Nämä keinotekoiset hermoverkot todennäköisesti voisi valjastaa myös äänisignaalin analogimallinukseen ja luoda vaikutelman sielukkaammasta äänestä.
Varsinaisesta signaalikäsittelystä en juurikaan tiedä mitään.
Joo, tämä on mielenkiintoinen aihe.
Jonkun verran on tullut synia/effuja koodattua ja nykyisin koodaan puhesynteesiä työkseni (valitettavan vähän on samaa musajuttuihin verrattuna).
Tuo lämpö jäi minunkin koodeistani täysin puuttumaan, vehkeet kuulosti suunnilleen yhtä analogiselle kuin DX-7. ;)
Kokeilin jotain randomsärötyksiä ja sämplätyn "lämpimän" kohinan lisäämistä audion sekaan. Sai sillä jotain aikaan, mutta hyvin kauas halutusta lopputuloksesta jäin. Pitänee tonkia noi jostain ja kattoa, onko niistä mihinkään.
Analogimallinuksessahan kesti monilla synafirmoillakin ties kuinka monta vuotta, ennenkuin saatiin aikaiseksi kohtuu-uskottavaa soundia, joten eiköhän toi vaadi aika helvetin monimutkaisia kaavoja (ja luultavasti myös paljon).
Toivottavasti löydät jotain ja saat aikaan lämmintä soundia. :)
Kannattaa tutustua kirjaan Foundations of computer music. Tästä kirjasta löytyy mm. fm-synteesin alkeet ja paljon hyviä laskukaavoja. Itse tuli kirjan avulla tehtyä yksinkertainen fm-synteesi Amigalle ja muuta pikku näpertelyä.
Simulanalogin sivuilta löytyy hyviä pdf dokumentteja mm.putkiasteen mallintamisesta, joten jos sivu ei ole vielä tuttu: http://www.simulanalog.org/
Samaiselta sivulta löytyy loistava Guitarsuite vst-plugini sarja. Suosittelen.
Ja laitetaan lopuksi se pakollinen sourcekin:
http://www.kyymos.com/asm/origtb.c
Elikkäs 303 soundia (Lars Hamre, 1995), suht hyvin kommenteitu source jolla pääsee mukavasti koodamiseen alkuun. Alunperin Amigalla tehty, kääntyy nätisti myös Windowsiin.