Can't get into programming the shnth

home of post-70s electronics

Moderators: Kent, bartlebooth

Post Reply
User avatar
pugix
Super Deluxe Wiggler
Posts: 3357
Joined: Sat Oct 31, 2009 7:23 am
Location: Asheville, NC
Contact:

Can't get into programming the shnth

Post by pugix » Fri Feb 28, 2014 6:26 pm

I was eager to jump on the shnth bandwagon last year when the first batch came out. It is indeed a clever and wonderful blend of sound generation and user control. But, it's taken a lower priority for me when it comes to deciding what to play from my little collection of PB's inventions.

In my day job I program all day long (mostly in the Groovy language). Therein may lie the problem. I'm not as enthusiastic about programming as I used to be. So, with the shnth, I've never got much beyond the sample program files. Fish does not help me, because I hate visual programming. The Fish graphics just hurt my eyes. I find the shlisp text code much easier to read. But, alas, there is no syntax aware program editor for shlisp. If there were, I think I'd mount an effort to program in shlisp. But I have found the effort to be more that I want to invest. So the shnth sits idle while I play with Cocoquantus, Plumbutter, and Tetrazzi (and all my other synth gear). Yet, I doubt I will sell the shnth, because it is so unique. And who knows, one day I might have a change of attitude.
Richard
http://www.pugix.com

"Everything in our world is actually always modulated by everything else." - Peter B

User avatar
bartlebooth
Super Deluxe Wiggler
Posts: 1059
Joined: Sat Dec 13, 2008 2:26 pm
Location: DC

Post by bartlebooth » Fri Feb 28, 2014 6:55 pm

you can try checking out https://github.com/DaveSeidel/ShlispTools , shnth user dave seidel posted some tools there including 'shlerb', a template for generating shlisp files, it lets you extend shlisp by using ruby code. or maybe you can write your own program to generate txt files for the shnth and upload them from the command line? or then again maybe its just not your thing

User avatar
pugix
Super Deluxe Wiggler
Posts: 3357
Joined: Sat Oct 31, 2009 7:23 am
Location: Asheville, NC
Contact:

Post by pugix » Sat Mar 01, 2014 1:58 am

Thanks for the ShlispTools link. I have done some Ruby programming. Maybe I will find time later this year to dig into it.
Richard
http://www.pugix.com

"Everything in our world is actually always modulated by everything else." - Peter B

User avatar
thelizard
in it for the money
Posts: 1392
Joined: Sun Aug 30, 2009 3:27 pm
Location: Houston, TX

Post by thelizard » Thu Mar 06, 2014 11:57 am

Using black-and-white mode on Fish actually makes it a lot easier to read. I still prefer writing Shlisp code, but you can see the flow a lot more clearly than with the full-on neon colors.

User avatar
notb
Learning to Wiggle
Posts: 31
Joined: Wed Aug 14, 2013 8:12 pm

Post by notb » Fri Mar 07, 2014 9:21 pm

Weird. I'm the opposite. I program as a day job, too, and that's reason I like Fish, because it doesn't feel like the traditional programming I'm usually doing. I don't have to keep any reference material open to look functions up because the toolbar has it all right there. And after getting used to the colors, I find them useful as well. They seem random at first but the colors denote function 'type'. I wouldn't be able to survive without the random value features either, I'm a very bad random number generator. The Gwonzer is great for debugging. Basically, I can't go back after getting over the learning curve of it, too useful.

User avatar
regenbot
Super Deluxe Wiggler
Posts: 1177
Joined: Sat Aug 21, 2010 5:59 am
Location: Finland

Post by regenbot » Sat Mar 08, 2014 1:18 am

I lack programming experience and i would be lost without the great Fish.

User avatar
wednesdayayay
Super Deluxe Wiggler
Posts: 1576
Joined: Wed Nov 16, 2011 8:17 am

Post by wednesdayayay » Sat Mar 08, 2014 7:44 am

@notb I just had the same color attached to function in fish "ah ha" moment a couple days ago

