Shbobo Shnth patches and appreciation

I’ve read a couple articles where people coded on iOS via a remote pc host - there are apparently services where you can pay to log in to a remote machine and use your iPad as a local host. It was a bit over my head but I think a similar deal might let us do this, IF the Shnth can mount in iOS. I’ve heard iOS13 beta testers say that a lot of odd hard drives are mounting to the Files app, not sure if the same would work for Shnth.
Heck I’d pay to have a Fish build running native via an iOS app or web app, would make it 100% more usable for me.

Wirelessly via a RaspberryPi over ssh/mosh with Blink shell would work I guess!

1 Like

Oh cool - yeah I guess since it does raw text you can code your situations in it.If the Shnth mounts to iOS as a usb device we might not even need the rPi, right?

Guess that won’t work, iOS can’t upload to microcontrollers directly.

Looks like a raspberry pi is in my future :sob:

A question for the Fish/shlisp gurus on here, I’m looking for a different (better) way to jump between presets with my Shtar.

The default (jump (tar 1)) in each sketch works pretty well but since I lowered my action ever so slightly (a luthier made me a new bone bridge/nut) I find that I trigger it accidentally whenever I pick aggressively.

I was thinking of trying to use the plank opcode, to get the raw fret data and either press the top two frets together, or coming up with another combo. If I look at the Gwonzer however, I can see that the top two frets get pressed “together” on occasion as well with aggressive plucking.

So some questions.

  1. Is anyone using something other than (jump (tar 1)) to navitage patches on their Shtar? Or have any clever ideas of what would be easy to trigger intentionally, but harder to trigger by accident? (maybe a combination of a couple specific frets, or a whole range of frets at the very top of the neck)

  2. Is there a way to monitor the data output of an opcode (plank) in order to see what values would be useful to use as a jump replacement? I can see activity in Gwonzer, but I don’t know what that means in terms of numbers/values that I can use inside Fish itself.

1 Like

perhaps putting something like | jump | square | Wheel | tar |
so that when you press tar if turns the wheel and by holding the tar button until you hit your threshold set by the square it should then send the trigger to jump

I haven’t done this exactly or programmed on the shnth in a while so I could very well be forgetting something obvious

EDIT:
I think you would also have to / want to program in a reset too so that the length of button press stays consistent

Oh man, that’s pretty smart! And doesn’t require any “combo” fret presses.

Hmm, so wheel just increases (from what to what actually?) for as long as it is active? My programmer brain would want to wrap it in modo so it keeps looping around itself, but that still doesn’t “reset” it as you pointed out.

Does anything in shlisp offer a “release” command and/or can wheel be reset instantly this way?

So ideally it would be holding down tar for like 1second triggers a jump and resets wheel again for next time.

edit: this is a super genius technique too for the shnth, where you can still functionally tar the corps without triggering a jump. So you have to do a press+hold to change presets.

1 Like

wheel has two inputs one that goes upwards and one that goes downward so from -127 to 127

if you hit it with quick button presses it only goes up a little bit however if you hold the button it goes faster
I like to this of it like a balloon that you can put air into little by little and hold at a point when nothing is active at either of its two inputs you can also let air out
it can also be fun to use audio/oscs at its inputs

if it is going too fast try MULing the input to the wheel this should limit how fast you can change it

also I guess I didn’t consider that it does wrap around from 127 to -127 so you may not HAVE to reset the wheel but the timing just wouldn’t be exact every time if you didn’t (perhaps wheel isn’t the best opcode here I’ll have to get fish installed and get the shnth out and try some stuff)

you could maybe make use of the downward input and hit it with a big number (120/-120 for instance) to reset by referencing the long press trigger output within a mul at the [don] (i think that was the name I don’t have fish on this computer) input

or

AND which is one of the things I use for combos when shnth programming
if you AND the Tar itself and also the wheel pulse

it should be looking for if the tar is positive (held) and the wheel pulse is positive (held for 1 second or whatever the time ends up being set by the square threshold) in order to output a positive pulse/trigger

