Oopsy Wavetable Synth without reading from SD Card

Hi all!

I’m putting together a wavetable synth example with Oopsy for a class and using the “sdcard example” in the Oopsy examples folder as a guide. My question is: can a short wavetable sample be preloaded onto the Daisy during flash using the data object without having to read it back from an SD card? I don’t have any SD card reader breakouts to use with my students so following the example patch as is won’t work. However, the comment in the patch that reads:

@drumloop_wav drumloop” automatically loads the content of [buffer~ drumloop] into the gen~ object’s [data drumloop_wav]"

makes me think that a file with a wavetable could be written into data when the patch is opened and then stored on the Daisy when flashed. Is this correct or is there an additional step that I would need to take to not rely on an SD card?

I was wondering the same thing…
So, would the “codebox” work for this scenario ?
Could it be utilized as a data storage that can be filled for the data object to read ?
A drum loop might be excessive , as one would need to store 44000 lines per second, but if you think of a wavetable oscillator…512 samples would make a nice oscillator, no ?
One could probably store more than one of these , even without overblowing the little memory we have.

This is a great place to start and acquire the single cycle waveform from
So next we would need to convert the wav. to text i assume

That produces a nice list of all the samples in the waveform in the form of :

1, 0.949066;
2, 0.999969;
3, 0.90625;
4, 0.927551;
5, 0.927338;
6, 0.917999;
7, 0.92038;
8, 0.915161;
9, 0.913177;
10, 0.90683;

And maybe someone knows how to use that in a codebox so the data object could read it out…
That would be great, as i could use that kind of data storage to initialise some values in my project too

I’ve made a little bit of progress on a solution thanks to an older example by Graham (@grrrwaaa) from a few years ago: it IS possible to copy data from an MSP buffer~ object into a gen~ data object without manually reading/writing with codebox script. Here is my version of Graham’s original patch which I found online here:


----------begin_max5_patcher----------
2568.3oc4as0aiaiE94jeED9kclEoFhTj5x9zVL6Er.6.TfVf9PmAAxVz1ri
LkWI5boEs+1WdQRVxVTl1QwSRlfYjiHoE4224vyMw76We0jY4OPKm.9afeAb
0U+90WcktIUCWUc+USVm7v7rjR8vlLOe8ZJWL4FSeB5CBc6n2C9PFa9W.qok
kIKok.QN3Sxgu4wOMALa6hEzBPZhHA7tErhRAfwAYrRw6AKJxWC93O9CxVje
E8Pxm8qz4Bv6Joyy4o6Fp7WVR4+Y8jmw3xArkqWAjpFYo50i7Q7cvv5QtIQL
eEiu71B4y0.WTP3Tua.vX8Uhm5iP7TOvmq9N7sqY7LpPia3tFy2Jpa0S03eb
80pK23HAVwOGPfEzjzIGhA7PXHFFoV1X8h22WcEgrAATuPnFXllDOtgZdzSl
.97YftYaEhbde3Hd.b.8PD0hOBog.t95oHKfMO9hj0TAs3VJOYVlFNd1.4rD
9xyCnKxxkyeO.k3cbAFBpAJD5MrHqejhNGjN4lFzVMjE4EqSzqqfy.+b58Rz
dfV7eEfwPOuo8QLviSLvHsRLYbUkkxJEP+7XBSojyC1GJQCgxHnwZiVCGG9B
GkL9h7+Dbu3VTe.02AwIxfWO+yQOOdXjJUnUdETe1zfK+h5+L93xTF+a14J7
w4JisuPxSwhfcl57MzYyeUIUXCtXx.vMHT6wEG3OkL56zOOHdexcTk0vl.KL
hStz5poeKvz2AXFa.HIP8QfUeZjdwYvQkqC7K0aNNONwVbdej8.XFUbOkxAh
6yAJtSn79T1aTYndnsgrPRvZZCEnsPFipCr44NpLqtywC40BGiasZIN5MWNw
r0xIS0zTuKjK954lwqma4pcLIJ+gh6wGYh6IDdlDUfm2WQpBNcLizWZNQlEy
sHqlOGhIIlXFI5cFQwu.rdZyRA78f+gRdHWOTPYx5MYTPFkuTrBju.rfcBlL
7GJInPeiUBrxeRUhbWBSF1v8Gjo7pymsNn.cdsp7Vamb6m3eh+uKRVkrF7yI
egtfQyRAuC4AIuW00GySYx1RAydD78bwpb9ifeZJ3iRk7x44pAh7eeuzWXiB
MWz3A6+lHx6aO6PwkniNknHUjQmCRhNQVsE0LOOKunJaO8Cq8kV6B4hR1uoW
zpvhFQwx+jmB9O7T5C8wCCYj223Iux1kwkDx6qm90OJRJDVgBJ1AnXrFe4fh
UmFnHGbZX93aDmFKSX6JvUalJXnZYYBi12DkIxTbAr24kDw5sYB17UIbNM6t
jBVhwth24PYkrk7jryOJzgS9nOZxgTO78aU0rW7odzGHQN.xvWoIdbh0GEMj
o6fnWZ0G0lQ8eZEqDH+2p76ARikKAOlus3ffF.bJMUWY8YT00ELAPrhBlJUi
zQTYFrNfClXZuwG32S4INNEhvUEtLptxUO29LrVI4AiEL9MScjgNnX+MYcji
ONu75uLxvgLwGRdUVF49fI1Ag42dEQtOlJ53LkwrW.7kVIjs4z6eUP+eao74
O1GdGrbRUIjZ.7kKOFKBNICkpYmdfwPgsi8g6dEzAmkMb336QZ3xV0u1YzwQ
oohUAuDBBypO2gywB0Rmi7lyiqRIVI5kfpW2tXG3FiqnnvQUS97jwzeKMYde
IR6e77nIFMVLo95onqNh1UZeVWZmxywkD9x.CUEtqxznUQA9zDEUoy27rzK.
ZQExpflT+TlIxczhRlL98cOtqljrYSqlup0WQwG+po9fQ2zzDiaZhzzTA8N1
9OV4ysPRCBIGrsvj07CA0ZqpGSdpLg5sL82wznTxTsjzx.U11kaRla9xokal
JY95GvjVGSEXfIfDs21vXiVBrUALkB5kY4y+BMs0VZIQtgxY7MEzRoavDQE.
Z5NktHYal31NU+DMs29WTsL6sylxF78ELUYWpFxxBVZNWsH5HNTMWOcRvQLw
T1FL5QvS1zyW1jPpkNKkfba4rjBkzpx9FptSQddV2tZ9dYzEhpt2v378XQQ9
F6cVvVtZfu6rbYmqG5Yq6o71sbSu2JULD2VlbWW1VjjkUsas6i+gDNSZTlJX
FQ.xqoSiM9UkyKxyx5fWSO20SOoRE84z6YohUUuqtc8HGNaSsRzjFobJaIsT
zsMQxxxtsTJdzP5sZZ6rpMx2Jnq2jIQQ2AH2hHiQtbU98kUCrVQqMAr6bD1d
icaSecZeHSf6m+..C96UAQBTu.5OH00kTV6Q2WtS1LRFYruipz3Ovc0g1I85
1wg1JGz00U0dDpr8L9TjtrOMuWw.OO.zF43cDxwTRgNodctbCZPt4lKH+nJy
ZC+XgYhNBwfkIcn7oFz9kmLHyfeEvLqYOXgOBOBefLGlMey1HTXzwID+W3ai
jVZ72Yo4mUJM6+ZCskxf0Tywss0Dge8aqQRRn8HoCekj1Jwr0MWcoonW+zTK
SNV3De21fUYvIL9sgAmMqRJkg02OkfBbiSflnUwN35F8RPOoaEv5w2spRXLY
9Ap26i5M6ndAmLweobuCNSh5uaBVmmSemcFakLeXe93ppJGr+InwZJ71R+8h
XDBtyHz9ER7ffdbbmVU.g9uoBHbvvAQNoY.qp.e3ainAkytUBA6XTOAlcINv
Hm1dkcIeq1XaIkJ85R0e+7PY91h40LaUnsftqPYVjBFuoTD+RSHexsUtIEN0
0PniqArYbOKqg.GWCJ9B0YbqYoaxYbQk.If3YNsgglyxdzzf1+DET0WmmQdQ
poVYdeUAmuifC4U4HX2c8CG3yBbHmfrBNDbvckUX7T+1+.weEjUjSPV4D3Bz
m9Ue3t6tjxJ+Sv9xy0dazor41aHNEEaz3gApOvHyq5Qc2kTEAcJ6mun6LU0W
yYw8fVZhvdF0Vy6TCG2b2yjRBzwUdM4OnCZZJSnBNX1xVGtYuow2z5BrAJlG
wI9hg1jvoY88GT1PGBJc.JeWUk6Lun7vvy6jaqd2IsuOgurpZ9g6NZs6geTG
WggJhfPjtDQgRiUwQd9ZtwO.G5QhhP9DTLF18XfuoHeSdQy6IYJoE0oGT2fi
LL495BU74A5.ws0ArH+gvcx+CDYtNQQNLQc1JcfwcbkgHyo607wd2Eah.M.Z
deegSepq5PWnG7HPOAtSOOo4Q8Ge4NmnVlHh+XLSpGRvwlIzXMSGi7HigRLA
45LAepyDzkYxaDvD1ES.ihFA1kcSjwX2Dl3vLgGELAcbiquM6ZDOei0pXyos
.2b2Sco48TM4RfwWdStXGV0Aifjy2U5AYid78C0gn4glhTwFi82c6Sbwgb0c
I7HKNj4zwJSryTSu1246QL+gxfLqaxSV1gbwMVWq0cCO+4elgGNydOsY1EaM
nwvOGxEaMvnwXlbARiwlPXjCgiLJAXAcQAI54P0zoYdOi0ijtIzEiowiA6hc
HXO3XrI.hbDRci.yjnzdm4N0br2YsauyY2gmwN6mut8Oac5yUWemoNUVtW+G
W++g4ZyeH
-----------end_max5_patcher-----------

