Processing #4 comments, questions, ... Started 99/04/27 0427 Embryonale versie met meer commentaar en een eerste poging om midi INPUT te doen IN Kristof.Bas IN konstant.bi moet %ID_KL_PROCESS4 ingeschreven worden !! ingeschreven IN gmt.rc: ID_KL_PROCESSING4, " by Kristof Lauwers" (r139) MENUITEM "Processing #4...", ID_KL_PROCESSING4 (r202) Compileren van gmt.rc lukt niet; vraag gemaild naar Godfried - 0503 niet aangekomen Gmt_stud is (voorlopig) zo aangepast dat IN the works nu naar processing#4 verwijst 0502 Process4.inc bevat type Pro4 - een .bi file werkte hier niet >?? waar ligt het verschil ? Task engine moet later de precieze frequentie sturen - voorlopig leeg 0503 Sine1/2 zetten nu alleen nog noten aan / af zoals engine het opgeeft Engine laat de frequenties varieren de berekening van FreqChange moet aangepastw., zodat de frequenties binnen een bepaald bereik blijven (nu stijgen ze voortdurend!) > solved by giving other startfreq 0504 taak harmonic maakt een file c:\kristof\harmonic.txt, die de eerste 1000 tonen van de boventoonreekse op midi noot 21 geeft (als MidiCentNote) (heeft voor de rest niets te maken met processing #4 - just FOR fun) 0510 CN2F! = IN harmlib NF2F% >> aanpassen !! Done 0518 Engine geeft nu alleen een nieuwe noot als de vorige gespeeld is geweest (Pro4.NoteToPutOn(task)=0) 0519 FUNCTION GetFChange (i%,j%) geeft de verandering van Pro4.Freq(i%) die voortkomt uit de relatie met j% >> optellen voor verschillende j%'s j%,i% geeft de tegengestelde waarde !!nog verder te debuggen : DoesItWhatItHasToDo?, !! stabliiseert te vlug >>Volgende kode kon nu gewist worden (uit engine): ' IF Pro4.Freq(16) < Pro4.Freq(17) THEN ' Pro4.FreqChange(16) =- Pro4.FreqChange(tasknr) '+ Pro4.FreqChange(16) ' Pro4.FreqChange(17) = Pro4.FreqChange(tasknr) '+ Pro4.FreqChange(17) ' ELSE ' Pro4.FreqChange(16) = Pro4.FreqChange(tasknr) '+ Pro4.FreqChange(16) ' Pro4.FreqChange(17) = -Pro4.FreqChange(tasknr) '+ Pro4.FreqChange(17) ' END IF ' Pro4.Dif(16,17) = ABS(Pro4.Freq(16) - Pro4.Freq(17)) 'verschil tss. 16&17 - w.n. gespeeld ' Pro4.Dif(16,18) = ABS(Pro4.Freq(16) - Pro4.Freq(18)) ' Pro4.Dif(17,18) = ABS(Pro4.Freq(17) - Pro4.Freq(18)) Pro4.Klap > omklappen van negatieve deel van ^2-curve gebruikt bij GetFChange Laten veranderen tijdens het stuk 0521 P_engine = vroegere engine >> berekent pitches R_engine : nieuw; berekent Task().Frq voor sine 1 - 3 << verschil v/d 2 somfreq waar een stem invloed op heeft berekent alleen nieuwe freq als e stem pas e noot heeft gespeeld zet bij de start alle andere taken aan >> werkt, maar alle stemmen gaan naar 1 v/d uitersten en blijven daar 0525 Debugroutine gemaakt(doet 32000 cycles aan 110 cycles/s; schrijft 3 bestanden:Taskfrequency's, notefrequency's, and notefrequencychange's !! conclusie : notefrequency's zijn gestabiliseerd in cycle 13881 taskfrequency's " " " " 10591 >>destabiliseren <> controller instellen IN synth (master en edit-menu) A_engine ingevuld <> zie 0707 0601 attack IN debugger >> crasht altijd oplossing (i/d les) 'windowscode voor file open [? var} filehandle = OpenFile ([naam$], buffer, %OF_PROMPT OR %OF_EXIST) ' OpenFile() Flags mogelijke constanten: uit winapi32.inc %OF_READ = &H0 %OF_WRITE = &H1 %OF_READWRITE = &H2 %OF_SHARE_COMPAT = &H0 %OF_SHARE_EXCLUSIVE = &H10 %OF_SHARE_DENY_WRITE = &H20 %OF_SHARE_DENY_READ = &H30 %OF_SHARE_DENY_NONE = &H40 %OF_PARSE = &H100 %OF_DELETE = &H200 %OF_VERIFY = &H400 %OF_CANCEL = &H800 %OF_CREATE = &H1000 %OF_PROMPT = &H2000 %OF_EXIST = &H4000 %OF_REOPEN = &H8000 0602 Werkt nog niet; welk filenr gebruiken >> gemaild naar Godfried !!! Kristof.bas now available for experimental code (cfr startmenu) 0807 debugger verbeterd: op shop werkt file I/O wel om de 1000 counter op scherm alleen task 16 - 18 zijn gedeclareerd als miditaak Attack werkt: modulation IN Proteus is modulation op ingestelde attack > als die 0 is heeft modulation geen zin. met huidige synth instellingen : grotere val. vr attack = scherper 0907 debugging results: 16 stabiliseert eerst, dan 17 18 verandert nog lichtjes rond cycle 3200 alleen 18 verandert van attack >> differentiatie van stemmen is niet slecht but how does it come ?? 18 heeft op einde kleinste freqchange !!!!!!!! >>> answer Task.freq w. 18 voor rest : w. .3 sub Inf heeft invloed op Pro4.Freq, afh. van input (voorlopig dummy) gebruikt fct GetInf Resultaat : uiteindelijk wordt freq te groot >> CRASH EOF