I do wish the gwonzer could be used while also being able to interact with fish. Does everyone else get the same behavior where once you enable the gwonzer you can only gwonzer until your are done gwonzering?

It would also be nice to have a dedicated gwonzer lane for modulation sent from within a shnth patch although I'm not so sure how doable that is.

I didn't mind texting with the shnth but I'm more fishy now

User avatar
krz
Ultra Wiggler
Posts: 873
Joined: Tue May 18, 2010 11:16 pm
Location: Canada
Contact:

Post by krz » Sat Mar 08, 2014 3:13 pm

Fish at first glance...

Is it quick and easy to identify bowls (patches), signal flow, opcodes, modifiers? Is it easy to resize objects and text? Cause and effect?

User avatar
notb
Learning to Wiggle
Posts: 31
Joined: Wed Aug 14, 2013 8:12 pm

Post by notb » Sat Mar 08, 2014 9:56 pm

wednesdayayay wrote:I do wish the gwonzer could be used while also being able to interact with fish. Does everyone else get the same behavior where once you enable the gwonzer you can only gwonzer until your are done gwonzering?

It would also be nice to have a dedicated gwonzer lane for modulation sent from within a shnth patch although I'm not so sure how doable that is.
Yeah that's kind of annoying. Even opening new instances of Fish, the Gwonzer blocks them all. Must be some kind of critical behavior, but doesn't make sense to block the 'editor' portion, I dunno. I feel like it could get away with just blocking the 'Shnth' menu.

Dunno about your second part, do you mean like to monitor the value of a slew or swoop or something? cuz I think that'd be useful, too. Although, if I'm only worried about watching one value, I usually just output it into the [lights]. You gotta get used to reading binary though hehe. There's probably some math you can do to get it to read more like VU meter, maybe even getting brightness through some flickering trick. I might investigate this...

krz wrote:Fish at first glance...

Is it quick and easy to identify bowls (patches), signal flow, opcodes, modifiers? Is it easy to resize objects and text? Cause and effect?
In Fish the bowls/patch are called Bouillabaisse and it's basically built around them, they are laid out kinda like 'tabs' in a browser and feature the ability to 'randuplicate' which will copy one and also randomize all the number values.

Signal flow seems easier to read to me than text because of the big bubbles encapsulating the children. The nature of shlisp lets you re-organize pretty freely, as well, e.g. you set a slew to be controlled at the top of the file, and then you can just 're-use' the slew at the bottom into an oscillator, reducing the amount of nesting a bit, at the cost of vertical space.

All the opcodes/modifiers/functions/what-have-you are always available for drag-n-drop from a toolbar and optionally include tooltip documentation. Unfortunately, no zooming/resizing. Cause n effect dunno but maybe the gwonzer or output to lights like above.

User avatar
krz
Ultra Wiggler
Posts: 873
Joined: Tue May 18, 2010 11:16 pm
Location: Canada
Contact:

Post by krz » Sun Mar 09, 2014 9:21 am

[quote="notb"]I usually just output it into the [lights]. You gotta get used to reading binary though hehe. There's probably some math you can do to get it to read more like VU meter, maybe even getting brightness through some flickering trick. I might investigate this...[/quote]


[quote="krz"]Fish at first glance...

Is it quick and easy to identify bowls (patches), signal flow, opcodes, modifiers? Is it easy to resize objects and text? Cause and effect?[/quote]

[quote="notb"]In Fish the bowls/patch are called Bouillabaisse and it's basically built around them, they are laid out kinda like 'tabs' in a browser and feature the ability to 'randuplicate' which will copy one and also randomize all the number values.

Signal flow seems easier to read to me than text because of the big bubbles encapsulating the children. The nature of shlisp lets you re-organize pretty freely, as well, e.g. you set a slew to be controlled at the top of the file, and then you can just 're-use' the slew at the bottom into an oscillator, reducing the amount of nesting a bit, at the cost of vertical space.