Been a while since I went fishing, but I think I set a top and bottom fret combo as my jump and that worked pretty reliably… will have a look when I can…

Hi All,

Getting into my Shnth after having it for a little while.I love the internal sounds but I am intrigued to use it as a controller. I have two questions:

1/ Does the HID output the raw sensors and button data or is it processed/conditioned by shlisp first?
2/ Is there a way for it to output the the raw sensors and buttons as Midi (or maybe OSC)?

The data from the max patches included are not so clear (to me at least) In addition to using it as a synth I would also like to use it to control Kyma via midi. Any information would be greatly appreciated.

Best
S

shnth sends raw HID data –
you can process this data as you want.
but doesnt send or receive midi or osc.

you can check this data with shlisp:
see readme.txt –
“to run shlisp, you may need to sudo, or may not.
In a console, find your command, _lin, _win, or _mac
without any arguments it will dump the HID data received from any SHNTH”

or you can visualize this data with Fish \ Gwonzer –

but you dont need shlisp or Fish to be running to process this data:
you can process it as maxHID.maxpat does;
or as HID.scd or HID2.scd does…

so 1\ yes, the HID output the raw sensors and button data
(not processed\conditioned first)
and 2\ no.

I made this patch a few years ago that might come in handy. Just organizes and scales the data coming from the Shnth:


----------begin_max5_patcher----------
3873.3oc6c00jiZiE84t+UP4m1TUGJjPeQpJOr69RdJuj8so1pKrMsaRvfW.
OYRRk+6q9B2.FPxtM1dlVyTCcO.15py8JcO5Hg3ud7gEKK9RR0Buev6SdO7v
e83COHOk3DOn++OrXa7WVkEWIusEqJ1tMIudwSpqUm7kZ44q2Wl6Uj6sKtrJ
Mei2qIkIM2TVZdxph84x6DpO4KE404waSje5+YYZbVysmueaw95rjZYIFnOa
5Z4cVr7W+9nvlac49kKyjeE.8Y1EWu5UtA7bYxpZUEif7CdxC.C7wO4EQE+m
P9Qu+aKKoJ8OUeMP+f2Liz7Fq.HN2e+3ihCO8NgppjZukwkdo4eNgCVE4URz
xKtxK1KKspd1vsfSC2vPEvQT+H51ibutrXYgedxgKsqLohemw0bXrkoCQgMF
K2xCAheHr+NV9AT7eWruLMoz6mS9cu+UQ15oAz1EYaDrEPyXKFGVCwBqgglx
zZ.UdL6ECTeIqf+cX.3BUFTXnzmiBjVGzBf6sJbI+p0IkOmjGqiwNDJtIufW
TYoq9s1.WWXtINe4lUEYEkJyRZTucHnkAIBNZcmA5qqO.5Y5uDupaX+HNSkA
U+G6RTesKV7j2hkw4aVb3qqs+lLg+FGg7ifLLiEo9CiwwTfrhffCBvCzl505
xzNUSFUTEYPwQHpaMkeubSsK32M94saryWJE+Tmicguxswx5DYth9.LWv2oG
7QmJ3CC7YXJ.PCT+AP+.F7sceVcZUV55jRS8+gjY4XJ+mrmZHF2xPlJDyhXI
NnQ.THSTGiHfPp72Xg3PJsaMVYt1EbcRARCGDgmHHhviWNpGLPjLCFSe3vW5
6NOk8NKH9iouBMUCdhziLadmwnl8KulW+pUcuq57AfkNLB3pQJiZlTFLbJSq
oiQD6JSJCxj8TqNhYtzh1jVjFLUqj.lOkmWLfnSKFf+.lVrtXivfLE7I6IAR
HhgOCU+GzY0K6I6fSEC8cHeKXBeKLJzGwyVgYMTdN3ZgAMGubcHZEHFBj3VX
PPC78tAwQZKd94a5.16yW8ZxpeKY83MiaihFu41VTaGIbp9j4iC.wYaPhzNR
375IOAhGT1aLOHj4f4AmpECIaxSADfj4ABhPraJyCZ3T8ox6xD1uO0YiGhcI
NCvtDmmZhSxThYfHXeJ.ACg5gBPibINGK3id2k3jLkVABCFNBonaVlSnRCWW
ly9dxoFMCDG3GJT8gbrji23LmAfOjYNIQS0oJMxG1uS0aalS8j93xbdJYNwS
ILChieD93RfvF1rHWlyQB9zAb2SYNwSIPJffjMfoQ2QYNAPlKy4Pdxo32Bf.
efP8fvFOI7NIyI.B+Pl4DOEkUTHQ5t5zo5sMyodBjTINItDm1j3DME6nPN6H
NWVD.znm2aMIQfOLSgYRUU7ljil2Efm3uGz511UGz39oA8OSNiSQX0RYQN4I
HpsdjN.J7Lfj7jemabGgHYEwqkQZWJHY7vVnEvRfDVHAmErLajCXf6NFVvoF
QqPvUgtSjqSZYqvPLvwuZH+H077rNedtQ5TXmWU6In159DPSxW4T+2fvE1Hb
ATz8v7FAhkgArYhsDKMgSum11kVRoFJ0XI+qHMKQurTaEY8vh3c6Zc5GZ8QD
NfeUEhvd5voRyUmJ3voJS9bZymmb3rwk75bMuBuuT4M9BoIYi3qofyzLee5g
nAYnf1jjNcgWrZmlUhL1n4xsmsWE9oVQY.XnZkrhaspKEs8xJDw6sM5EE6Rx
Sy62b6vkWm7RLm.+yCi6cudCyoAu3fwhOrXSY55hbgQzwWHNcSw8I8JeAfaW
Yj2Qd7tA9v7XNNvLxEq3Ux8UKiKEtJcWVvlKVWTj08RG9bYIuTqu7tz77dnX
cwtwuXY5lWm3ytrfewsS8cKuR0y6yUW8YdTQ8yUwetKZWGmko6an6W+WhyS4
7xRpS2pWxsGtnpa6WqVUVjk0o9ptxmG3Jq4Q4qR98z07NaDET6fA9smtqIHZ
wAu75zMIU0cOWc7lptmop9OTfdqSseotU7y0Ia2kwqEcugNqt+1MYa2KZmyO
4p8oaWpxkutbkrW4k9hWdRx5j0suygV95S2663KvmizSMn8GYnAxGnV2BD4.
wH5EVZq1Hi2e4HIhdnIYjtWnyDR6jfp2xaeUbVh22CfLt0P44W4+t+hyD3.s
tx3r7OZz1LC3ZTDTRYTmYBdDu1SBXIeb.VpIfEx7QRELzY2CETiPeEgx6DOQ
KmKpBmBUegOltZACJ0uLJFSL0o.fhDQu.8jJRdWvJneg8FaptH3nrpFiYUuO
9PLrFgk03LsLy1ZLFWcXcYAyqdruTqRWhlykdY5FzEyGl9kETvrgFlQpXVRG
aBJY1QKy.0LizyLRQy.MMyT0LRWyBJa1Pa6TntMA8MiT3llF2zT4llN2jT5F
iV2vT6FgdmUT7FllW+9O5249QW2Hsuwn94UTl1ztzacBOfcs3o+T7ffll7mE
dxNw680LFuPy4Llle3Qirt+mbnLBJI5I5E9cvPzDMjTXB5hcx41Mu660EcTd
3dONtBFNdcH4bVvae2yojZtu+HjZiCIP+PmJyPiv8UH5qWGxQrNu8NDhENDb
v2j9ipjLOvr6LTyCQugEbjaHzZ2PjT2TJ3h3EfWAufrzlFDAl.w1hXOD9cX1
CMie5moTbywi9Z6.P8Qulzh8S.Ksm70Ie4ZEaqfnyNwHNv918TxofXfuUQLf
MotTK3lqAjMUS2tC2PP1x.2PYUQbeSimUE6KW0zlrocm2w0NNo35z7CiT6Su
0Im3lOKe84ZgBFGd.KsPgO91Xg1hgh1sWeKjb2igj6dLL7DvvlPhquEZcaYh
QKr0EaKczBwf6W+rRjimiqqKSWtuV0A0P5lcVCvdSVwx3L8vlOPmajwf+3wU
fu0UIEaTkzPfSkTmJoNURcpj5TI0oRpSkTmJoNURcpj5TI0oRpSkTmJoNURc
pj5TI0oRpSkTmJoe6pRJx7BLm4TI0oRpSkTmJoNURcpj5TI0oRpSkTmJoNUR
cpj5TI0oRpSkTmJoNURcpj5TI0oR52tpjBMpRJmluSkTmJoNURcpj5TI0oRp
SkTmJoNURcpj5TI0oRpSkTmJoNURcpj5TI0oRpSkTmJoyjJo6y2Eu527RU+8
bkKEMkboBBSOMzOFS3zPqENMHT9CD68ob5EDp6yv7hr+3FBrDPdKK+w45GkL
Ymb7RsTDp05EW4kkVU6U7hGxi6tp79G52mJem329QOkrKhld+nWt382R1201
LOlcvUceL9HAGtB6iwgl13sYh2EZhW4jzl28j3CLz95b6h9V.yvHSvbPfOT9
xPp4shzW66J22DX1z1cNULiUh2Hm3lWMmessqbeOfxl16yITXqwwcOArS8BP
XWbYUhWb9ZOEF+K+zO+e9Iu0w0wdU0kIwaUWKgentvaUQYYR0tBsb86q2sma
tWoWWBPi6L5nHe.gPXMuwfiHO4Q0uedhtad4IbjnBVV8QV9VMPEGZC4BvHjK
3t4cdKGjj..cGfDvy40PvEBVhGFVBu8vBH5bX0bAvEwD5sdXXAdG.KryhExk
AVVMLrbGzcBfdNrFtLnxHcsDbGfJD6xxeg.hg6LI51iClZyfCi7QXT.JnISK
3h.JxUrzHclPu8vhodXIAPeFLhRadyKiHWFXQrhsFAVX2AsZLMdZDHzmFvAh
lLOznKX3xvcxhuCvES5AgDCVfxBa3qFwXWv3kgwExsGWLs4cFhAWHlrp.jgy
2bGvj0T1FHi5KCNNDg.ufwGCCK2ALYMMRGHLzW1C6gWv8nKXzR7rqN5YBKgl
F+KlO9WYx3Vi+8hEsLx.etNB.8+1lTWV30MQyESzmNubrmZ8.NXmUpEWiTlA
B9cI5y0RA9ckw+gWWptmDVRlTAsmdG+aLm.0JmfdA5GwBjoOf22uoLeMUo11
r7rOHlRnIQTfcHpZl6dmw02KSb2TSlILzJ.48Oyc06Kykqz43xpTw57yxdUe
6Ei7QKNm2vvglH+VH4QSfuXQCv5TGFdt6i5N08S5GOGaHxBafMy1.xBafLy1
..agQfmaj.XCTfoyrUXETLy1PnE1.Zt8F1XDgAyrU.swHlajvFi.N28UA.1X
Eydaz.arh4tMJwBi..lYifZiQLmsOZ5P1r+XN6q.Ss0JfyoUPrzJj8X0sqss
oq2UHVBSMuCWXpEofh9YTHRJFBi0Lpel9ZyYUAXaUAMYUAF.ZWUvHeb6YhKL
ZlqJXaiMhL6UPJlvPpXnAL9HeCaO6YgL80lypBv1pxzdE.l0tpDwG2nnp.ZM
iWyYMAYqSgYzoDDodJBT+fEPjJAcXt6D5FJu1bVUrNunAmh9YfVWUfDYq9CU
EHZlqJPa8JTydE0CtttUOEA8AAs9CLbla0Cs0qPM5UBzKuIcUg.kKkfC+Aim
2phXsFaEab7bNDMoUXCITLdtsBabqXzbaE1zNAOmzMBA1R2XVsh.KsBvbN3D
XjsVwbN3DnsjgAy4fSf1RFFLm8W.CsMWxbZD1hDynMXaqzwCIzmr4wBxziDj
1XF8QAZnGCHCOBP8e7eTFm7nBhjkYKYrU1PW4qqK1rIqYusXQ68ml1SjGSsR
NijGkiARbrA+DKZWtwUmT9rZaHokbyCKG9h9aDNMmeRIxGZJYGd55Uq34nlm
u7tOk4CLW.mHnsceVcZUV55jRCHmZmFfolLN8CTK9rPN8rqrX4lUEYpsKoO4
E3yX7QswYfF3So.BfI9MDDgX7wJ.ZUPJqsyGM3oVGZeuV6b5LgNclYX1Ttmn
PeLkOpsFtm.4fAjgUL8gKmuZWbdRlw3627OgX4lnBLpWDywSG9n3T64IjLAP
.Cv9PFlFPZHfKebSZlZqtSnyhxh84qU6+PnAAml.jhx0psvqlyH1LrZa2w4a
zQZMSQ1wQUT9nADgFDHUr1nB7gjvfHrNPokePZecmBHkaoeWxZmywO+0cF04
X4izCxdv..qKInEkDpEG0yujrsJ8dKHEt.MTTrNjOV7V.xEnrCMU1jaXYiGt
rCtFXNZ9JafgxlFNakM0TQCuTQ0DSkD3h09wHdFLewvl5lfDMa9RrohlcoPX
joRhdw7kFwy4q+nHCEMlNatRS8F0VEp2WIYpOW7EKslQ3DMadRlIRBQ2rhNj
Me4ULwX4h0efQtQG2efhmYucYVQgzaWks2tI6w6hriu6w1eWiUN19w1kXe7u
e7+ySWSt8
-----------end_max5_patcher-----------
4 Likes