This works for me in gen~ : I can load two data objects with wavetables from the files you linked to @ArguZ . But, I can’t get this same gen~ patch to work on my Daisy Pod. I made a second patch that sets up param objects for the frequency and mix between both wavetables using knob1 and knob2 of my Pod. The code compiles and flashes fine, but aside from a short “click” on load, I get no sound. Here is the first patch I made, not modified to be flashed to the Pod:


----------begin_max5_patcher----------
2578.3oc4as0aiaiE9YmeED9kNYQpgHE0s9zVLc2EKvNnKPKPenyf.YKZa1Q
lRqDctzh1e6KuHIKYKJS6n3IISvLxQjxj766b34lX9iqlLcd1CjxofuC7qfI
S9iqlLQ0jrgIU2OY5l3GVjFWpdroKx1rgv3SuQ2Gm7.W0N5Zv6SoK9LXCorL
dEoDvy.eT734O9wof4aWtjT.Rh4wf2sjVTxATFHkVxuFrrHaC3C+z+Uzh3qn
djr4+FYAG7tRxhLVxtGU7KqHr+pdxSoLwCrkoVAdUMRSTqGwP7svf5mLOluX
Mks51Bw3pgKxOXlyM.Xj5pmi7i.7LGvmp9NrsanrTBWga3tFy1xqa0Q13ed0
UxK2XIAVwOGPfEj3joGhA7PXHBFJW1X0h20UdEgLAATuPnFX5l3OlSzC8zof
OcFna9VNOi0GNhF.GPGjmbwGhTP.We8TjEvlguHdCgSJtkvhmmpfiiIPNOls
57.5xzLw72CP8bNt.CAU.EBcFVj0ORQmCRmdSCZqdjkYEahUqK+y.+Lx8Bzd
fV7eCfwPGmY8QLviSLvPkRr23pJKjURf9owDlBImCrOThFBkgPs0FkFNN3EN
JorkY+E3d9sn9.pqEhSjFuNtmiddzvHUnPK8JH+roAa9E4+orwkoz92LyU3i
yUZaeAdOEKBlYpy2PmI+UkDtI3h8F.t9AJOtXe2Ydi9N8yCh2GeGQZMrIvBs
3jIrtp62.Lcs.lQZ.54K+v2nOMudwo+QkqC7K0aNNONwTbdef9.XNgeOgv.7
6y.RtiK89T1aTYndnsgrP5gUzFxWYgLBUGXyycTYFcmiGxqENB2Z05Yo2bwD
S2HlLYSybtPt3qmaJqdtEq1wjnbGJtGWjNtm.3YRT9NNeAoJ3rwLReg4DQVL
2hLZ9bHlzSGynmZmQXzK.qmlrT.uF7CR4gX8P.kwaxSIfTBaEeMHaIXI8DLY
3NTRPAtZqDXo+jpD4tDlLLg6eLKu7QvOWPiS+Nv6E4+pRtsNBAURtxjXamo6
GYej8uJhWGuA7KwelrjRRS.uC4.8tV10GxRnh1R.yeD78L95LlX7mA9fPiub
Ql7AQtW2KWF1ncy3Mty9Ow7r91.OTPJpPU8jLLRq.Bk92NIJtEOsHKMqnJ0O
0f09RqsjLdI82UKZYLRinL5evR.+aVB4g93ggr36pcqWYHS6eB47kSY6m3wE
biPAEYATzllubPwnGDTnEdPze7UhGjUwzcU6pMS4OTgszwT6pC4Doqz.147x
nXy1TNcw5XFijdWrvll1thy4PYkzUr3zyOjzgyDoOZxh7PbcaUBsW74gzGHQ
V.xfWoYgbhEKEMjoa+vWZEK0jQ8edMsDH925r6ABikq.Olss3ffF.LBIQUl8
4D40kTNful.lITiTgWoeXU.GT9rdiOvsmZUbbJDgqphYXcYrdt8YXrrxCFXX
zalhJCsPw9qxhJGcbd40eMkgCYhOv6UYMk6ClXKDle8UQ49XpviyTZyd9vWZ
0S1jSu+YA4+skvV7Xe3cvZKUkPpFvWt7XLH3DLThhc5AFCE1N1Et68Q6eV1v
giuGogqgU+ZmgGGk5xW4+RHHLi9bGNGKTKcNu2bdbkJwRQu.T851EaA2ncEE
FLpZxmmLl76IwK5KQZ2imGsmViE6Ue8TzUGQ6JsO3KsS443RBWQfgxB2UYZz
nn.eZhhpz4aFK0BfTTgrJnIzOEYhbGonjJhee2vMYZbddqlmz5qH4ieSWevp
5WpqkhtIullJH2Q2eXEiagfF3BNXagNq4G7q0VkCSVhHg5sT02Q2nPxTsjTx
.Y11k4wKze4jx7YBlud.l15Lq.80Ajn71FDo0RfsJfoPPuJMawmIIs1RKHxb
BixxKHkB2fw7J.zzcBYY71T9scp9IZVu8urZY1amMkM36kkhtAAqJnIYL4hn
i3P1b8zI.mmNlx1fQ8Dr37d9x5DRMzYo.jaKmGWHkVU12P0cxyxR61Uy2Kkr
jW0cNkw1iE4Y4l6rftZ8.e24YhN2LzXq5o71sLcu2JTL32VFeWW1lGmlVsas
6v+PLiJLJS3TsH.4zzo1F+5xEEYoocvqtm65omDgh9Bx8zD95pWb2tdDONMu
VIZZiTNgthTx61FOdUY2VJ4OpI8VMscd0F4a4jM4oBTz8ADaQDwHWtN69xpG
rVQqMAr6PE1dicaSecZeHSf6m+..C96UAQBjuM52Kz0ETV6mtubmLYjLTaeG
Uowef6pCsS5zsiCsUNnqqI0dDpr8L9TjprOMujQeGG.zD43bDxQWRgNodctb
CZPt4lKH+HKyZC+XfYBOBwfEIcH8o529kmLHyfeEvLanOXfOBNBefzmrMW81
HTP3wID2W3aiDVZb2Yo4WjJM6+ZCMkxfwTywss0Dhe8aqQPRn8HoCekjlJwr
wMWcoovW+zTKSNF3DW61fUYvIH5sgAm70wkhv56mRP91wIPczpXKbcidInmz
sBX836VVILpH+.468Q9lcjufSJ+aJ26TzDK+inf1Yb56fzXpj4C6yGWUUY+8
ONMFSg2T5uWDiPvcFg1uPhGDzik6zpBHz8MU.gCFNHxJMCXUE3CdaDMnX1MR
HXKi5wWuKwBF4z1qrK4a4FaCoToVWx96mGJy1VrnlYqBsEzcEJxhjSYMkh3W
aB4SrsxNovotFBrbMf0O2yxZv2x0fjuPcdtMzj7LJiWIP78bzG8v.8AaOble
6eB8q5qyXjUjnqUlyWTv4ZI3PNUNB1cW+vA9r.GuSPVAGBN3txJLdla6ef3u
.xJuSPVYE37UGEVW3t6tjxJ2Sv9xy0dazor41YHNEEo03g9xOvH8q5Qd2kTE
AcJ6mun6Lk0WyZw8fVZBwNZ0V86TCG0b2yjRBzxUdM4OnCZRBkKCNX9pVGtY
mYQ2z5BrAJ5g3DewP4wLRZe+0kMzgfREfx2VU4N8KJOBcdmba46No88wrUUU
yOX2QqcO7i53JLPRDddBWhn.gwpnPGWE235iCb7BCQtdnHLr6w.OuHKOqn48
jLyqE0odntAGoYx80Ep3yCzAhZqCXP9Cg6j+GHxrchBsXh5rU5.i63JCQ5S2
q9i8tKRGApOT+99Bl8TW0A1PO3Qfd7smddRyi7uDycNQMLQdtiwLIGD+iMSn
wZlNF44MFJwdHamI3Sclf1LSNi.lv1XBXTzHv1raxaL1Mg8rXlviBlfVtw00
jcMOGWs0pH8os.2b2Sco47TM45Ait7lbwVrp8GAImqszCxD835FnBQyAMCIi
MF6t61m3hCYq6R3QVbH8oiUjXmtldsuy0wS+GJCRut8dxxNjMtw5Zsta34O+
yL7vY14oMy1XqAMF94P1XqAFNFyjMPZL1DBCsHbjQI.KnMJHgOGplVMy6Yrd
jzMg1XLMZLXWrEA6AGiMAPjkPpaDX5Dk16L2Imi8Nqc6cN6N7L1Y970s+YqS
ct556L0Iyx8p+7p+OpFA.AC
-----------end_max5_patcher-----------