All the opcodes/modifiers/functions/what-have-you are always available for drag-n-drop from a toolbar and optionally include tooltip[/quote]


notb :) sorry I shoulda said that I've had refrigerated fish soup = the (linguistic) compound of 'to boil' and 'to simmer' - originaire de Marseille, Provençal, France - c'est bouilliabase aka a Shnth and Fish's patch and bank lingo.

Re: Fish... Tooltip? Yes! No one's asked exactly, but if I was pressed to try and describe the Shnth's learning curve, in a few words, to another wiggler with a similar amount of experience as I? Probably something akin to learning the Nord Modular - but in a foreign language. Learning Fish in a foreign language. With none of the prerequisite CL, or Nabra knowledge or experience, along with zero coding experience. I can't imagine if I didn't already have synth and wiggling experience.

User avatar
glia
Veteran Wiggler
Posts: 551
Joined: Wed Dec 19, 2012 9:56 pm
Location: United States

Post by glia » Tue Mar 18, 2014 3:28 pm

krz wrote:With none of the prerequisite CL, or Nabra knowledge or experience, along with zero coding experience. I can't imagine if I didn't already have synth and wiggling experience.
ha

you basically described me...no knowledge of CL, no years of wiggling to fall back on, and never typed a line of code in my life.

stumbling thru all of this

User avatar
krz
Ultra Wiggler
Posts: 873
Joined: Tue May 18, 2010 11:16 pm
Location: Canada
Contact:

Post by krz » Wed Mar 19, 2014 3:51 am

[quote="glia"][quote="krz"]With none of the prerequisite CL, or Nabra knowledge or experience, along with zero coding experience. I can't imagine if I didn't already have synth and wiggling experience.[/quote]ha

you basically described me...no knowledge of CL, no years of wiggling to fall back on, and never typed a line of code in my life.

stumbling thru all of this[/quote]

Who is here that can offer some landing lights, a helping hand,
or at least a flashlight? I dunno anything so all I can offer is a
flashlight and some notes. Hopefully my notes are correct.
If they aren't please correct me on the proper syntax, linguistics,
and programming language. :despair:

Here's my cheat sheet (so to speak) but..hey... whatever works?

Shnth/Schlisp and Fish translated into common synthesis and DSP terms.

lights = LED's

wind = microphone input

corp = the antennas
Oval section of crisscrossed wires on the bottom

tar = tare the antennae via depressing the orange button and touching the antennae simultaneously briefly and letting go of both at the same time
or.... centering the corps' value and Shnths output values (as previously programmed) with the your body's electromagnetic resistance (as explained above)

bar = the 4 wooden bars which are pressed, then the pressure on these bars is measured via contacts below the bars and coverted

major = the top row of 3 buttons

minor = the bottom row of 4 buttons

horn = a triangle oscillator

saw = a sawtooth oscillator

smoke = white noise

dust = random pulses

fog = a granular oscillator (based on a triangle wave)

haze = another granular oscillator (based on a saw wave)

horse = an asymetric tri-wave oscillator

swamp = animated grains

string = string synthesis

zither = trigger 4 strings at once

comb = comb filter

wave = lowpass filter

water = triggered filter-type pings

salt = hipass filter

swoop = a triggered triangle envelope
mount = a slow lfo

reflect = waveshaper - it reflects down at the threshold

return = waveshaper,
returns to 0 at the threshold

and = waveshaper / logic

xor = waveshaper / logic

slew = bi-directional slew

salsa = sample and hold

press = compressor

leak = noise gate

square = comparator

modo = multiply w/o scaling

srate = sample rate

mul = multiply

add = add (whew)

negwon = -1, not needed in Fish

left = left DAC
Digital to Analog Convertor
(Code to Sound)

right = right DAC
Digital to Analog Convertor
(Code to Sound)

bend = circuit bend through situations...

jump = jump through situations...

wheel = accumulates values, used to make things scroll

toggle = a toggle

togo = a sequencer

sauce = slows modified things down

