synthio: Add a new test of synthio.LFO

This commit is contained in:
Jeff Epler 2023-05-21 13:11:42 -05:00
parent 11c110e0da
commit 823a02c0b7
No known key found for this signature in database
GPG Key ID: D5BF15AB975AB4DE
2 changed files with 121 additions and 0 deletions

View File

@ -0,0 +1,21 @@
import array
from math import sin, pi
from synthio import LFO, lfo_tick
bend_out = array.array("h", [0, 32767])
bend_in = array.array("h", [32767, 0])
triangle = array.array("h", [0, 32767, 0, -32767])
sine = array.array("h", [int(32767 * sin(i * 2 * pi / 600)) for i in range(600)])
lfos = [
LFO(bend_out, once=True, rate=4),
LFO(bend_in, once=True, rate=2.5, scale=2),
LFO(triangle, rate=3)
# LFO(bend_in, interpolate=False, rate=5),
# LFO(bend_in, interpolate=True, rate=5),
]
lfos[2].rate = lfos[1]
lfos[2].offset = lfos[0]
for i in range(100):
print(i * 256 / 48000, *list(lfo_tick(*lfos)) + [l.phase for l in lfos])

View File

@ -0,0 +1,100 @@
0.0 0.02133268229166667 1.973273111979167 0.06342789066420661 0.02133333333333333 0.01333333333333333 0.01052412326388889
0.005333333333333333 0.04266536458333333 1.946607259114583 0.1262869271612167 0.04266666666666667 0.02666666666666667 0.02090602864583333
0.01066666666666667 0.06399804687500001 1.91994140625 0.1885771094910304 0.064 0.03999999999999999 0.03114571614583333
0.016 0.08533072916666667 1.893275553385417 0.2502984376536475 0.08533333333333333 0.05333333333333333 0.04124318576388888
0.02133333333333333 0.1066634114583333 1.866609700520833 0.3114509116490682 0.1066666666666667 0.06666666666666666 0.05119843749999999
0.02666666666666667 0.12799609375 1.83994384765625 0.3720345314772924 0.128 0.08 0.06101147135416667
0.032 0.1493287760416667 1.813277994791667 0.4320492971383201 0.1493333333333333 0.09333333333333334 0.07068228732638888
0.03733333333333333 0.1706614583333334 1.786612141927083 0.4914952086321512 0.1706666666666667 0.1066666666666667 0.08021088541666666
0.04266666666666667 0.191994140625 1.7599462890625 0.550372265958786 0.192 0.12 0.08959726562499998
0.048 0.2133268229166667 1.733280436197917 0.6086804691182243 0.2133333333333334 0.1333333333333333 0.09884142795138889
0.05333333333333333 0.2346595052083334 1.706614583333333 0.666419818110466 0.2346666666666667 0.1466666666666667 0.1079433723958333
0.05866666666666667 0.2559921875000001 1.67994873046875 0.7235903129355112 0.256 0.16 0.1169030989583333
0.064 0.2773248697916667 1.653282877604167 0.78019195359336 0.2773333333333334 0.1733333333333333 0.1257206076388889
0.06933333333333334 0.2986575520833333 1.626617024739583 0.8362247400840124 0.2986666666666667 0.1866666666666667 0.1343958984375
0.07466666666666667 0.319990234375 1.599951171875 0.8916886724074683 0.32 0.2 0.1429289713541666
0.08 0.3413229166666667 1.573285319010417 0.9465837505637273 0.3413333333333333 0.2133333333333333 0.1513198263888889
0.08533333333333333 0.3626555989583333 1.546619466145833 1.00090997455279 0.3626666666666666 0.2266666666666667 0.1595684635416666
0.09066666666666666 0.3839882812499999 1.51995361328125 1.054667344374657 0.384 0.24 0.1676748828125
0.096 0.4053209635416666 1.493287760416667 1.107855860029326 0.4053333333333333 0.2533333333333334 0.1756390842013889
0.1013333333333333 0.4266536458333333 1.466621907552083 1.1604755215168 0.4266666666666666 0.2666666666666667 0.1834610677083333
0.1066666666666667 0.4479863281249999 1.4399560546875 1.212526328837077 0.4479999999999999 0.28 0.1911408333333333
0.112 0.4693190104166666 1.413290201822917 1.264008281990157 0.4693333333333332 0.2933333333333333 0.1986783810763889
0.1173333333333333 0.4906516927083332 1.386624348958333 1.314921380976041 0.4906666666666665 0.3066666666666666 0.2060737109375
0.1226666666666667 0.5119843749999999 1.35995849609375 1.365265625794728 0.5119999999999999 0.3199999999999999 0.2133268229166667
0.128 0.5333170572916666 1.333292643229167 1.415041016446219 0.5333333333333332 0.3333333333333332 0.2204377170138889
0.1333333333333333 0.5546497395833332 1.306626790364584 1.464247552930514 0.5546666666666665 0.3466666666666665 0.2274063932291666
0.1386666666666667 0.5759824218749998 1.2799609375 1.512885235247612 0.5759999999999998 0.3599999999999998 0.2342328515625
0.144 0.5973151041666664 1.253295084635417 1.560954063397513 0.5973333333333332 0.3733333333333331 0.2409170920138889
0.1493333333333333 0.6186477864583332 1.226629231770834 1.608454037380218 0.6186666666666665 0.3866666666666664 0.2474591145833333
0.1546666666666667 0.6399804687499998 1.199963378906251 1.624514745148023 0.6399999999999998 0.3999999999999997 0.2538589192708333
0.16 0.6613131510416665 1.173297526041667 1.620817844083044 0.6613333333333332 0.413333333333333 0.2601165060763889
0.1653333333333333 0.682645833333333 1.146631673177084 1.617689797185262 0.6826666666666664 0.4266666666666664 0.266231875
0.1706666666666667 0.7039785156249997 1.1199658203125 1.615130604454676 0.7039999999999997 0.4399999999999997 0.2722050260416667
0.176 0.7253111979166665 1.093299967447918 1.613140265891287 0.725333333333333 0.453333333333333 0.2780359592013889
0.1813333333333333 0.7466438802083331 1.066634114583334 1.611718781495094 0.7466666666666663 0.4666666666666663 0.2837246744791667
0.1866666666666667 0.7679765624999996 1.039968261718751 1.610866151266098 0.7679999999999997 0.4799999999999996 0.289271171875
0.192 0.7893092447916663 1.013302408854167 1.610582375204298 0.789333333333333 0.4933333333333329 0.2946754513888889
0.1973333333333333 0.810641927083333 0.9866365559895842 1.610867453309694 0.8106666666666664 0.5066666666666663 0.2999375130208333
0.2026666666666666 0.8319746093749997 0.9599707031250009 1.611721385582288 0.8319999999999997 0.5199999999999996 0.3050573567708334
0.208 0.8533072916666663 0.9333048502604175 1.613144172022077 0.853333333333333 0.5333333333333329 0.3100349826388889
0.2133333333333333 0.874639973958333 0.9066389973958342 1.615135812629064 0.8746666666666663 0.5466666666666661 0.314870390625
0.2186666666666667 0.8959726562499995 0.879973144531251 1.617696307403246 0.8959999999999996 0.5599999999999995 0.3195635807291667
0.224 0.9173053385416662 0.8533072916666677 1.620825656344625 0.9173333333333328 0.5733333333333328 0.3241145529513889
0.2293333333333333 0.9386380208333328 0.8266414388020845 1.624523859453201 0.9386666666666661 0.5866666666666661 0.3285233072916667
0.2346666666666667 0.9599707031249995 0.7999755859375012 1.628790916728973 0.9599999999999994 0.5999999999999995 0.33278984375
0.24 0.9813033854166662 0.7733097330729178 1.633626828171941 0.9813333333333329 0.6133333333333328 0.3369141623263889
0.2453333333333333 0.9999389657750726 0.7466438802083346 1.636334491848846 0.999969482421875 0.626666666666666 0.3408962630208334
0.2506666666666666 0.9999389657750726 0.7199780273437513 1.620975429334541 0.999969482421875 0.6399999999999993 0.3447361458333334
0.256 0.9999389657750726 0.6933121744791681 1.606185220987432 0.999969482421875 0.6533333333333326 0.348433810763889
0.2613333333333333 0.9999389657750726 0.6666463216145847 1.59196386680752 0.999969482421875 0.666666666666666 0.3519892578125001
0.2666666666666667 0.9999389657750726 0.6399804687500015 1.578311366794804 0.999969482421875 0.6799999999999993 0.3554024869791668
0.272 0.9999389657750726 0.6133146158854181 1.565227720949285 0.999969482421875 0.6933333333333326 0.358673498263889
0.2773333333333333 0.9999389657750726 0.5866487630208349 1.552712929270962 0.999969482421875 0.7066666666666659 0.3618022916666668
0.2826666666666667 0.9999389657750726 0.5599829101562515 1.540766991759836 0.999969482421875 0.7199999999999992 0.3647888671875001
0.288 0.9999389657750726 0.5333170572916684 1.529389908415906 0.999969482421875 0.7333333333333325 0.3676332248263891
0.2933333333333334 0.9999389657750726 0.506651204427085 1.518581679239173 0.999969482421875 0.7466666666666658 0.3703353645833335
0.2986666666666667 0.9999389657750726 0.4799853515625018 1.508342304229636 0.999969482421875 0.7599999999999991 0.3728952864583335
0.304 0.9999389657750726 0.4533194986979185 1.498671783387296 0.999969482421875 0.7733333333333325 0.375312990451389
0.3093333333333334 0.9999389657750726 0.4266536458333352 1.489570116712152 0.999969482421875 0.7866666666666657 0.3775884765625002
0.3146666666666667 0.9999389657750726 0.3999877929687519 1.481037304204205 0.999969482421875 0.799999999999999 0.3797217447916668
0.32 0.9999389657750726 0.3733219401041686 1.473073345863454 0.999969482421875 0.8133333333333324 0.381712795138889
0.3253333333333333 0.9999389657750726 0.3466560872395854 1.4656782416899 0.999969482421875 0.8266666666666657 0.3835616276041669
0.3306666666666667 0.9999389657750726 0.3199902343750021 1.458851991683542 0.999969482421875 0.839999999999999 0.3852682421875002
0.336 0.9999389657750726 0.2933243815104188 1.452594595844381 0.999969482421875 0.8533333333333323 0.3868326388888891
0.3413333333333333 0.9999389657750726 0.2666585286458355 1.446906054172416 0.999969482421875 0.8666666666666655 0.3882548177083335
0.3466666666666667 0.9999389657750726 0.2399926757812522 1.441786366667647 0.999969482421875 0.8799999999999988 0.3895347786458335
0.352 0.9999389657750726 0.2133268229166689 1.437235533330075 0.999969482421875 0.8933333333333323 0.3906725217013891
0.3573333333333333 0.9999389657750726 0.1866609700520856 1.4332535541597 0.999969482421875 0.9066666666666656 0.3916680468750002
0.3626666666666667 0.9999389657750726 0.1599951171875024 1.429840429156521 0.999969482421875 0.9199999999999989 0.3925213541666669
0.368 0.9999389657750726 0.1333292643229191 1.426996158320538 0.999969482421875 0.9333333333333321 0.3932324435763892
0.3733333333333333 0.9999389657750726 0.1066634114583358 1.424720741651752 0.999969482421875 0.9466666666666654 0.393801315104167
0.3786666666666667 0.9999389657750726 0.07999755859375251 1.423014179150163 0.999969482421875 0.9599999999999987 0.3942279687500003
0.384 0.9999389657750726 0.05333170572916924 1.42187647081577 0.999969482421875 0.973333333333332 0.3945124045138892
0.3893333333333333 0.9999389657750726 0.02666585286458595 1.421307616648573 0.999969482421875 0.9866666666666653 0.3946546223958336
0.3946666666666667 0.9999389657750726 6.103329360485077e-05 1.421306314644712 0.999969482421875 0.999969482421875 0.3946549479067329
0.4 0.9999389657750726 6.103329360485077e-05 1.42130501264085 0.999969482421875 0.999969482421875 0.3946552734176321
0.4053333333333333 0.9999389657750726 6.103329360485077e-05 1.421303710636988 0.999969482421875 0.999969482421875 0.3946555989285314
0.4106666666666666 0.9999389657750726 6.103329360485077e-05 1.421302408633126 0.999969482421875 0.999969482421875 0.3946559244394306
0.416 0.9999389657750726 6.103329360485077e-05 1.421301106629265 0.999969482421875 0.999969482421875 0.3946562499503298
0.4213333333333333 0.9999389657750726 6.103329360485077e-05 1.421299804625403 0.999969482421875 0.999969482421875 0.3946565754612291
0.4266666666666667 0.9999389657750726 6.103329360485077e-05 1.421298502621541 0.999969482421875 0.999969482421875 0.3946569009721283
0.432 0.9999389657750726 6.103329360485077e-05 1.42129720061768 0.999969482421875 0.999969482421875 0.3946572264830275
0.4373333333333333 0.9999389657750726 6.103329360485077e-05 1.421295898613818 0.999969482421875 0.999969482421875 0.3946575519939268
0.4426666666666667 0.9999389657750726 6.103329360485077e-05 1.421294596609956 0.999969482421875 0.999969482421875 0.394657877504826
0.448 0.9999389657750726 6.103329360485077e-05 1.421293294606095 0.999969482421875 0.999969482421875 0.3946582030157252
0.4533333333333333 0.9999389657750726 6.103329360485077e-05 1.421291992602233 0.999969482421875 0.999969482421875 0.3946585285266245
0.4586666666666667 0.9999389657750726 6.103329360485077e-05 1.421290690598371 0.999969482421875 0.999969482421875 0.3946588540375237
0.4640000000000001 0.9999389657750726 6.103329360485077e-05 1.421289388594509 0.999969482421875 0.999969482421875 0.3946591795484229
0.4693333333333333 0.9999389657750726 6.103329360485077e-05 1.421288086590648 0.999969482421875 0.999969482421875 0.3946595050593222
0.4746666666666667 0.9999389657750726 6.103329360485077e-05 1.421286784586786 0.999969482421875 0.999969482421875 0.3946598305702214
0.48 0.9999389657750726 6.103329360485077e-05 1.421285482582924 0.999969482421875 0.999969482421875 0.3946601560811207
0.4853333333333333 0.9999389657750726 6.103329360485077e-05 1.421284180579062 0.999969482421875 0.999969482421875 0.3946604815920199
0.4906666666666666 0.9999389657750726 6.103329360485077e-05 1.421282878575201 0.999969482421875 0.999969482421875 0.3946608071029191
0.496 0.9999389657750726 6.103329360485077e-05 1.421281576571339 0.999969482421875 0.999969482421875 0.3946611326138184
0.5013333333333333 0.9999389657750726 6.103329360485077e-05 1.421280274567477 0.999969482421875 0.999969482421875 0.3946614581247176
0.5066666666666667 0.9999389657750726 6.103329360485077e-05 1.421278972563615 0.999969482421875 0.999969482421875 0.3946617836356168
0.512 0.9999389657750726 6.103329360485077e-05 1.421277670559754 0.999969482421875 0.999969482421875 0.3946621091465161
0.5173333333333333 0.9999389657750726 6.103329360485077e-05 1.421276368555892 0.999969482421875 0.999969482421875 0.3946624346574153
0.5226666666666667 0.9999389657750726 6.103329360485077e-05 1.42127506655203 0.999969482421875 0.999969482421875 0.3946627601683145
0.528 0.9999389657750726 6.103329360485077e-05 1.421273764548169 0.999969482421875 0.999969482421875 0.3946630856792138