Any suggestions on what I may be doing wrong, @grrrwaaa ? I can confirm that I get no errors in the console when using Verbose logging and I can flash a different gen~ patch to my Pod, so my environment should be good.

Hi, the patch looks good and works hre as well…
But that is because you are feeding the wavetable to the data object in Max.
Once it is running on the pod there is no connection to those outside objects.
Hence the idea to wrap the wavetable into a codebox that can be wrapped into the code itself.

Hi Tony! Great to see you here! :slight_smile:
Awesome to hear that you’re using the Daisy to teach in a class.

As far as I know, you would need the SD card for the Daisy to access and store a .wav file into a buffer.

One thing to remember is that anything outside of the gen~ patch will not be compiled nor flashed to the Daisy. So the solution may be to create a wavetable within gen~. As @ArguZ suggested, you could use a codebox. I believe the combination of for loop and poke to store values for [data] operator should do the trick. I haven’t tried it but I just found an example of what I’m talking about here [sharing] poking a wavetable/list to gen~ Data in codebox - Gen Forum | Cycling '74
So I think you can get the data values of the wavetable that you have been wanting to use and copy & paste into the codebox.

I hope this helps! I would be happy to look at this more with you later.

Thanks for the link Takumi, that sorted it out :slight_smile:

So here is a basic wavetable oscillator , using hard coded values from the codebox