pan = stereo panning

short = specify w/ 16 bits (short data type)

dirac = signed numbers (-128 to 127)

arab = unsigned numbers (0 to 255)
threshold =

Theres the nume and deno which are values in the bubbles of each modifier or opcode

A group of combined of situations is a Bouiliabase

Calanque is the palette/menu area on the lower right of Fish,
comprised of all the (above listed) opcode and modifier terms.
-------------------------
Pitches to Shnth nume & deno conversions

note - srate (use 'short' for all )
C2 - short(67,24)
C#2 - 63, 53
D2 - 59, 110
D#2 - 56, 64
E2 - 53, 42
F2 - 50,43
F#2 - 47, 65
G2 - 44, 108
G#2 - 42,42
A2 - 39, 122
A#2 - 37, 91
B2 - 35, 76
C3 - 33,76
C#3 - 31,91
D3 - 29, 119
D#3 - 28, 32
E3 - 26, 85
F3 - 25, 21
F#3 - 23, 97
G3 - 22, 54
G#3 - 21, 21
A3 - 19, 125
A#3 - 18, 109
B3 - 17, 102

then halve for each additional octave using a limit of 128 (so C4 is 16, 102; D4 is 14, 123 etc.)
-----------------------------------
The rest... Fish heads, guts, bubbles, and tail, and they how they work is explained somehat here:

https://docs.google.com/document/d/15WE ... 4qPIy8/pub

Windows, bubbles, inn(s), who's bubble is inside what tab and which of them translates and modifies what, after who, followed by what/when/why/how, and who are all modified by this parameter's max. and that parameter's min., and how and when that translates a whole rounded tab of items... and how that translates into a sound (and with which method) of triggering/playing...? Easy? I can understand, first hand, how you feel. I get lost at "Cooking..."
:roll:

User avatar
bens
Common Wiggler
Posts: 98
Joined: Thu Feb 27, 2014 9:33 pm

Post by bens » Wed Mar 19, 2014 9:45 pm

This is a late response regarding a syntax-aware editor -- @pugix, if you're an emacs user, I have a shlisp-mode at https://github.com/bensteinberg/shlisp-mode

User avatar
krz
Ultra Wiggler
Posts: 873
Joined: Tue May 18, 2010 11:16 pm
Location: Canada
Contact:

Post by krz » Thu Mar 20, 2014 1:51 pm

[quote="bens"]This is a late response regarding a syntax-aware editor -- @pugix, if you're an emacs user, I have a shlisp-mode at https://github.com/bensteinberg/shlisp-mode[/quote]

"OS checking has not been tested, except on a Mac." :tu: :bacon:

User avatar
krz
Ultra Wiggler
Posts: 873
Joined: Tue May 18, 2010 11:16 pm
Location: Canada
Contact:

Post by krz » Sun Mar 23, 2014 8:48 am

Have ye zero's and one's gurus anything to add... as we cruise thru the second year of Shnth for the masses, and the fourth year since prototyping? Some inspiring dev talk of expansion in the audio realm?

User avatar
pugix
Super Deluxe Wiggler
Posts: 3357
Joined: Sat Oct 31, 2009 7:23 am
Location: Asheville, NC
Contact:

Post by pugix » Thu Mar 27, 2014 7:32 pm

bens wrote:This is a late response regarding a syntax-aware editor -- @pugix, if you're an emacs user, I have a shlisp-mode at https://github.com/bensteinberg/shlisp-mode
And my late response to yours. :hihi:

I use a Macbook. Have not been using emacs. But I might try this. Once I have any time in my schedule again.

Thanks!
Richard
http://www.pugix.com

"Everything in our world is actually always modulated by everything else." - Peter B

User avatar
kozepz
Super Deluxe Wiggler
Posts: 1028
Joined: Sat Jul 21, 2012 8:15 am
Location: The Netherlands

Post by kozepz » Fri Mar 28, 2014 8:01 am

My experience with shnth/fish so far is:
drag and drop some things and Ctrl+shift+T / ctrl+R.