Thanks all for your time, and for the patch.

keycombo
I realized tonight that you can use and to do key combinations to jump between patches!

5 Likes

I just posted a bunch of short clips on YouTube today of some shnth explorations I did in the past week.







14 Likes

Thanks, TanSaturn. Your post helped me finally figure out how to use the buttons to jump to specific patches in a long situation, as opposed to having to jump from one to the next

As an example, I’ve modified wednesdayayay’s wonderful Pillow Fight situation to add an index patch at the start. In this patch, one enters the patch number in binary using the buttons directly under the LEDs, then pushes the majord button to jump to the chosen patch. For the rest of the patches, you jump back to the index patch using tar.

pillow fight indexed.txt (44.6 KB)

I’ve also created an index sheet which lists the patches, including representations of the binary values as shnth LEDs and a reminder of which controls each patch makes use of:

Pillow Fight index.pdf (15.7 KB)

11 Likes

This is fantastic, thanks! Mlogger’s recent posts in Instagram rekindled my interest in the Shnth and I tried coding Fish last night after a long hiatus… super rusty! Lately I’ve been trying to use the Shnth more but haven’t been able to code patches with wider tonal variation; aiming for that in my new explorations. This ability to jump to different patches has me really excited, thanks again.

2 Likes

I still use the older version of fish 1.2 / 1.3 as I really like the way it’s setup with the bowls along the top and also the randomduplicate. For tonal variation I use salsa sample and hold a lot triggered by dust random triggers / smoke white noise to generate random cv. I also put a bar on anything that sounds interesting. I will mul the bar to find a decent range. Try messing with the srate to make it more lofi and add after finishing a patch, likewise with comb. I also control srate via random / sample and hold or a bar. Another tip is to trigger a Togo sequencer sequence with a bar and use those notes as a modulation source.

8 Likes

Thanks mlogger these are awesome ideas - I’ve sort of stumbled over a few of these things picking apart others’ patches but you’ve given me some great directions to pursue.
Yasha’s index patch has been really helpful too; over the last couple of days I’ve been adding patches to it and generally re-acclimating to the Shlisp environment.
One thing I always wanted to figure out was the Bend opcode - seemed like a killer idea but I don’t think I was using it right.

1 Like