Sorry for the long text, would be cool if we could could just drag the patch into the forum like on Cycling’74


----------begin_max5_patcher----------
5634.3oc6bs0bacjb9YoeEn3S1ITXmtm6watrUkjJ6CIoR1JUdv1kJHxCEwZ
P.t.fRV1kyu87MS2ygDjfj.D.ThJYqxh8NW6tm9xWO3bN+5qe0Qua1O2s3nA
+MC99Au5U+5qe0qpMUZ3U5++WczEi94SlLZQcXGcxrKtna5xiNV5aY2Our19
+9IKG8gtVyWNZ4ImOd56e67tSVJKumsCybJ4MwPNmCNJb7.xZG5Md7+yFcdG
y97wXjCiXzFJj4bfCNLP1LzL3G0Ue5UWLd5jtkUNhzFGeZkOl8t+7anitdfy
tZYajlRi+1qec4eN9PKt1ncnk8QGEyTjcYS9fItr6vKv+o+i+q+v+4+zfIce
naRqyIim1cxrqlVGAe+5BmONzSAiIXgzSQSQDC9gF7utggXJaBrgsTfStiG.
kz1H71mAg+O9u8DEcNmFZXGkhVC6SYl3ln6cCgMPjwotKFC9bZqEc9YPz+C+
2OQImgcMyAKmHqyacFpWxMk+cKk0mAm5+44c+kq5ldxmd.+ZxEG5XxDSV1Yo
Xz3uG+5nYHkrNDyKmxNx31Z2Zy9SjwJ7tt4s06CilOczEc2nmu2+iacraueM
AypGs3neKjSJud47Ziq4fYW1M+scSG8tIc2bcjgu7SW1Ib5QGc7fid2nou+n
98G5gwWb0Ek9cslFOs0TagVfv4m91QKWNe76tZY20TKTsppVKJuIW0M6rVys
1uIehke43QSTGgq0EqaP2UnVYTSlM8826Y0Ji7BHnUgDm.qq2wSq6wZ6cw4y
luby1llt1HcUsCa+YeaTZ+wsNC6dynL8UsQocuaTZedLJsGZixyfvgSg62nj
eHix0lumHyvrMZBfHCixDxD53mfMo+4xlr+.4nylM+hQUgKbW6TS+vNbVpzd
2RkePK0svVj+raK5dHaQmKMLvwRQEISJXBg6yVzLLw9PJkrorOEcasgo6+CZ
XZF5c6YKS29xxz8Y2xjdvnjqq1f8VTR5+OJ4dvVj1W1hzmaXjac0b6MLjlmM
LjFi4tFdr+va2Q6hc23oeX7hwamg4ChxDpgGDnI62X61Gxn0t6FsSF+gtgue
z3o+Oqyv8t8tFiWT+CB1gz64BPSqwAyTNvCgIrqdOKwv8YsxqwZ0bOkg2Lh.
qCVXzzocS5u+GySwRdwXblNoXOeMU4+PNEDC83hzuX40l4GNi22vogtXvkbV
exVJjj2WAQuyA3ZsWCOnw5ahlMvZ8g2o9vrqouqfXsX4mDIxs6lzc+xoiNYa
MXsHBbuAa4e2BC1z969wVbxrK6dHd2Q7cuBL0air0jC0+rErerscitZ4L.eX
7I2zs4YPl3X9tY+1MYJ74VlVaF8cQlx9CrHMs6iXetykQ+9toaubR9gYCpkK
Bz0IuKPkeNkbANSDM4b9PLEI5g.xDViJ3d9IVraSDdkpeSqxDRydqX3mMt7q
MLew3YSuYf1iFc4k2n4UCuewn+7r5Bk5ixAARZx22z7tBXCY9t9VGMGZ1kPs
d0bId5OGbWGH8hYm1Me5UiqrRKBYikpGgk3vKtbzIxjOcwkCwAWaAN5lk7PU
aOmU9CGqYnuYDOXn79IyN4m5N8lQrOBF7SGO8x4cK5ltDlehDz28ocmM5pIK
e6Yyltbw3eQROwCWa+mo74Z6rOixeXdICYaHue93SmMsvDqbdTZtscvZrF9l
VQXpiX5nKWyjgQETL2SmKfPd0h2MZ9MvFxsNWNa1jU6pedS5Nao18kiAJkU0
hKmc48247wu+7GXtuaF57hGZsq8r.YTkdeaAqzaK.WVcbilLQ81Wc4+4Q.y9
nkcKGKGArouSAyw4KNY9rISVQdkd9vZ54TXoeR2GGe5xyWo9yROX3iurYDcT
+o7oiee2hkq11xQuewpsziV3FMc06TO42tr6hKm.oX0A.eD.mCXV93BcfMCs
ap.t9gP3ld12Lz4Js+PgPWML5eED+b9lcstfolT0czFp+wcmZ8t258tcnx9e
lx0Dt7lS4tk2M3Ga8pXvZ4P16JDDHhdDERNE1S5iuzUGWd9nEyluo1Gka2uA
V8g0G750GVyWEJjl8wNqO37W99KrOrg1GNqnVhOc+kzWC5C07XOnNhewqN1P
OEa0Sgyk5PdZdJgW5ph9nn6ttv+kttX7zAOZPCJH4UyxeROtWh4dTGtW.pC2
iZc3pEouGTG1uV7TJO2U6nmh4qj.n6tpfxuzUEIw0XOnJRu.BX3G7OnOnlC9
S+kqFMu6QcZx0qRlK+7cka4y+jifPwW.5G6MzOim9XZmbNHlKx8OwlmtxI7B
P4v2P4L5iOltwXpVLobU2P4mttw+0.7cMNytCembeUTsqpO18pcou3QlLd.+
nvVkGEBmbS1x0Z+zbV9hGaB14A1MEqVTLR7OcukG3tCMOStCcc+zfEPYCYbw
ldoGwZXhD+zcKdfaIjePCgieVcMnGuDl79w0H7Rvyf2Pj66rig+EkeQ6xu1Y
2B6KAuhsQyzvUHZlX9IqYxuDzL+iiVNpWyTPc83oRHqS90gkmSAhexAPRewn
gNY1ockQdiccc+Tz22adVMECkbhES0vgczSHHR71bvZ9wxWS7kaMo9ej7e++
5royp+v+m92cyUtHt0A769cCNe1GGbxnoC9iCVL9hKm7oAm1cFpTa.ZZz74i
9zfkmOZ4fONdxjAuqavhkyl2c5.T7xxy6Frp0y4cywzVV6Y4rK+6+g4+vz+k
wkY7oASlM5zxCF52Pe62UZu7eiOav2zZ+aG7q0lWBN5zYCzGlsw+R8QIntxR
2swO3ucf465mwYEtqxLeb7xyGTeD6VH8J+6YylO3aFiIQe2fwC98EC8BweMZ
3a0M9GVd4rep6aZRywPtlfS3Yy+lwGOvLL4SgxqICnhgfKUnxFat1RJydsub
HHsEMIRnBduSWBatNwjKFiJkIDDJq0mDJlyZajOSBkIkj1h4j0IDjkoJUxYs
08OFsX6pTXYigJkOqKRzkcIYFNVYpn0GXYbPFzdojMI8RjKEqTFTNdcOBYTy
UcFXGp6UHF4XTnLtXcMBALHYTdq2XqTtPjq5DzoW6kyPdEJKPqUoHqwJqmIX
45bgPDL045S4f72x6jbkJhUoxuXQstJO484PlEJrtUdx6rTRZC6eVZyZLBO4
YCEkdIafjdMQgkb4nkbBkIJJGWxwoJy4JOB1x3BISLKTjxvNOkkCEmy6Eksy
lIpx7thTHqGaMhn4nxoWkxDIqLWC12Za1ryIqLNkxNgJlBhPZCYxoTkGupJk
GGBxbwwSiBlTx3rt.W2CawDP5kfwszKAgrxU3PAcWnXnMBVghHwtD1NYwbji
dkS4.DbYbAiS1WFmBVoMXLlqbOagR0KTkyiJEW9TCTonnZTyDN+j4Z7hCDTs
QwJ.bbTTUHRbTFFAVwWYJJjihmIEfxRlKNzD6VXkmkCFxAFPVEqi7BEicUnn
rMoTPYHTlnZoaxojSorFwmC0ePo59VLarBQ4kJoRgiYQWX7IRzxFOaEMpwoK
qEQUbBEShEhgCNurrk2rToWBZpp3XLghN4MEJXU6TR3lRBIYsAc.Lk7ZqLBP
DDRqkJQ6JjPKTz9UxHoTdNlUR3p300JfyBcV3.f0VSlPOYn5.VHyTzJaFYv+
qQ5cESh2TUvwnRACAqPxtnWGpkyJeQ1hmnP5rIc9ve11HiNQGT93MDEFfhl1
NEQ3HQEPIvUZ+obM.dgL6UJF1FVRISdUtYv.4jRlYqRxQrXBoE15MxXLH6.6
P3JcE7lbrQFXVDQbFS5rBYqSWVDqIqCElkQkwPvdUEvY3JJKPwTVYLawgQak
LYUef3gA8bDwYSdY2vgu20Harns7JL2HyNUzsdDRSGpucd.aKV4KKrCT6OaI
4jPgvVs9S4bR6O6MhhwY3lpEw+7p5xQbMHVgDmCpDfDYUOsJYNq1IkWJF8v2
gvppt24hMixxG0B0T0U3aQy3fSUPmVDmj5VDKA0ERnYU6KDwn4Y4PPgftB4h
+dkr714jDaEORrYcJIbGjw5YNkzwh7m5PgxU877VDaS3buy4B5B3Q.LcA7Aa
asBjI2HKlEBIR2pm+dX10HQ3QM7.xk5ZjYGolfHSBoKV.AlzSUrCdair7wfQ
HYlzCHfiHoNGAqM5yJIP8nqqFasRhiJcEfIjNKe1nJjP4SMhNzH1WcGPvbcn
v2TiEER.Wg1etlouRESZ+QS46ViRhbDhfURqpyBGXF0bLh3KYsU3GotbQHMF
Q6GcFaJ9sGOn.JTgx9XPGA9BtEa2ngpSHiCKYO.ZOMKi0nYi7Nx4j7W.onPk
gkgUSLZjdYWPSUvPeI3t3B.TVRbWeWZq9vVI+I9STxG6LkWmDAIBmjL8thkk
.mAtTJXmnLSeIIf.6BvEjTu.hktZ9xqafza1p4pPj9jBwyhvmB.PORQoPFAR
IoMDAPfcAcbVAaBKIEsqCVcBExLHhcDVARZVjGmUH3FjxUPYi8RRfCwhnffx
Fw0k178f1QfOEMNRZKqb4SfhHGXTVA3PFJE4nB1Ch3lQrR4r.PgYSTnxYcBE
.0R8AvJWTAYXDJ3RgJyHaKBN3CxbQfWcKRIEvYF47jlxHQVVnhlFUJa0dwN3
TpbH2ZypsoP7vT8IsS.fU6j8xoLVsjU4IDVSaiTfrYM7WQdxdwZDRFqaKVCU
kU93Vn5BjvSXOKoGFvEvKXxfeqBaNCaeYb.8UVOf.fHQvS9FtJb9DEHsox6I
tbJ2JfxfBYDymjZgh7LNQbhAi.JNZKuVLZUNZsEQxHX1CojQJUC4sBBhT3nX
DQEgxLhUI.zKUTUVUA7ETGwf5LDUn89xK3WVqivJmvtr51EiB5VGhxmT+Oiv
+NTqUPg0yAA5K7bYwpBhTPNAQ9TiHnnxA0VB.JyRrCFo9HMNg0Jy.Yxhh.hB
bD+OxWf7JgcLpB2zWhUoRCEmYozFuh3zKFSHFdngCjQJFExnSSEYPTZMJO3t
n22.w4CMLZlFFKvp5zQ37jhDgQjPmBxxwZ3XHgjBz.VObCzBlutVnnBSCegm
C5zrIpO0Lxp4afFfkmlQGUw0m8GQfHM4tuVTVMgcI3plP1TqFtlPN0muM55y
ni7OZZZXrPTKCHxpzx.lZ3agslQgRfZ8blTKYkSwCUeUXhZBHIrPgDxFqI1P
JJcKJU+ordD97JRP3jvYoU33TCt+lquxg2TcwXEuSBEwq3CRwjQKTnTUjQF.
P6jzyRHkQEvNbqIUk.eciUoRMAN6RMTkYT6qBOHG.PdsUfrU4wbr3KnjIMib
trTxYYF0ZlTJWpM+BFIksxR8jURDopM.fznu0FZ2RDzPaYiIaard0rHWJfSY
KjKPMRQfZeiCSTisP9n1F.CHU2CLkpNDoY7J3OfvkZLfy1f8jgWtRgCe0TBG
WMfj4BZAVOObMTKk2xO8PB9aZ8KH8lSAGhH4dkCS1XygBZnnZGfB3LpMNjff
ZMixHXUIFwJnbCvy6H0VDUCmafrRllwruUhVnbwKoFduDqCfJ6lBojyM+E.J
sAUEFvpcMhmmUqxBhjVk.HGkWQrir8wF3c1pA.bHisJZ.9TfZA.7s3J1x81o
k.gHsbqDnXacQNHmZhC73NMHFWtxDMbD2WI.vSzJsBQUxZjGx5XEOMbFpHWp
k8x0r+R0xNiFEEVcjfjj1Pjj3H2JWLE7QIEBRYixZ5TJH8BaV41k.UOgdmdI
XuqWzHbIkzcEfOxMbz73KTHdprbIbhKYhQjJu1FJewpYrirBjp74xPnLFc8h
IEYZBk3XjUIBnBxLfgoB8BgCMMfYI8lVADQ4tcfWQVxpAv9QA7WBYlaiiz6w
A1+5Mm5SrNLj1wo.JPDdEEHBIKLEpGSfCjpWwmhVjyZa.GprsnLIu1lUuRxj
qbgKBRSDlRDCnjUw.d0FsMm.+sbEurNA3QKaFJIxoW6aJp.WQpV8bAY+yZaR
44EJTuhNCiyz.8pWWGJPMmB5kGGTcV4M4SH31xgJR0qr1.OSECMNWjdgYZqW
8FiQJgXqSRwAiCYEiXrbjIfuP7XAcGFtSTxQ.MWTdn3Jhzau1jLJtM.RUvlU
ijoX4zZQhIW6Rt4TVGlIKfoikqaWFF1TwvrDRQ.cUpSfZHBSFs1ARgDWdYTE
3Vn3Eqx.HWR+0maTw.AMTPjkKORGGEDMJPXpW3L.XqpEXnnWUNhQHfrPwKFV
KiAgVjohZpTclqAXGgbshhG.K0asNVhwIqhC1YZYQbTERXtIEWBLtAApFjVm
tdHlmb26HHmViQIWPPQEyZeMr9.uPRK2BG24VwXQ8WRfK0CJT1ntWku7HJEp
sV+UCxdI3Dz1JxyHEHs3NJ0uaN0EI.iQwIMDhZYLk6nWQrf.vMDKvGpk.Don
aIKMoV5oRPqqQrj6ak6yraHisgtI60a2BAE4ntE.5PpOcKmZCfM5MZf.idEk
GBL1tEwxuOSKIK7T0qY.7alZsRA8hnRE.V4FXqH2DSb9E5SoqHXQHRet0Jbj
av0JPbtCxM3MnPYPbxTiyfsZSmgzhswhzWMDgk52UwDvKxsVcIear8.pQ.SV
uiFDwLo.pKfzbsVAZlFRSWt0Or5aMp2ZFzLMb.Ia6tIQTyFDa3IXZ5K.3O1Z
kBl1Bn2WHhLPMEGWfhnj3TP4oxOqftTL0jObf11pxcfyMLyjhlCKZro4Ia6t
yQft9kkHih8DQjaCEdApUGpMMz1Vfto0Om66WtzhJXrrO2Cfu+hmJepkUv9n
7ZVuYpLvDoPzPwz41.LrptPDUUuGKISUba3nMpCEgGZf.u9JjAhBiZE.CpXp
UjQ4k2WIC9Vi91sbiiUK0WOhQEWDbscLf5iiM.knL9F2DBrp5PPilACBc27M
KJQmNsxUApSyCJcZ.fuBgCghbMdz6H8RWACz7.PnVihaCKZ6WP.gX60Sn3Us
fBDt01tBPm02Zja2nc6Fopkkg5uZUngCHcYKW+sxiVWyGCpo9c.7c6nDXDaG
6vuSWKNoH+K+PQ8jx8FUIs.KmfbjuF43uUo9sid1d7koqe7ku8Gk3G4gqo8r
i3sO8mKyWBO7YzF9tRryO7Yts6gO65u+AkOT12ya0dkeK8ud8vhYWM+jlVUe
dmFrJmeZ2BTFS+WChu+52qix.2nigskIBaHSXw3nCDOTd8o2HlfOjZB6ldbj
OfLAuoFEk2g1CGWj1TcAeH4h3VXadvXhM0A4fpI7aJSPGRtvsobg+.Frf2T+
z5I2AiKnM01zbHOQ1z.mzA0tXSOPNjANoMMvo+PxDaZbS2gjI1zvlUqmCkCB
E1lzoGLtvuMXrNXbwlF37f5frw3aNnFm71Xbdv3By1fu4fYVrMIxVcfylep7
Q1i97xY96myLeV4r0Xs2yY7ZKv6tegTqyd0B9ju7i2lo0u+i2s.uUXh6ymeE
c3sze24iN4dcqqebfW2dyOW6Mc28l188l9LJ2zmQ4l+LJ27Wzxc7f4i83m2g
CwdSqh289hsT3PuDaaG1pzltU1cdq7a5Vw67V41zsxsyaEsoaEsyakYS2Jyt
tUl7FElOs21KZi1qUUgRN7a8YFtrM25yK7s9zBe2Oqv2+mT3a+4Dt9oDdceF
gK2P9q+sW++BA3Zn.
-----------end_max5_patcher-----------

Screenshot 2023-04-19 at 19.29.12

And here is how the codebox looks…
Check out the scroll bar at the bottom…the values in each of the three lines are actually 256 floats long

I generated the waveforms from the script above and tweaked it to be 256 values with commas in between

256 values seems to be the limit…but it does sound pretty decent already…

2 Likes

Thank you so much for exploring it further!! I should port it for my Pod :slight_smile: