Shifrin ·
Woot!
Downloading it now guys, looking forward to putting them maths components through their paces!!!
Many thanks!
Shif.
From the original SynthMaker forum (2004–2014), with its members’ names and dates.
Shifrin ·
Woot!
Downloading it now guys, looking forward to putting them maths components through their paces!!!
Many thanks!
Shif.
malc ·
Ok, don't get too excited as we've been making sure that components we already have are there for all component types. Hence there are several adds, mults, divs etc. and several comparison ops.
Feel free to request anything that you might have been expecting that isn't there.
Acolmiztli ·
sweet
Tom7777 ·
Amazing, I can't stay away from the forum for a day without missing something great or a new release now 🙂
Acolmiztli ·
I haven't seen any subtraction math objects. Are there going to be any?
jorge ·
Acolmiztli wrote: I haven't seen any subtraction math objects. Are there going to be any?
There's Float Subtract, Int Subtract, Mono Subtract and Poly Subtract with the latest version 0.9.3n.
Acolmiztli ·
Coolies 🙂
Tom7777 ·
I have just been using SM and i want to thank Jorge and Malc again for putting in my arrow idea in to the toolbox, all the errors i was getting seem to be gone now. 🙂
jorge ·
Tom7777 wrote: I have just been using SM and i want to thank Jorge and Malc again for putting in my arrow idea in to the toolbox, all the errors i was getting seem to be gone now. 🙂
It's Malc you should thank. I really like that new feature, thanks for suggesting it.
unkargherth ·
Wow !!! and i mean WOW !!!!
Nice release jorge and malc
Note: It's strange the excitement generated by the maths here, while at school everybody hated them.... 😀 😀
Tom7777 ·
It's Malc you should thank. I really like that new feature, thanks for suggesting it.
No problem, It's always cool to see stuff that i thought of get added to an app 🙂 Thanks Malc
Nu Audio Science ·
I still hate maths 🙂
Shifrin ·
Nu Audio Science wrote: I still hate maths 🙂
Haha, I did a degree in it - along with Artificial Intelligence (Joint Honours)...
One teeny tiny bug - the mono divide has the wrong icon on it, I mean it has an 'X' instead of a '/' 😉
Shif.
Tom7777 ·
It would seem as if the float equals has the wrong label also as you have called it Int Equals,
infuzion ·
malc wrote: Ok, don't get too excited as we've been making sure that components we already have are there for all component types. Hence there are several adds, mults, divs etc. and several comparison ops.
Very nifty; thanks! BTW, I'm a little confused why the Mono & Poly Compare functions have blue & white booleans... can't find the Mono booleans in the lower left filters.
Also, thought I know the concept of stacks, how exactly does Data:Float Stack work?
Feel free to request anything that you might have been expecting that isn't there.
Thanks for asking:
• Generic Stack (or atleast String) • Any Compare:__ Not Equals (well, I could NOT an Equals, but then we can NOT an Less to get Greator Or Equals) • "Approximate To"/"Nearly Equals" (True if X is to Y by +/- Z, I can make an example module if you wish) • Average & Mean of a Float stack or Poly • switch on String Equals to make capital (in)dependant • A Poly & Mono Equal (at first I thought it would be silly, but it would be good to check if a signal is feeding into a module, so say if a Poly is 0, then change it to 1 to not mess up the multiplications... perhaps it would be better to say "Poly Equal for x samples or more"?) edit: removed Union suggestion; updated in _o, removed force negitive/positve: Math:Abs & Inv work in _q cheers
malc ·
Thanks for the comments. I'll get the bugs sorted and add all suggestions to our list.
infuzion wrote: I'm a little confused why the Mono & Poly Compare functions have blue & white booleans... can't find the Mono booleans in the lower left filters.
There's a new Mono Boolean type which, along with several others, has not been added to the filter bar yet. I'll do that very soon.
infuzion wrote: ]how exactly does Data:Float Stack work?
Attach a float to the first input then trigger the Push input to add the float to the stack. Keep doing this to build a stack of values. The first output gives the top value and the second (int) output gives the size of the stack. Trigger the Pop input to remove the top value from the stack.
infuzion wrote: "Add" should be combining the two areas to make one lager area including only both areas
Cool, that's what it does 😉 - returns the smallest area that encloses the two input areas. Maybe a better name would be Area Union? We should have an Area Intersect as well, probably other Area operations too.
infuzion ·
malc wrote: infuzion wrote: how exactly does Data:Float Stack work?
Attach a float to the first input then trigger the Push input to add the float to the stack. Keep doing this to build a stack of values. The first output gives the top value and the second (int) output gives the size of the stack. Trigger the Pop input to remove the top value from the stack.
Ah, so it's a stacker and unstacker in one!
malc wrote: infuzion wrote: "Add" should be combining the two areas to make one lager area including only both areas
Cool, that's what it does 😉 - returns the smallest area that encloses the two input areas. Maybe a better name would be Area Union?
Yes, Union for sure. Maybe a U symbol instead of +? I'd change the description to "Combines the two input areas into one" or something to that effect.
skOre ·
This is so great, always gotta love new modules!
malc ·
Good idea, I agree about changing the component symbol. I'm not totally convinced about the description though - sorry 🙂
What we have now is unabiguous: "Calculates the smallest area that contains the two input areas" - do you think it's open to interpretation?
Thanks
skOre ·
infuzion wrote: [*]"Approximate To"/"Nearly Equals" (True if X is to Y by +/- Z, I can make an example module if you wish)
sounds like something one could do a workaround for...
Tom7777 ·
area subtract/boolean would be very interesting i think, that way we could make ring type area shapes. 🙂
unkargherth ·
Mmmm seems you left out "Int strictly greater than" ( or , at least i cannot found it)
Tom7777 ·
The message -
An attempt was made to access an unnamed file past its end
still appears but it causes no crash so i don't mind so much 🙂
NothanUmber ·
Nice release, today evening is playing time 🙂
Shifrin wrote: Haha, I did a degree in it - along with Artificial Intelligence (Joint Honours)...
Cool, I didn't know that there is an uni where one can specifically make a degree in AI. That would have been my dream-study course, thinking about such things is one of my favourite hobbies (hopefully also my job in the not too far future...). If you have plans to start a project that tries to take over some techniques used there for sound engineering I'd be very interested! (E.g. one could think of a selfadapting modulation matrix that e.g. maps the moods that a person associates with a given picture to a sound (a parameter set for a very flexible synth). These pattern sets are used to train a neural network and then the output is used to adapt a modulation matrix live according to a picture that the user is painting inside the synth (or loading but the first variant would be more interesting). So one could even try to load pictures of people in different moods (that had to choose a sound in that mood) and use that information to create sounds that match the current mood of the user that is filmed by a web cam. Writing a program that "composes" variations of a given piece of music so that it fits the current sound and mood would be more challenging though... (I have a program that uses neural networks to set a melody line polyphonic "in the style of Bach or Reger" (with correct counterpoint but rather boring results. I don't think the classic neural net simulation approaches are sufficient here. Even the first picture-to-sound plan won't make sense with the current code component - without any form of (conditional) loop the "learning" algorithm is impossible to formulate in my opinion as the number of iterations that is needed to find a good enough error-minimum can not barely be predicted just by looking at the problem and thus is not linearly hardcodable. So perhaps one should postpone such ideas until later 😉 )
NothanUmber
P.S.: Another cool thing would be to transform the EEG-waves of a person into sounds. Would be handy for live playing, if one has really agressive thoughts my sound gets agressive, if one thinks sweet things one gets sweet sounds etc. (at least in a raw approximation that should be possible, eventually playing live on stage with an eeg on your head looks a little bit strange thought 🙂 )
Nu Audio Science ·
Funnily enough i had a freind who did AI up north somewhere, Maybe it was newcastle, I can't actually remember.
malc ·
unkargherth wrote: Mmmm seems you left out "Int strictly greater than" ( or , at least i cannot found it)
Good spot - it's done, but I failed to include it - doh!
Tom, I suspect the attempt to read past end of file problem is related to modules. Try renaming your modules folder to something else and see if you get the same problem. If you don't then at least that will give me a clue.
Shifrin ·
NothanUmber wrote: Cool, I didn't know that there is an uni where one can specifically make a degree in AI.
I did it at Leeds, 'Artificial Intelligence and Mathematics' Joint Honours in Science 😉 Split 50/50 between each subject. The AI stuff was pretty cool, well some of it - did a really great course on computer vision (Leeds is one of the top computer vision centres). Also tranditional 'Good Old Fashioned AI' courses, 'expert systems', 'natural language processing' etc. It's was a good course, really enjoyed it!
NothanUmber wrote: If you have plans to start a project that tries to take over some techniques used there for sound engineering I'd be very interested!
Well, at the moment I'm just mucking around building little synths/effects and gui widgets - maybe some day we could see a 'Neuron VS' style synth in SM 😉
Shif.
Tom7777 ·
Some Algorithmic stuff should be possible now, also a range of games can be made now, If i make one i will do a RPG though as they are my fav type of game. The final fantasy and chrono series are great, i might make one like FF6 sometime maybe.
Nu Audio Science ·
Quake for me please lol
Tom7777 ·
Well realtime 3d would be really hard to do, if you wanted to make a 2d version of quake you could use the following method then make it more advanced.
Something stupid
The post you want is at the bottom of the page. 🙂
NothanUmber ·
Tom7777 wrote: Some Algorithmic stuff should be possible now, also a range of games can be made now
Perhaps you're right and I'm thinking much too "classic" (everything more complex has to be done in the code component). Would be interesting how far you can come with the building blocks alone. In my "playing session" yesterday I found a float stack - that's a nice start! But for many memory allocation tasks a heap like structure would be much more comfortable. (Perhaps one can build something like that with the new parser components, the string concatenation module and a laaarge string that works as a "heap", have to experiment with that later...) The most challenging (but with some thoughts feasable) part should be how to decompose a complex algorithm so that one can comprehend the essential aspects of it at a glance (I've started a turing machine with a "hardcoded" band (made of 10 sample and holds) in order to get a more general way of programming with floats/midi data some weeks ago when we didn't have the parser components yet and had a hard time making it halfway "comprehensible" - and it didn't work at the end (I think there are some feedback problems and perhaps general bugs from my side) and I don't want to spend more time to debug it anymore as I most likely can't remedy some of the "feedback effects" by myself (if someone wants to have the schematics feel free to ask me and I'll send it to you). In my opinion time is better spent into building a simple compiler with the parser components, the turing machine is very hard to program - just a simple "and" operator for binary numbers took 25 lines to express (and due to the lack of a parser everything had to be coded as a series of integers - that could be changed now though)... Have to experiment with the parser components a little bit further though, there also seem to be some feedback problems (or I haven't fully understood how they work yet, will take some time).
NothanUmber
P.S.: I'll try to isolate some problematic parts of the turing machine and post it in the bug forum later so the work wasn't completely useless...
jorge ·
NothanUmber wrote: Have to experiment with the parser components a little bit further though, there also seem to be some feedback problems (or I haven't fully understood how they work yet, will take some time).
The parsing components are now recursive. For example the following EBNF syntax is recursive as expression depends on term which depends on factor which depends on group which depends on expression etc
group ::= '(' expression ')' factor ::= integer | group term ::= factor (('*' factor) | ('/' factor))* expression ::= term (('+' term) | ('-' term))*
here is the SM version of it:
[old link]
I still need to connect it to a float stack to make it actually calculate the result. We need a better stack component for it but at the moment I'm busy implementing arrays inside the code component.
NothanUmber ·
jorge wrote: The parsing components are now recursive.
Ahhh, extremely cool! (*)
jorge wrote: I still need to connect it to a float stack to make it actually calculate the result. We need a better stack component for it
looking forward to it!
jorge wrote: but at the moment I'm busy implementing arrays inside the code component.
(*) see above 🙂 😀
Tom7777 ·
Thanks jorge
Shifrin ·
jorge wrote: but at the moment I'm busy implementing arrays inside the code component.
😀
Sweet!
Shif.
lalo ·
jorge wrote: at the moment I'm busy implementing arrays inside the code component.
oh yeah! 😀
infuzion ·
skOre wrote: infuzion wrote: [*]"Approximate To"/"Nearly Equals" (True if X is to Y by +/- Z, I can make an example module if you wish)
sounds like something one could do a workaround for...
I can, but seeing how I spent a few hours making workarounds for Float Less Or Equals in the module I relased, then SM was released to include these hardcoded, I don't want to go thru all that again in vain. 🙂
skOre ·
infuzion wrote: skOre wrote: infuzion wrote: [*]"Approximate To"/"Nearly Equals" (True if X is to Y by +/- Z, I can make an example module if you wish)
sounds like something one could do a workaround for...
I can, but seeing how I spent a few hours making workarounds for Float Less Or Equals in the module I relased, then SM was released to include these hardcoded, I don't want to go thru all that again in vain. 🙂
This is partly why I am not releasing that much atm 😉
infuzion ·
malc wrote: Feel free to request anything that you might have been expecting that isn't there.
Functions to force a Float, Int, Mono (maybe Poly?) positvie, another to force it negitive. Until then: http://rapidshare.de/files/1927536/Float_Positive_1.0-infuzion.osm.html (open the link in a new tab/window, scroll to the bottom, then click on {Free}. The link will be on the bottom of the new page.)
infuzion ·
malc wrote: infuzion wrote: I'm a little confused why the Mono & Poly Compare functions have blue & white booleans... can't find the Mono booleans in the lower left filters.
There's a new Mono Boolean type which, along with several others, has not been added to the filter bar yet. I'll do that very soon.
Still missing in _o 🙁
malc wrote: infuzion wrote: "Add" should be combining the two areas to make one lager area including only both areas
Cool, that's what it does 😉 - returns the smallest area that encloses the two input areas. Maybe a better name would be Area Union?
Fixed in _o, looks great! Should be handy with the new Redraw Area. Looking foward to Area Intersect etc.
cheers
Wrote something here? To have a post removed or your name hidden, write to [email protected].