For me its hard to get inspired, maybe due to continiously introducing bad code and therefore go into OLA again.
If this happens 2 times within 5 minutes I am out of the game to explore further.

What are the absolute don'ts to prevent hanging of shnth?
Whats a basic patch of playing a chord triggerd with barA?
How can I move to the next chord tiggerd by a button?
When I create references eg for togo, were does it need to be placed?

I'd love to see 1 key combination for randomize and upload to shynth, or atleast get rid of the shift key to randomize a patch.

Will there be a possibillity in the future to select different guts and only randomize those selected ones?

Can I create my own 'thing/presets' to add to the calangue?

A lot of questions, but I still dont wanna give up yet.

User avatar
bartlebooth
Super Deluxe Wiggler
Posts: 1059
Joined: Sat Dec 13, 2008 2:26 pm
Location: DC

Post by bartlebooth » Sat Mar 29, 2014 10:32 am

hey there, i'll take a shot at answering these questions:
kozepz wrote: What are the absolute don'ts to prevent hanging of shnth?
there are no absolutes but usually it does come from uploading bad code, which then gets parsed in a way that the DSP doesn't know what to do with it so it hangs. there's really not much that can be done about that, its just a kind of error message from the shnth
kozepz wrote:Whats a basic patch of playing a chord triggerd with barA?
put any 3 oscillators into your patch, set their desired tunings, and trigger all 3 with barA as the mul
kozepz wrote:How can I move to the next chord tiggerd by a button?
use a togo instead of a fixed number in the nume (or deno), put your chord sequence in as a sequence of values, then advance the togo with the button press. note you can use the same togo in all 3 oscillators with different values in each as long as they are the same length.
kozepz wrote:When I create references eg for togo, were does it need to be placed?
references can go anywhere, even inside the fish they are referencing
kozepz wrote:I'd love to see 1 key combination for randomize and upload to shynth, or atleast get rid of the shift key to randomize a patch.
command R is for randuplicate this fish, shift-command-R is for randuplicate all fish. in general the shortcuts on the edit menu are all one keystroke and the shortcuts on the BB menu are generally the same keystroke with shift added.
i'm not sure i agree with adding automatic upload to that shortcut, its not always desired plus its already quite fast to upload at any time simply with command-T
kozepz wrote:Will there be a possibillity in the future to select different guts and only randomize those selected ones?
you can already do this, select the guts you want to change and use randuplicate from the edit menu (command-R). you can also randomize all but the ones you want to keep by freezing those (double-click on them) and then randuplicate from the boullabaisse menu (shift-command-R).
kozepz wrote:Can I create my own 'thing/presets' to add to the calangue?
certainly, all the source code is there in the shnth483 download folder

we are hoping to have an updated matrix ready for the re-release of the shnth when it comes back in stock with some new opcodes.. we'll see if we can tweak a few things to the fish interface at that time as well. one thing in particular is to make it work better with mac USB implementation so it only goes to OLA from bad code but never fromUSB communication error.

User avatar
krz
Ultra Wiggler
Posts: 873
Joined: Tue May 18, 2010 11:16 pm
Location: Canada
Contact:

Post by krz » Sat Mar 29, 2014 4:27 pm

I understood that kozepz was interested in
one computer key press to test a situation.
Drag n' drop, test, if it works, drag n drop another, test and so on. I can understand why the shift key but I think that of it hangs you would like to be back clean and ready to try again ASAP.
I also took that kozepz was suggesting a BB that is made up of all simple demo situations like a "learner's driving school- co-pilot" BB, that teaches the basics: like a major chord, or maybe an 8-note sequence of all 1/8 notes playing C (just an example) where one could change the note value, tempo, gate, step- on/off aka basic modular patch, or a "chord" situation where intervals could be changed and all the while the same bar (or button,etc) triggers the chord or basic sequence. All components easily identifiable on the screen and by hearing it. Saying you can put something "anuwhere" makes it nebulous sounding and nebulous for imagining the result?
An example would be: Montreal, Vancouver, and wanilla.bin all contain some heady situations, and they're not in order from simple to difficult, or as a progressively advanced demo of adding in opcodes, a bit at a time, as in teaching a noob. I could be totally wrong, but replying in a post do this and then this as in the chord explanation, that an actual situation to illustrate was the hoped reply? Again it could seem nebulous to fresh eyes
Actions of Drag n' drop, followed by a Randuplicate seems like it also could get convoluted looking (instantly?) and the situation building will also consequently (instantly) be nebulous with Randuplicating? I may be wrong, but some steps (and the Shnth/Fish noob's knowledge there-of) seemed to be offered all the while assuming that a user has an advanced level of understanding of the steps needed to be known as a prerequisite to getting beyond square one as I explained in the Shnth verses Nord modular programming and patch/situation/BB understanding that are necessary to be a Shnth programmer.. Some 'rungs in the learning ladder' (and subsequent plateaus of understanding) seem to be assumed as if they are general knowledge, or easily understandable and available to pick-up via reading the manual. Because the GUI is open-ended this may not be as easily evident and cut and dried to the user whom is new to synthesis, nabra, CL terms, and Shnth speak Sas well music theory and how all that goes from a to z in Shnth/Fish school. Kozepz?

User avatar
kozepz
Super Deluxe Wiggler
Posts: 1028
Joined: Sat Jul 21, 2012 8:15 am
Location: The Netherlands

Post by kozepz » Sun Mar 30, 2014 3:55 am

Thanks Bartlebooth for your answers, it cleared up quite a few basics for me.
I’ll start trying them in the most simple way to see if my fish-thinking improves.

Great that the randuplicate for (un)selected guts is available!
For me it was one path to follow in understanding the shnth…by trial and error, and lots of them :)

After re-reading my post it sounded a bit frustrated, not intended as such!
Thanks for your help again battlebooth!



@krz,
yeah that indeed the reason for a shorter shortcut for ran duplicating a situation and uploading it to the synth.
Especially when you’re not exactly know what you’re doing and are in for some surprising results, speed is the key!

A BB with basic building blocks would be great to understand the fundamentals, or even included in the calangue.

Also the numerical values, I have no feeling with it. So many times I think I understand a building block, but due to the values it doesn’t make sense as a rotating a knob would.

I’ll put some more time in it, after having filled in the tax forms, which is way worse, so fishing will be a relief :hihi:

User avatar
wednesdayayay
Super Deluxe Wiggler
Posts: 1576
Joined: Wed Nov 16, 2011 8:17 am

Post by wednesdayayay » Sun Mar 30, 2014 10:47 am

;C
{;C
(srate (short 8 51 ))
(left



(right

(horn 48 48 (bar ))
(hornb 60 48 (bar ))
(hornc 72 48 (bar ))
))

};D
{
(srate (short 14 16 ))
(left



(right

(horn 48 48 (bar ))
(hornb 60 48 (bar ))
(hornc 72 48 (bar ))
))

};E
{
(srate (short 13 42 ))
(left



(right

(horn 48 48 (bar ))
(hornb 60 48 (bar ))
(hornc 72 48 (bar ))
))

};F
{
(srate (short 12 75 ))
(left



(right

(horn 48 48 (bar ))
(hornb 60 48 (bar ))
(hornc 72 48 (bar ))
))

};G
{
(srate (short 11 27 ))
(left



(right

(horn 48 48 (bar ))
(hornb 60 48 (bar ))
(hornc 72 48 (bar ))
))

};A
{
(srate (short 9 126 ))
(left



(right

(horn 48 48 (bar ))
(hornb 60 48 (bar ))
(hornc 72 48 (bar ))
))

};B
{
(srate (short 8 115 ))
(left



(right

(horn 48 48 (bar ))
(hornb 60 48 (bar ))
(hornc 72 48 (bar ))
))

}

