Mercurial > hg > dmlib
changeset 427:0820321203e5
Updated.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sat, 03 Nov 2012 09:22:15 +0200 |
parents | cbf65b81e5b3 |
children | 983c557f2fbf |
files | TODO.jss |
diffstat | 1 files changed, 1 insertions(+), 87 deletions(-) [+] |
line wrap: on
line diff
--- a/TODO.jss Sat Nov 03 09:20:42 2012 +0200 +++ b/TODO.jss Sat Nov 03 09:22:15 2012 +0200 @@ -1,13 +1,3 @@ -- HOX! envelope sustain ei toimi ihan oikein ilmeisesti! - kts. crstrvl.xm - -- volume envelopen asettama volyymi tarvitsee erillisen muuttujan - vs. jmpCSet. sama homma panning envelopelle. - -- lukitukset: - - device - - playeri - - tremolo, vibrato ym ... jääkö viimeinen taajuus/volume "päälle"? - volume vibrato: miten volslide + volvibrato käyttäytyy? @@ -16,80 +6,4 @@ - note delay: viivyttää nuottia ja samplea jne. -=============================================================================== -FT2-emuloiva miksausrutiini ---------------------------- - - tarvitaan volume ramp-tuki, joka interpoloi halutulla aikavälillä - volumen arvoa (per kanava). aikaväli voi olla lyhyempi kuin 1 frame, - ts. rutiinin on tuettava miten pitkiä ramppeja vain - - - virtuaalikanavat: instrumentit soivat 0.005s päällekkäin, eli - jonkinlainen virtuaalikanavointi on luultavasti käytössä - - -=============================================================================== -Ext. instrument envelopejen toiminta ------------------------------------- -suoritetaanko ext.instrumentteja jos pattern delay on voimassa? - - kyllä. ja myös jos note delay. näillä ei ole mitään vaikutusta - instrumentin envelopejen jne. toimintaan. - - -samplejen alussa oleva "volume ramp": - - - on ns. frame #0:n sisällä (mutta ei välttämättä framen pituinen) - - ei riipu bpm:stä, speedistä tai sampletaajuudesta jne. - - pituus aina 0.005 sekuntia, ts. - len = 48000 * 0.005 = 240 - - -frame = aika / tempo, eli esim. 125 bpm tempolla: - - 1 frame = 1 sekunti / ((125 * 2) / 5) - 1 frame = 1 / 50 - -eli miksaustaajuudella "mixfreq", yhden framen pituus on - - frame.len = mixfreq / ((tempo * 2) / 5) - -esim. 48kHz, 125bpm - - frame.len = 48000 / ((125 * 2) / 5) - frame.len = 48000 / 50 - frame.len = 960 (samplea) - -eli kyseessä on sama käsite/aikaväli millä playerin tick-funktioita -suoritetaan. on kuitenkin huomioitava seuraavat seikat: - -1) FT2:n miksausrutiini interpoloi envelopejen arvot lineaarisesti - yhden framen sisällä. - -2) ensimmäinen envelopen piste (0) alkaa itseasiassa framesta #1! - frame #0 sisältää inherentin - ts. jos on määritelty seuraavanlainen envelope: - - [0,32]-[16,63] - - jossa luvut ovat aika eli framen numero (-1) ja arvo, esim. - äänenvoimakkuus, niin lopputulos on miksatussa datassa: - - | | | **|63 <- loppuarvo saavutetaan vasta - | | |**** | 17. framen vaihteessa - | | ****| | - | | **** | | - | | **** | | - 32|....****|**** | |32 - | *: | | | - | * : | | | - | * : | | | - |* : | | | - 0 : 1 15 16 - ...... - volume ramp (0.005s) - - -3) jostain syystä FT2:n envelopen interpoloinnissa näkyy joskus omalaatuista - epälineaarisuutta, mutta se saattaa olla täysin luonnollista. luultavasti - ko. omituisuuden emulointi ei ole kannattavaa. - -=============================================================================== +- autovibraatto