User avatar
wednesdayayay
Super Deluxe Wiggler
Posts: 1576
Joined: Wed Nov 16, 2011 8:17 am

Post by wednesdayayay » Sun Mar 30, 2014 10:57 am

;electronic C't belt
{
(srate (short 16 102 ))

(left

(right

(horn (togo 29 (mount 80 2 )48 24 96 30 120 60 )48 )
)
)


};electronic C't belt2
{
(srate (short 16 102 ))

(left

(right

(horn (togo 29 (mount 80 2 )48 24 96 )(togob 29 (mountb 40 2 )48 24 96 12 ))
)
)


}

User avatar
bartlebooth
Super Deluxe Wiggler
Posts: 1059
Joined: Sat Dec 13, 2008 2:26 pm
Location: DC

Post by bartlebooth » Sun Mar 30, 2014 1:19 pm

kozepz wrote: Also the numerical values, I have no feeling with it. So many times I think I understand a building block, but due to the values it doesn’t make sense as a rotating a knob would.
yeah i can understand this because the parameter values exist in the abstract space known as '0 to 255' so its hard at first to know how those translate sound-wise. let me try to help a little:

- tuning is pretty straightforward once you become familiar with just intonation..1:1 is the base frequency, 2:1 is the octave, 3:2 the perfect fifth,etc. note that there are several equivalent tunings for each note..ie 48/32 and 54/36 are the same pitch. the fundamental frequency is the current sampling rate as set by srate or defaults to 16 (approx. c#). use arab mode to get finer granularity in your tuning ratios.

- swoop & mount: a small nume and a large deno is a slower envelope (small nume = rises slowly, large deno = must cover a large distance to the bounds). if you want it even slower than that than put it in sauce

- dust: small numbers are less dense, large numbers are very dense duststorm (to test, put dust as the trigger for water, try dust: 4 versus dust: 40)

- string: this one can be a bit tricky at first but its actually just a nume/deno tuning in there. so to get a typical resonant pluck you want a small nume and a large deno, it will then be bassier.. try a string triggered by majorbutt with nume of 4 and deno of 77 for example. if you want higher pitch strikes raise the nume value, if you want less resonance lower the feedback though i usually just delete the feedback parameter or set it very high (in the 120's).

zither is similar to string but just has a deno (nume is a constant) so try larger deno values for richer plucks. also its best triggered by dust for recurring plucks like a zither. try zither triggered by dust:15, deno:99 for example.

wave, salt ,water: in all 3 of the filters a low value for Q is higher resonance (more wet, ringy). cutoff can be most anywhere (as long as not completely closed) for different kinds of effects

horse: the thing to make sure of here is that the upper bound (3rd parameter) is higher than the lower bound (4th parameter)..as long as you do that you'll be fine

slew: low values are more slewing (ie slower to reach the target value), higher values are less slewing

sauce: bigger period is slower (longer wait between samples)

reflect/return/xor: the 'other' term is the threshold above which the waveshaping occurs so make sure this threshold is not higher than the range of the input sound or you won't hear any effect..you can use the deno of the input sound as a guide as to where to set the threshold..ie try waveshaping a horn tuned to 48/64 with a corp with a mul of 32 and add of 64, you should hear it kick in as you touch more wire and the threshold falls below the horn's frequency

hope this helps, let me know if you have any specific questions though

User avatar
krz
Ultra Wiggler
Posts: 873
Joined: Tue May 18, 2010 11:16 pm
Location: Canada
Contact:

Post by krz » Sun Mar 30, 2014 4:14 pm

Shnth/Schlisp and Fish translated into common synthesis and DSP terms.

lights = LED's

wind = microphone input

corp = the antennae's
oval section of criss-crossed wires on the bottom

tar = tare the antennae via depressing the orange button and touching the antennae simultaneously, briefly, and letting go of both at the same time or.... centering the corps' value and Shnth's output values (as previously programmed) with the your body's electromagnetic resistance (as explained above)

bar = the 4 wooden bars which are pressed, then the pressure on these bars is measured via contacts below the bars and converted

major = the top row of 3 buttons

minor = the bottom row of 4 buttons

horn = a triangle oscillator

saw = a sawtooth oscillator

smoke = white noise

dust = random pulses

fog = a granular oscillator (based on a triangle wave)

haze = another granular oscillator (based on a saw wave)

horse = an asymetric tri-wave oscillator

swamp = animated grains

string = string synthesis

zither = trigger 4 strings at once

comb = comb filter

wave = lowpass filter

water = triggered filter-type pings

salt = hipass filter

swoop = a triggered triangle envelope

mount = a slow lfo

reflect = waveshaper - it reflects down at the threshold

return = waveshaper, returns to 0 at the threshold

and = waveshaper / logic

xor = waveshaper / logic

slew = bi-directional slew

salsa = sample and hold

press = compressor

leak = noise gate

square = comparator

modo = multiply w/o scaling

srate = sample rate

mul = multiply

add = add (whew)

negwon = -1, not needed in Fish

left = left DAC Digital to Analog Convertor (Code to Sound)

right = right DAC Digital to Analog Convertor (Code to Sound)

bend = circuit bend through situations...

jump = jump through situations...

wheel = accumulates values, used to make things scroll

toggle = a toggle

togo = a sequencer

sauce = slows modified things down

pan = stereo panning

short = specify w/ 16 bits (short data type)

dirac = signed numbers (-128 to 127)

arab = unsigned numbers (0 to 255)

threshold = There's the nume and deno which are values in the bubbles of each modifier or opcode.

A group of combined situations is a Bouiliabase

Calanque is the palette/menu area on the lower right of Fish, comprised of all the (above listed) opcode and modifier terms.

-------------------------

Pitches to Shnth

nume & deno conversions to note -

srate (use 'short' for all )
C2 - short(67,24)
C#2 - 63, 53
D2 - 59, 110
D#2 - 56, 64
E2 - 53, 42
F2 - 50,43
F#2 - 47, 65
G2 - 44, 108
G#2 - 42,42
A2 - 39, 122
A#2 - 37, 91
B2 - 35, 76
C3 - 33,76
C#3 - 31,91
D3 - 29, 119
D#3 - 28, 32
E3 - 26, 85
F3 - 25, 21
F#3 - 23, 97
G3 - 22, 54
G#3 - 21, 21
A3 - 19, 125
A#3 - 18, 109
B3 - 17, 102

Then halve for each additional octaves using a limit of 128 (so C4 is 16, 102; D4 is 14, 123 etc.)

Any corrections or additions, Bartlebooth?

User avatar
VortexRanger
reticulating splines
Posts: 2453
Joined: Fri Mar 04, 2011 12:13 pm
Location: North Carolina

Post by VortexRanger » Sun Mar 30, 2014 5:15 pm

Can any of y'all tell me why this sitch crashes my Shnth almost every time?

;bb
{(srate (corp 20 ))(togo (dust )-48 -110 -58 -96 -14 -4 -125 -76 32 )(togob (dustb )95 -86 -5 100 -85 -115 83 32 50 )
(togoc (dustc )52 52 -84 -61 78 -59 64 91 -13 )(togod (dustd )-60 -27 -41 52 -52 90 -54 59 70 )
(left (right (horn (togo )(bar )(hornb -90 47 (bar )))(horn (togo )(bar )(hornb -89 16 (bar )))
(horne (togoc )(barc )(hornf 80 72 (barc )))(horng (togod )(bard )(hornh -120 -124 (bard )))
(water (dust (bar 20 10 ))2 (togo ))(waterb (dustb (barb 31 15 ))1 (add (barb )togob ))
(waterc (dustc (barc 20 5 ))3 (add (barc )togoc ))(waterd (dustd (bard 12 2 ))-1 (add (bard )togod ))))}Image
You do not have the required permissions to view the files attached to this post.
:hobbes:

Post Reply

Return to “Ciat-Lonbarde”