Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi, from the screenshot I see that you need to crank up the volume, its on the right side. Either the mix vol for the mix output and/or the id vol (individual volume) for the direct voice out and/or the aux channels volumes. Or you could try to load a multi which should have that settings. I know a synthesizer should rock out of the box but I played safe with Minicomputer which causes quite some confusion. The dedaults could be better, something for the todo list. Cheers, Malte On 16.02.2011 03:36, Jeremy wrote: It's the latest SVN version. No changes before I compiled it. http://i.imgur.com/dbHKk.png is a screenshot. Jeremy On Wed, Feb 16, 2011 at 1:29 AM, Malte Steiner stei...@block4.com mailto:stei...@block4.com wrote: can you send me a screenshot of the editor? maybe its something which is obvious to me. Is this the original Minicomputer or some changed version? -- media art + development http://www.block4.com new on iTunes: Notstandskomitee Automatenmusik http://itunes.apple.com/us/album/automatenmusik/id383400418 ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi Malte, So I really don't know what my problem is. The best way I fan describe what minicomputer is doing is non-deterministic. The only things it *never* does is work right when I start it, or stop playing notes when I let go, and the only thing it *always* does is randomly jump the volume up or down when I'm not touching anything but notes. Basically. I start it up, do load multi, then load sound, crank *all* of the volumes up to *max*, connect the midi port to both the synthesizer and the editor, and connect all the outputs to my speakers. It never makes sound when I do this. However, when I fiddle around with settings, redo stuff, wait a while, etc, it will usually end up making some sound. However, I can find *no* pattern as to what causes it to start making sound, and once it doesn't it will never stop, because it seems to be ignoring note off events. Even stuff like the morph wheel doesn't seem deterministic. I move it to a position, it makes a sound, I move it away, it makes a new sound. I move it back, it continues to make the new sound. I move it around a bunch, and I find that it *tends* to make the new sound in one area, and the old sound in another, but it is never certain. Could you please point me to a dummy walkthrough of exactly what to click in order to get it to make sound, because right now it feels like it's purposely taunting me by behaving erratically. Jeremy On Wed, Feb 16, 2011 at 9:58 PM, Malte Steiner stei...@block4.com wrote: Hi, from the screenshot I see that you need to crank up the volume, its on the right side. Either the mix vol for the mix output and/or the id vol (individual volume) for the direct voice out and/or the aux channels volumes. Or you could try to load a multi which should have that settings. I know a synthesizer should rock out of the box but I played safe with Minicomputer which causes quite some confusion. The dedaults could be better, something for the todo list. Cheers, Malte On 16.02.2011 03:36, Jeremy wrote: It's the latest SVN version. No changes before I compiled it. http://i.imgur.com/dbHKk.png is a screenshot. Jeremy On Wed, Feb 16, 2011 at 1:29 AM, Malte Steiner stei...@block4.com mailto:stei...@block4.com wrote: can you send me a screenshot of the editor? maybe its something which is obvious to me. Is this the original Minicomputer or some changed version? -- media art + development http://www.block4.com new on iTunes: Notstandskomitee Automatenmusik http://itunes.apple.com/us/album/automatenmusik/id383400418 ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Thanks a lot Malte, However, I'm still having very strange issues with minicomputer. I copied the presets to .minicomputer. Now the editor recognizes the presets. When it gets a program change event it switches the presets, and you can also switch the presets with the gui, and the settings change. However, I don't get any sound coming out! I'm running jack, I know I've got the audio system set up right, because all other programs work with it. I've tried connecting to *Every* midi port, and connecting *every* output port to my speakers. Still no sound. I've tried every combination of preset changes+channel changes, no luck. I've opened up kmidimon to verify it's getting the right events: it is. I've checked the jack messages to see if it's being swamped with xruns (it's getting some, but not enough to be a concern). I tried changing various mix or volume settings on the GUI in combination with all of the above. Still no luck. However, one time, in the middle of everything, I got sound. I think it was after I moved the modulation wheel. But then it was stuck with the sound on. It kept playing notes, but would never stop (it was monophonic). It was as if it was only getting note on commands. Program changes worked, and it didn't change anything when I switched between channels. The pitch bend did nothing, neither did the modulation wheel. I disconnected every port except for the Mix ports, and it still played audio. So I thought I had it figured out. I restarted it, and tried to reproduce. I couldn't. The mod wheel does nothing. Nothing I do does anything. Please help me! Jeremy On Sun, Feb 13, 2011 at 2:34 PM, Malte Steiner stei...@block4.com wrote: Hi, I have been doing some more work recently on the minicomputer port, and I have a few questions/ problems: 1. I can't get minicomputer to make any sound. I start the CPU and the gui up fine, connect them to midi in and audio out in qjackctl, and play something, and there is no sound. Are the default settings supposed to be silent? If so, what should I change to get some sound? The default is silent, have you installed the preset sounds and load a multi and / or a preset sound? That should get you started 2. Could you give me a brief explanation of what is controlled by OSC and what is controlled by MIDI? Also, there are two different jack MIDI input ports for the two programs (minicomputer and minicomputerCPU). Do these work differently? How so? Please consult the minicomputerManual PDF which should clearify all the questions. Midi to the minicomputer alsa port is only for programchanges while to the minicomputerCPU is for midi notes on channel 1 to 8. OSC goes from the gui to the engine for changing the parameters, the OSC messages are explained in the manual. Cheers, Malte ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
can you send me a screenshot of the editor? maybe its something which is obvious to me. Is this the original Minicomputer or some changed version? Cheers, Malte -- media art + development http://www.block4.com new on iTunes: Notstandskomitee Automatenmusik http://itunes.apple.com/us/album/automatenmusik/id383400418 ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
It's the latest SVN version. No changes before I compiled it. http://i.imgur.com/dbHKk.png is a screenshot. Jeremy On Wed, Feb 16, 2011 at 1:29 AM, Malte Steiner stei...@block4.com wrote: can you send me a screenshot of the editor? maybe its something which is obvious to me. Is this the original Minicomputer or some changed version? Cheers, Malte -- media art + development http://www.block4.com new on iTunes: Notstandskomitee Automatenmusik http://itunes.apple.com/us/album/automatenmusik/id383400418 ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi, I have been doing some more work recently on the minicomputer port, and I have a few questions/ problems: 1. I can't get minicomputer to make any sound. I start the CPU and the gui up fine, connect them to midi in and audio out in qjackctl, and play something, and there is no sound. Are the default settings supposed to be silent? If so, what should I change to get some sound? The default is silent, have you installed the preset sounds and load a multi and / or a preset sound? That should get you started 2. Could you give me a brief explanation of what is controlled by OSC and what is controlled by MIDI? Also, there are two different jack MIDI input ports for the two programs (minicomputer and minicomputerCPU). Do these work differently? How so? Please consult the minicomputerManual PDF which should clearify all the questions. Midi to the minicomputer alsa port is only for programchanges while to the minicomputerCPU is for midi notes on channel 1 to 8. OSC goes from the gui to the engine for changing the parameters, the OSC messages are explained in the manual. Cheers, Malte ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi Malte, I have been doing some more work recently on the minicomputer port, and I have a few questions/ problems: 1. I can't get minicomputer to make any sound. I start the CPU and the gui up fine, connect them to midi in and audio out in qjackctl, and play something, and there is no sound. Are the default settings supposed to be silent? If so, what should I change to get some sound? 2. Could you give me a brief explanation of what is controlled by OSC and what is controlled by MIDI? Also, there are two different jack MIDI input ports for the two programs (minicomputer and minicomputerCPU). Do these work differently? How so? Jeremy On Thu, Jan 6, 2011 at 8:36 PM, Malte Steiner stei...@block4.com wrote: On 06.01.2011 12:48, Jeremy wrote: Yes. Except it seems that you can select different settings for each of your voices. This doesn't really make sense if you are automatically assigning the notes to synth engines. I think perhaps the best way would be to have one set of settings for *all* copies of the synth engine, and if you want different settings, then you'd have to create another copy of the plugin. Yes, each voice has a different sound and response to a fixed midichannel, 1 for the first, 2 for the second voice and so on... Actually I find it rather interesting to have different settings between automatically assigned notes. For instance with slightly different sounds it even would become more alive. But yes, for the average usage it would be great to just copy the settings across the voices. The channel stealing algorhythm kept me from implementing polyphony so far, got to study that... A while ago I was against the idea of plugins but actually find it now usefull for recalling sessions. It would be great to stuff PD, Csound or AlsaModularSynth into a sequencer. So far I know that you can create LADSPA plugs with Faust and Csound but instruments?? Cheers, Malte -- media art + development http://www.block4.com new on iTunes: Notstandskomitee Automatenmusik http://itunes.apple.com/us/album/automatenmusik/id383400418 ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On Fri, 2011-01-07 at 01:57 -0500, Jeremy wrote: Also if you're looking for a channel stealing algorithm, try this: the type of a synth engine is synth typedef struct _synthblock { _synthblock* next; _synthblock* previous; synth item; } synthblock; What is a synthblock here? Is that what is otherwise refered to as a voice (complete with 2 oscillators, envelopes and filter.) ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi back, o.k. I spend a little time reading and experimenting with UI-Toolkits (please keep in mind that my app-programmingskills are limited) and have the following thoughts: - for the UI we will mainly need sliders and knobs - the UI should be lightweight to run several plugins per song/track - as far as I have seen only 2 UI-toolkits have knob-widgets include in the standard lib and that are FLTK and Qt - gtkmm has no knobs but with gtk and cairo I can draw some - brummer, the dev of guitarix gave his o.k. to use his knobs and sliders regarding my programming skils: - FLTK is ... less documented (to be polite) development unsure - Qt is big, unless we say that most people use QJackCtl, then Qt support is installed anyway - gtkmm sits on top of gtk and the most designfiles are kinda closed source .o I think my first step will be to redesign the FLTK-UI and make it more Zynaddish / Yoshish keeping the nice PPG colors Work began yesterday - be polite - this is my first UI ... I will add a soundchooser like in zynadd so that we can create banks and a midi-map window. regards, saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On Sat, Jan 8, 2011 at 3:27 AM, Jens M Andreasen jens.andrea...@comhem.sewrote: On Fri, 2011-01-07 at 01:57 -0500, Jeremy wrote: Also if you're looking for a channel stealing algorithm, try this: the type of a synth engine is synth typedef struct _synthblock { _synthblock* next; _synthblock* previous; synth item; } synthblock; What is a synthblock here? Is that what is otherwise refered to as a voice (complete with 2 oscillators, envelopes and filter.) Sorry, I'm not experienced with all the terminology. In this case a synth would be a voice, and a synthblock is simply a voice with some added book-keeping data. It is essentially just a node of a linked list. It's just weird, because sometimes it behaves as a singly linked list, and sometimes it behaves as a doubly linked list. Jeremy ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi! On Sat, Jan 8, 2011 at 9:34 AM, Sascha Schneider ungleichkl...@gmail.comwrote: - gtkmm sits on top of gtk and the most designfiles are kinda closed source .o What do you mean here? From the gtkmm site: *gtkmm* is free software distributed under the GNU Library General Public License (LGPL http://www.gtkmm.org/en/license.shtml). If by designfiles you mean files that represent the whole User Interface, they're bog-standard XML files. Check out http://glade.gnome.org/ for details. -Harry ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Forget my last post, I saw a tutorial on youtube that said one compiles the glade-file to not share it. .o and .lo are of course after compiling ... sorry, noob Saschas 2011/1/8 Sascha Schneider ungleichkl...@gmail.com: 2011/1/8 Harry Van Haaren harryhaa...@gmail.com: Hi! On Sat, Jan 8, 2011 at 9:34 AM, Sascha Schneider ungleichkl...@gmail.com wrote: - gtkmm sits on top of gtk and the most designfiles are kinda closed source .o What do you mean here? From the gtkmm site: gtkmm is free software distributed under the GNU Library General Public License (LGPL). I know that, I meant the object files with the ending .o If by designfiles you mean files that represent the whole User Interface, they're bog-standard XML files. Check out http://glade.gnome.org/ for details. -Harry Saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On Sat, Jan 8, 2011 at 10:46 AM, Sascha Schneider ungleichkl...@gmail.com wrote: Forget my last post, I saw a tutorial on youtube that said one compiles the glade-file to not share it. .o and .lo are of course after compiling ... sorry, noob this is not correct either. you can do GUI design work either using a RAD tool like Glade OR by implementing the design directly in a normal programming language. In the first case, you get a glade file that is loaded by the program and defines the design. in the second case, you compile and get object files that are linked into the program itself. its even possible (and even common) to do a bit of both - part of the program's design might be done with Glade and part of it in C++ with gtkmm (for example). the same is true for almost all other GUI toolkits that have RAD tools - its true for Qt, for Cocoa, etc etc etc ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
O.k. for my part I think I will pull my skills more into the direction of GUI-development, for it seems that GUI-Guys are needed too. I don't know if I will focus on fltk, gtkmm or qt4 ... will spend the weekend RTFM-ing. regards, saschas 2011/1/7 Jeremy jeremyb...@gmail.com: Hi Malte, So I've been working on converting it some more. If you could give me some pointers as to the meaning of variables, that would be useful. What are the EG... variables, like EG, EGFaktor,EGtrigger, and EGState? Also if you're looking for a channel stealing algorithm, try this: the type of a synth engine is synth typedef struct _synthblock { _synthblock* next; _synthblock* previous; synth item; } synthblock; Initially, you start out using the synthblock as an element of a singly linked list of free synths. You only need to use the next, pointer, and can ignore the previous pointer. You can either only keep track of the head, and use it as a stack, or you can keep track of the head and the tail and use it as a queue. Either way, adding is a constant time operation, and taking the most recently or least recently used one is also a constant time operation. Then, you have an array which keeps track of which notes are on. synthblock* currentnotes[NUM_MIDINOTES]; When you get a note-on signal, you pop the first synth block off of the free synth list, and then you add a pointer to it in this array, indexed according to what note it is playing. However, you also add it to the doubly linked list of which synths are playing, again, a constant time operation, because you are just twiddling with the next and previous pointers of two blocks. Now, the array contains a pointer to a block which is in the doubly linked list. Now, when you want all the synths to process, you can iterate through the doubly linked list, and thus you only need to process the ones that are playing notes. When you receive a note off signal, you look up the note in the array, and then remove that item from the doubly linked list, and add it to the singly linked one. In the end, you can do everything in constant time (or O(number of notes being played)) Anyway, I don't know if it's pointless for me to put my ideas here, but I'll probably implement it too, if this doesn't make sense now. Jeremy On Thu, Jan 6, 2011 at 3:36 PM, Malte Steiner stei...@block4.com wrote: On 06.01.2011 12:48, Jeremy wrote: Yes. Except it seems that you can select different settings for each of your voices. This doesn't really make sense if you are automatically assigning the notes to synth engines. I think perhaps the best way would be to have one set of settings for *all* copies of the synth engine, and if you want different settings, then you'd have to create another copy of the plugin. Yes, each voice has a different sound and response to a fixed midichannel, 1 for the first, 2 for the second voice and so on... Actually I find it rather interesting to have different settings between automatically assigned notes. For instance with slightly different sounds it even would become more alive. But yes, for the average usage it would be great to just copy the settings across the voices. The channel stealing algorhythm kept me from implementing polyphony so far, got to study that... A while ago I was against the idea of plugins but actually find it now usefull for recalling sessions. It would be great to stuff PD, Csound or AlsaModularSynth into a sequencer. So far I know that you can create LADSPA plugs with Faust and Csound but instruments?? Cheers, Malte -- media art + development http://www.block4.com new on iTunes: Notstandskomitee Automatenmusik http://itunes.apple.com/us/album/automatenmusik/id383400418 ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Yeah, that would probably be a good idea. I'm pretty bad with designing and implementing GUIs. Jeremy On Fri, Jan 7, 2011 at 3:37 AM, Sascha Schneider ungleichkl...@gmail.comwrote: O.k. for my part I think I will pull my skills more into the direction of GUI-development, for it seems that GUI-Guys are needed too. I don't know if I will focus on fltk, gtkmm or qt4 ... will spend the weekend RTFM-ing. regards, saschas 2011/1/7 Jeremy jeremyb...@gmail.com: Hi Malte, So I've been working on converting it some more. If you could give me some pointers as to the meaning of variables, that would be useful. What are the EG... variables, like EG, EGFaktor,EGtrigger, and EGState? Also if you're looking for a channel stealing algorithm, try this: the type of a synth engine is synth typedef struct _synthblock { _synthblock* next; _synthblock* previous; synth item; } synthblock; Initially, you start out using the synthblock as an element of a singly linked list of free synths. You only need to use the next, pointer, and can ignore the previous pointer. You can either only keep track of the head, and use it as a stack, or you can keep track of the head and the tail and use it as a queue. Either way, adding is a constant time operation, and taking the most recently or least recently used one is also a constant time operation. Then, you have an array which keeps track of which notes are on. synthblock* currentnotes[NUM_MIDINOTES]; When you get a note-on signal, you pop the first synth block off of the free synth list, and then you add a pointer to it in this array, indexed according to what note it is playing. However, you also add it to the doubly linked list of which synths are playing, again, a constant time operation, because you are just twiddling with the next and previous pointers of two blocks. Now, the array contains a pointer to a block which is in the doubly linked list. Now, when you want all the synths to process, you can iterate through the doubly linked list, and thus you only need to process the ones that are playing notes. When you receive a note off signal, you look up the note in the array, and then remove that item from the doubly linked list, and add it to the singly linked one. In the end, you can do everything in constant time (or O(number of notes being played)) Anyway, I don't know if it's pointless for me to put my ideas here, but I'll probably implement it too, if this doesn't make sense now. Jeremy On Thu, Jan 6, 2011 at 3:36 PM, Malte Steiner stei...@block4.com wrote: On 06.01.2011 12:48, Jeremy wrote: Yes. Except it seems that you can select different settings for each of your voices. This doesn't really make sense if you are automatically assigning the notes to synth engines. I think perhaps the best way would be to have one set of settings for *all* copies of the synth engine, and if you want different settings, then you'd have to create another copy of the plugin. Yes, each voice has a different sound and response to a fixed midichannel, 1 for the first, 2 for the second voice and so on... Actually I find it rather interesting to have different settings between automatically assigned notes. For instance with slightly different sounds it even would become more alive. But yes, for the average usage it would be great to just copy the settings across the voices. The channel stealing algorhythm kept me from implementing polyphony so far, got to study that... A while ago I was against the idea of plugins but actually find it now usefull for recalling sessions. It would be great to stuff PD, Csound or AlsaModularSynth into a sequencer. So far I know that you can create LADSPA plugs with Faust and Csound but instruments?? Cheers, Malte -- media art + development http://www.block4.com new on iTunes: Notstandskomitee Automatenmusik http://itunes.apple.com/us/album/automatenmusik/id383400418 ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On 01/06/2011 08:57 AM, Sascha Schneider wrote: Hi Loki, 2011/1/6 Loki Davison loki.davi...@gmail.com: On Mon, Jan 3, 2011 at 12:35 AM, Sascha Schneider ungleichkl...@gmail.com wrote: Hi folks, inspired by a plan of a german onlinemag called amazona.de I came up with the idea that a virtual analogue opensource softsynth nativly running on Linux would be really nice. (a nice filterbank too, but thats another thing) Amazona planned a complete synth based on userpolls (only in german, sorry): http://www.amazona.de/index.php?page=26file=2article_id=3191 which is now realized as vst: (only german, too) http://www.amazona.de/index.php?page=26file=2article_id=3202 I know that Zynaddsubfx/yoshimi has a really strong soundengine and I asked myself, if it would be possible to take this engine or the DSSI-API and build a polyphonic softsynth with a nice UI like the new calf plugins or guitarix, a bit like the loomer aspect, with some discoDSP, a bit from the Tyrell or the Roland Gaia SH-01 with midilearn, .. The problem I have are my programming skills, that are not good enough to code this kind of software by myself. Are there some LAD's willing to join/take/realise this idea?? If there is interest I could translate the ideas of amazona.de and we all could share our visions for a new kind of controllable virtual analogue softsynth. kind regards, saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev You do have the required skills, just need to choose the right tool. Actually that is my problem, my terrain till now was more in Webdevelopment - CMS-CRM, custom modules I did Java and Python, mainly object oriented. Most synth apps I see in Linux are coded in C, at least the engine, and stuff like pointers really don't fit into my brain .. might be my age ... Something for a rainy afternoon: http://cslibrary.stanford.edu/102/PointersAndMemory.pdf Just reading Page 3 and 5 of the PDF should make it clear. There's a lot of nice, tidy code you can write without knowing about pointers. But once you learn to use the power of pointers, you can never go back. As for JAVA: there's a concept like C/C++ pointers it's called references. Pointers are also common in many scripting langs. e.g in PHP using 'variable' or the backslash operator in perl. A bit over-simplified: These two main reason why some programming languages are not suitable to write *reliable* audio-engines: - Memory allocation can not be done in real-time. - Some scripting langs (f.i. python) have a global lock (meaning program execution can block and wait for some event - causing audio drop out). Besides C/C++ provides for fine-grained optimizations (such as binding variables to CPU registers). User Ingen. It is far too awesome to describe in simple words. :) http://drobilla.net/blog/software/ingen/ I will have a look at that ... Loki regards, Sascha A higher level programming environment - e.g. http://faust.grame.fr/ does abstract many many gory details, but I don't know if the right tool for the job at hand. 2c, robin ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi! On Fri, Jan 7, 2011 at 2:01 PM, Robin Gareus ro...@gareus.org wrote: Something for a rainy afternoon: http://cslibrary.stanford.edu/102/PointersAndMemory.pdf Thanks for the pointer to that! :-D Short concise very informative.. downloaded for future reference! There wouldn't happen to be something similar you know of for threads / Glib threading by chance? -Harry ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
2011/1/6 Loki Davison loki.davi...@gmail.com: You do have the required skills, just need to choose the right tool. By the way, to advance my skills C++ and DSSI/LV2 .. is anyone willing to offer a mentorship?? regards, Sascha ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On Thu, Jan 6, 2011 at 3:09 AM, Sascha Schneider ungleichkl...@gmail.comwrote: 2011/1/6 Loki Davison loki.davi...@gmail.com: You do have the required skills, just need to choose the right tool. By the way, to advance my skills C++ and DSSI/LV2 .. is anyone willing to offer a mentorship?? regards, Sascha ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev Hi Sascha, I have enough experience with LV2 plugins that I could probably help you, or do some of it myself. I'm not the most knowledgeable guy around here, but this seems like a pretty limited scope project, so I think I could be of use as a mentor. However, I seem to have difficulty finding the source on the website you linked. I registered for the for the forums, and I found a binary download for windows and mac, but nothing I could start hacking on. Jeremy ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
2011/1/6 Jeremy jeremyb...@gmail.com: On Thu, Jan 6, 2011 at 3:09 AM, Sascha Schneider ungleichkl...@gmail.com wrote: 2011/1/6 Loki Davison loki.davi...@gmail.com: You do have the required skills, just need to choose the right tool. By the way, to advance my skills C++ and DSSI/LV2 .. is anyone willing to offer a mentorship?? regards, Sascha ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev Hi Sascha, I have enough experience with LV2 plugins that I could probably help you, or do some of it myself. I'm not the most knowledgeable guy around here, but this seems like a pretty limited scope project, so I think I could be of use as a mentor. Oh thanks .. However, I seem to have difficulty finding the source on the website you linked. I registered for the for the forums, and I found a binary download for windows and mac, but nothing I could start hacking on. Jeremy Thats all they have for the Tyrell, the planing of this synth and what it should do is described as a sort of manual in one of the links http://www.amazona.de/index.php?page=26file=2article_id=3191page_num=2 here from page 2 the moogulator describes in detail what the synth does. Sorry, all in german. Urs Heckmann a german VSTi developer took some of the code of his existing VSTi's and made the alpha plugin within 3 days. This U-He plugin will be free- or magware but will stay closed source. Therefor my idea after the post of Malte Steiner here was to take the engine of his minicomputer from http://minicomputer.sourceforge.net/ Malte himself had the idea of making this synth polyphon and monotimbral as LV2 or DSSI plugin, but lacks time. Advantage of this synth is that it is an absolutely lightweight. regards, saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Okay, I think I am having a little difficulty understanding what's going on here. At first I was under the impression that you were looking to port a VST plugin developed by this German magazine to a linux plugin format. After reading your email, I think you're looking to develop a plugin port of minicomputer, whose features and UI will *parallel* those of another synth which is being developed by the magazine. It seems that the VST plugin which I found (using a machine translation of the website) was *not* synonymous with the synth designs that you were pointing to. So basically, if I am correct (and correct me if I'm wrong), the magazine posted design information about a synth, (but not anything else), and some unrelated programmer posted modifications of synths he previously wrote, which he made to fit the designs outlined in the magazine. And you are hoping to *also* create a synth which fits these design goals, although you want to make it an open source linux synth plugin, rather than a closed source windows synth plugin. Please let me know what of the above was incorrect. So, for a starting point, I've imported the minicomputer sources into a git repository:https://github.com/jeremysalwen/Minicomputer-LV2 Jeremy On Thu, Jan 6, 2011 at 3:49 AM, Sascha Schneider ungleichkl...@gmail.comwrote: 2011/1/6 Jeremy jeremyb...@gmail.com: On Thu, Jan 6, 2011 at 3:09 AM, Sascha Schneider ungleichkl...@gmail.com wrote: 2011/1/6 Loki Davison loki.davi...@gmail.com: You do have the required skills, just need to choose the right tool. By the way, to advance my skills C++ and DSSI/LV2 .. is anyone willing to offer a mentorship?? regards, Sascha ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev Hi Sascha, I have enough experience with LV2 plugins that I could probably help you, or do some of it myself. I'm not the most knowledgeable guy around here, but this seems like a pretty limited scope project, so I think I could be of use as a mentor. Oh thanks .. However, I seem to have difficulty finding the source on the website you linked. I registered for the for the forums, and I found a binary download for windows and mac, but nothing I could start hacking on. Jeremy Thats all they have for the Tyrell, the planing of this synth and what it should do is described as a sort of manual in one of the links http://www.amazona.de/index.php?page=26file=2article_id=3191page_num=2 here from page 2 the moogulator describes in detail what the synth does. Sorry, all in german. Urs Heckmann a german VSTi developer took some of the code of his existing VSTi's and made the alpha plugin within 3 days. This U-He plugin will be free- or magware but will stay closed source. Therefor my idea after the post of Malte Steiner here was to take the engine of his minicomputer from http://minicomputer.sourceforge.net/ Malte himself had the idea of making this synth polyphon and monotimbral as LV2 or DSSI plugin, but lacks time. Advantage of this synth is that it is an absolutely lightweight. regards, saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On Thu, 2011-01-06 at 09:09 +0100, Sascha Schneider wrote: 2011/1/6 Loki Davison loki.davi...@gmail.com: You do have the required skills, just need to choose the right tool. By the way, to advance my skills C++ and DSSI/LV2 .. is anyone willing to offer a mentorship?? regards, Sascha You don't really need a mentor, you just need a tutorial on C programming and to sit down and do it. Once you've got your head around things a bit, grab a copy of xsynth-dssi and start poking around inside. It's a great example of a practical DSSI synth plugin. Gordon MM0YEQ ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Okay, looking at the sources a little more, it seems like all we need to port is the minicomputerCPU component. The editor can just be used to communicate to the plugin using the lv2ExternalUI extension. Jeremy On Thu, Jan 6, 2011 at 4:32 AM, Jeremy jeremyb...@gmail.com wrote: Okay, I think I am having a little difficulty understanding what's going on here. At first I was under the impression that you were looking to port a VST plugin developed by this German magazine to a linux plugin format. After reading your email, I think you're looking to develop a plugin port of minicomputer, whose features and UI will *parallel* those of another synth which is being developed by the magazine. It seems that the VST plugin which I found (using a machine translation of the website) was *not* synonymous with the synth designs that you were pointing to. So basically, if I am correct (and correct me if I'm wrong), the magazine posted design information about a synth, (but not anything else), and some unrelated programmer posted modifications of synths he previously wrote, which he made to fit the designs outlined in the magazine. And you are hoping to *also* create a synth which fits these design goals, although you want to make it an open source linux synth plugin, rather than a closed source windows synth plugin. Please let me know what of the above was incorrect. So, for a starting point, I've imported the minicomputer sources into a git repository:https://github.com/jeremysalwen/Minicomputer-LV2 Jeremy On Thu, Jan 6, 2011 at 3:49 AM, Sascha Schneider ungleichkl...@gmail.comwrote: 2011/1/6 Jeremy jeremyb...@gmail.com: On Thu, Jan 6, 2011 at 3:09 AM, Sascha Schneider ungleichkl...@gmail.com wrote: 2011/1/6 Loki Davison loki.davi...@gmail.com: You do have the required skills, just need to choose the right tool. By the way, to advance my skills C++ and DSSI/LV2 .. is anyone willing to offer a mentorship?? regards, Sascha ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev Hi Sascha, I have enough experience with LV2 plugins that I could probably help you, or do some of it myself. I'm not the most knowledgeable guy around here, but this seems like a pretty limited scope project, so I think I could be of use as a mentor. Oh thanks .. However, I seem to have difficulty finding the source on the website you linked. I registered for the for the forums, and I found a binary download for windows and mac, but nothing I could start hacking on. Jeremy Thats all they have for the Tyrell, the planing of this synth and what it should do is described as a sort of manual in one of the links http://www.amazona.de/index.php?page=26file=2article_id=3191page_num=2 here from page 2 the moogulator describes in detail what the synth does. Sorry, all in german. Urs Heckmann a german VSTi developer took some of the code of his existing VSTi's and made the alpha plugin within 3 days. This U-He plugin will be free- or magware but will stay closed source. Therefor my idea after the post of Malte Steiner here was to take the engine of his minicomputer from http://minicomputer.sourceforge.net/ Malte himself had the idea of making this synth polyphon and monotimbral as LV2 or DSSI plugin, but lacks time. Advantage of this synth is that it is an absolutely lightweight. regards, saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
O.k. in more detail or just different explanation: I love makin music with linux and I was looking for a dssi/lv2 synth I could connectable to an external USB contorller to play arround with sound more or less live. Then in the audio4linux irc someone pointed me to the Tyrell, an idea how a real synth could be, based on Uservotes of that magazine, with the idea of beeing a real synth on day maybe. Moogulator has made a detailed descripion of all the knobs, functions and routings of this synth and set in on the homepage. Then, befor Xmas Urs Heckmann, a german VST-developer, jumped in and said he would create this synth as VST, cause no company wanted to build this synth as hardware for the price estimated, and offer it as freeware VST. I asked Urs if he also would consider creating this synth as native Linux DSSI/LV2 plugin freeware nad he said maybe. I have no problem even with paying for apps if they are really good, but making a VST closesource, that is based on userinput of a community .. hm not really my idea of how the world should run. O.k. I understand Urs, cause his VSTs really sound good (on Win and Mac) and cause he earns money with it, he doesen't want his algorithms spread for free into the workd ... So I searched an alternative to be something like the Tyrell, but opensource and linux ... Malte pointed me to his minicomputer, I love the sound ... this synth-engine is I yust love it. So changing idea . make a DSSI or LV2 of Maltes Minicomputer, that is 4 or 8 voce polyphon and monotimbral, controllable with an external USB-controller automatable with f.e. Qtractor and maybe . just maybe a bit more of an eyecandy . regards, Sascha 2011/1/6 Jeremy jeremyb...@gmail.com: Okay, I think I am having a little difficulty understanding what's going on here. At first I was under the impression that you were looking to port a VST plugin developed by this German magazine to a linux plugin format. After reading your email, I think you're looking to develop a plugin port of minicomputer, whose features and UI will *parallel* those of another synth which is being developed by the magazine. It seems that the VST plugin which I found (using a machine translation of the website) was *not* synonymous with the synth designs that you were pointing to. So basically, if I am correct (and correct me if I'm wrong), the magazine posted design information about a synth, (but not anything else), and some unrelated programmer posted modifications of synths he previously wrote, which he made to fit the designs outlined in the magazine. And you are hoping to *also* create a synth which fits these design goals, although you want to make it an open source linux synth plugin, rather than a closed source windows synth plugin. Please let me know what of the above was incorrect. So, for a starting point, I've imported the minicomputer sources into a git repository:https://github.com/jeremysalwen/Minicomputer-LV2 Jeremy On Thu, Jan 6, 2011 at 3:49 AM, Sascha Schneider ungleichkl...@gmail.com wrote: 2011/1/6 Jeremy jeremyb...@gmail.com: On Thu, Jan 6, 2011 at 3:09 AM, Sascha Schneider ungleichkl...@gmail.com wrote: 2011/1/6 Loki Davison loki.davi...@gmail.com: You do have the required skills, just need to choose the right tool. By the way, to advance my skills C++ and DSSI/LV2 .. is anyone willing to offer a mentorship?? regards, Sascha ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev Hi Sascha, I have enough experience with LV2 plugins that I could probably help you, or do some of it myself. I'm not the most knowledgeable guy around here, but this seems like a pretty limited scope project, so I think I could be of use as a mentor. Oh thanks .. However, I seem to have difficulty finding the source on the website you linked. I registered for the for the forums, and I found a binary download for windows and mac, but nothing I could start hacking on. Jeremy Thats all they have for the Tyrell, the planing of this synth and what it should do is described as a sort of manual in one of the links http://www.amazona.de/index.php?page=26file=2article_id=3191page_num=2 here from page 2 the moogulator describes in detail what the synth does. Sorry, all in german. Urs Heckmann a german VSTi developer took some of the code of his existing VSTi's and made the alpha plugin within 3 days. This U-He plugin will be free- or magware but will stay closed source. Therefor my idea after the post of Malte Steiner here was to take the engine of his minicomputer from http://minicomputer.sourceforge.net/ Malte himself had the idea of making this synth polyphon and monotimbral as LV2 or DSSI plugin, but lacks time. Advantage of this synth is that it is an absolutely
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On Thu, Jan 6, 2011 at 5:31 AM, Sascha Schneider ungleichkl...@gmail.comwrote: 2011/1/6 Jeremy jeremyb...@gmail.com: Okay, looking at the sources a little more, it seems like all we need to port is the minicomputerCPU component. The editor can just be used to communicate to the plugin using the lv2ExternalUI extension. Jeremy Not all, .. minicomputer is actually 8 synths on 8 different midichannels all playing one sound monophonic. as LV2 we only need one synth that is polyphonic. Need to ad Midi-Mapping, cause the controllers are hardcoded in the engine. regards, saschas So wait, I'm a little confused by this. Are you saying that the engine is composed of 8 copies of the same synth, each being monophonic, but allowing you to do polyphony if you redirect the notes to different channels each (so each monophonic synth plays a different note)? If you want to make something like that polyphonic that would be very easy. You'd just set up a queue of open synth engines. You could even set the polyphony by an option that you could adjust (at the expense of memory). So if you're worried about that, don't be worried. Since it is a Jack app, it's already largely in the format we need, you just need to add some metadata, and switch around the way it handles MIDI and OSC (well, that's the time-consuming part). As for the GUI, I think since it uses OSC, you could just add some metadata and it would work as a LV2ExternalUI (well, very minor source code modifications would be necessary). However, if you're interested in designing a new GUI, that would be possible too. Jeremy ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On 06/01/11 10:31, Sascha Schneider wrote: Not all, .. minicomputer is actually 8 synths on 8 different midichannels all playing one sound monophonic. as LV2 we only need one synth that is polyphonic. Voice management isn't that easy to get right, especially if you want to support things like Sustain and Sostenuto (hold pedals) and voice stealing correctly. It took me ages to iron out the known polyphony bugs in Calf Organ. K. ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
2011/1/6 Jeremy jeremyb...@gmail.com: On Thu, Jan 6, 2011 at 5:31 AM, Sascha Schneider ungleichkl...@gmail.com wrote: 2011/1/6 Jeremy jeremyb...@gmail.com: Okay, looking at the sources a little more, it seems like all we need to port is the minicomputerCPU component. The editor can just be used to communicate to the plugin using the lv2ExternalUI extension. Jeremy Not all, .. minicomputer is actually 8 synths on 8 different midichannels all playing one sound monophonic. as LV2 we only need one synth that is polyphonic. Need to ad Midi-Mapping, cause the controllers are hardcoded in the engine. regards, saschas So wait, I'm a little confused by this. Are you saying that the engine is composed of 8 copies of the same synth, each being monophonic, but allowing you to do polyphony if you redirect the notes to different channels each (so each monophonic synth plays a different note)? If you want to make something like that polyphonic that would be very easy. You'd just set up a queue of open synth engines. You could even set the polyphony by an option that you could adjust (at the expense of memory). So if you're worried about that, don't be worried. Since it is a Jack app, it's already largely in the format we need, you just need to add some metadata, and switch around the way it handles MIDI and OSC (well, that's the time-consuming part). As for the GUI, I think since it uses OSC, you could just add some metadata and it would work as a LV2ExternalUI (well, very minor source code modifications would be necessary). However, if you're interested in designing a new GUI, that would be possible too. Jeremy As far as I understand it, the engine is file main.c in folder cpu GUI stuff is located in folder /editor both communicate with OSC right?? so there are somewhere in that code 8 midiports that route the midinotes to an engine (that I dont's seem to find for my codingknowledge) Now in the UI I see 8 synths each on his own midichannel. The docs Malte has made say that by using a midirouter I can send one miditrack to those 8 midichannels at the same time and hear 8 synths each with his own sound. Bur I don't see (again my lack of codingexperience) in the code the part, where it says - engine 8 voices each is reserved to an own channel or if the engine is called 8 times, one per synth-tab sorry - en ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On Thu, Jan 6, 2011 at 6:21 AM, Sascha Schneider ungleichkl...@gmail.comwrote: 2011/1/6 Jeremy jeremyb...@gmail.com: On Thu, Jan 6, 2011 at 5:31 AM, Sascha Schneider ungleichkl...@gmail.com wrote: 2011/1/6 Jeremy jeremyb...@gmail.com: Okay, looking at the sources a little more, it seems like all we need to port is the minicomputerCPU component. The editor can just be used to communicate to the plugin using the lv2ExternalUI extension. Jeremy Not all, .. minicomputer is actually 8 synths on 8 different midichannels all playing one sound monophonic. as LV2 we only need one synth that is polyphonic. Need to ad Midi-Mapping, cause the controllers are hardcoded in the engine. regards, saschas So wait, I'm a little confused by this. Are you saying that the engine is composed of 8 copies of the same synth, each being monophonic, but allowing you to do polyphony if you redirect the notes to different channels each (so each monophonic synth plays a different note)? If you want to make something like that polyphonic that would be very easy. You'd just set up a queue of open synth engines. You could even set the polyphony by an option that you could adjust (at the expense of memory). So if you're worried about that, don't be worried. Since it is a Jack app, it's already largely in the format we need, you just need to add some metadata, and switch around the way it handles MIDI and OSC (well, that's the time-consuming part). As for the GUI, I think since it uses OSC, you could just add some metadata and it would work as a LV2ExternalUI (well, very minor source code modifications would be necessary). However, if you're interested in designing a new GUI, that would be possible too. Jeremy As far as I understand it, the engine is file main.c in folder cpu GUI stuff is located in folder /editor both communicate with OSC right?? Yes. Except it seems that you can select different settings for each of your voices. This doesn't really make sense if you are automatically assigning the notes to synth engines. I think perhaps the best way would be to have one set of settings for *all* copies of the synth engine, and if you want different settings, then you'd have to create another copy of the plugin. so there are somewhere in that code 8 midiports that route the midinotes to an engine (that I dont's seem to find for my codingknowledge) Now in the UI I see 8 synths each on his own midichannel. The docs Malte has made say that by using a midirouter I can send one miditrack to those 8 midichannels at the same time and hear 8 synths each with his own sound. Yup, and I'm saying we can just build in that functionality into the plugin. Bur I don't see (again my lack of codingexperience) in the code the part, where it says - engine 8 voices each is reserved to an own channel or if the engine is called 8 times, one per synth-tab I'm not sure what that means either. sorry - en ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On 06.01.2011 12:48, Jeremy wrote: Yes. Except it seems that you can select different settings for each of your voices. This doesn't really make sense if you are automatically assigning the notes to synth engines. I think perhaps the best way would be to have one set of settings for *all* copies of the synth engine, and if you want different settings, then you'd have to create another copy of the plugin. Yes, each voice has a different sound and response to a fixed midichannel, 1 for the first, 2 for the second voice and so on... Actually I find it rather interesting to have different settings between automatically assigned notes. For instance with slightly different sounds it even would become more alive. But yes, for the average usage it would be great to just copy the settings across the voices. The channel stealing algorhythm kept me from implementing polyphony so far, got to study that... A while ago I was against the idea of plugins but actually find it now usefull for recalling sessions. It would be great to stuff PD, Csound or AlsaModularSynth into a sequencer. So far I know that you can create LADSPA plugs with Faust and Csound but instruments?? Cheers, Malte -- media art + development http://www.block4.com new on iTunes: Notstandskomitee Automatenmusik http://itunes.apple.com/us/album/automatenmusik/id383400418 ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi Malte, So I've been working on converting it some more. If you could give me some pointers as to the meaning of variables, that would be useful. What are the EG... variables, like EG, EGFaktor,EGtrigger, and EGState? Also if you're looking for a channel stealing algorithm, try this: the type of a synth engine is synth typedef struct _synthblock { _synthblock* next; _synthblock* previous; synth item; } synthblock; Initially, you start out using the synthblock as an element of a singly linked list of free synths. You only need to use the next, pointer, and can ignore the previous pointer. You can either only keep track of the head, and use it as a stack, or you can keep track of the head and the tail and use it as a queue. Either way, adding is a constant time operation, and taking the most recently or least recently used one is also a constant time operation. Then, you have an array which keeps track of which notes are on. synthblock* currentnotes[NUM_MIDINOTES]; When you get a note-on signal, you pop the first synth block off of the free synth list, and then you add a pointer to it in this array, indexed according to what note it is playing. However, you also add it to the * doubly* linked list of which synths are playing, again, a constant time operation, because you are just twiddling with the next and previous pointers of two blocks. Now, the array contains a pointer to a block which is in the doubly linked list. Now, when you want all the synths to process, you can iterate through the doubly linked list, and thus you only need to process the ones that are playing notes. When you receive a note off signal, you look up the note in the array, and then remove that item from the doubly linked list, and add it to the singly linked one. In the end, you can do everything in constant time (or O(number of notes being played)) Anyway, I don't know if it's pointless for me to put my ideas here, but I'll probably implement it too, if this doesn't make sense now. Jeremy On Thu, Jan 6, 2011 at 3:36 PM, Malte Steiner stei...@block4.com wrote: On 06.01.2011 12:48, Jeremy wrote: Yes. Except it seems that you can select different settings for each of your voices. This doesn't really make sense if you are automatically assigning the notes to synth engines. I think perhaps the best way would be to have one set of settings for *all* copies of the synth engine, and if you want different settings, then you'd have to create another copy of the plugin. Yes, each voice has a different sound and response to a fixed midichannel, 1 for the first, 2 for the second voice and so on... Actually I find it rather interesting to have different settings between automatically assigned notes. For instance with slightly different sounds it even would become more alive. But yes, for the average usage it would be great to just copy the settings across the voices. The channel stealing algorhythm kept me from implementing polyphony so far, got to study that... A while ago I was against the idea of plugins but actually find it now usefull for recalling sessions. It would be great to stuff PD, Csound or AlsaModularSynth into a sequencer. So far I know that you can create LADSPA plugs with Faust and Csound but instruments?? Cheers, Malte -- media art + development http://www.block4.com new on iTunes: Notstandskomitee Automatenmusik http://itunes.apple.com/us/album/automatenmusik/id383400418 ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On Mon, Jan 3, 2011 at 12:35 AM, Sascha Schneider ungleichkl...@gmail.com wrote: Hi folks, inspired by a plan of a german onlinemag called amazona.de I came up with the idea that a virtual analogue opensource softsynth nativly running on Linux would be really nice. (a nice filterbank too, but thats another thing) Amazona planned a complete synth based on userpolls (only in german, sorry): http://www.amazona.de/index.php?page=26file=2article_id=3191 which is now realized as vst: (only german, too) http://www.amazona.de/index.php?page=26file=2article_id=3202 I know that Zynaddsubfx/yoshimi has a really strong soundengine and I asked myself, if it would be possible to take this engine or the DSSI-API and build a polyphonic softsynth with a nice UI like the new calf plugins or guitarix, a bit like the loomer aspect, with some discoDSP, a bit from the Tyrell or the Roland Gaia SH-01 with midilearn, .. The problem I have are my programming skills, that are not good enough to code this kind of software by myself. Are there some LAD's willing to join/take/realise this idea?? If there is interest I could translate the ideas of amazona.de and we all could share our visions for a new kind of controllable virtual analogue softsynth. kind regards, saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev You do have the required skills, just need to choose the right tool. User Ingen. It is far too awesome to describe in simple words. :) http://drobilla.net/blog/software/ingen/ Loki ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
On Thu, Jan 6, 2011 at 11:14 AM, Loki Davison loki.davi...@gmail.com wrote: On Mon, Jan 3, 2011 at 12:35 AM, Sascha Schneider ungleichkl...@gmail.com wrote: Hi folks, inspired by a plan of a german onlinemag called amazona.de I came up with the idea that a virtual analogue opensource softsynth nativly running on Linux would be really nice. (a nice filterbank too, but thats another thing) Amazona planned a complete synth based on userpolls (only in german, sorry): http://www.amazona.de/index.php?page=26file=2article_id=3191 which is now realized as vst: (only german, too) http://www.amazona.de/index.php?page=26file=2article_id=3202 I know that Zynaddsubfx/yoshimi has a really strong soundengine and I asked myself, if it would be possible to take this engine or the DSSI-API and build a polyphonic softsynth with a nice UI like the new calf plugins or guitarix, a bit like the loomer aspect, with some discoDSP, a bit from the Tyrell or the Roland Gaia SH-01 with midilearn, .. The problem I have are my programming skills, that are not good enough to code this kind of software by myself. Are there some LAD's willing to join/take/realise this idea?? If there is interest I could translate the ideas of amazona.de and we all could share our visions for a new kind of controllable virtual analogue softsynth. kind regards, saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev You do have the required skills, just need to choose the right tool. User Ingen. It is far too awesome to describe in simple words. :) http://drobilla.net/blog/software/ingen/ Loki s/user/use I just woke up, that's my excuse... ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi Loki, 2011/1/6 Loki Davison loki.davi...@gmail.com: On Mon, Jan 3, 2011 at 12:35 AM, Sascha Schneider ungleichkl...@gmail.com wrote: Hi folks, inspired by a plan of a german onlinemag called amazona.de I came up with the idea that a virtual analogue opensource softsynth nativly running on Linux would be really nice. (a nice filterbank too, but thats another thing) Amazona planned a complete synth based on userpolls (only in german, sorry): http://www.amazona.de/index.php?page=26file=2article_id=3191 which is now realized as vst: (only german, too) http://www.amazona.de/index.php?page=26file=2article_id=3202 I know that Zynaddsubfx/yoshimi has a really strong soundengine and I asked myself, if it would be possible to take this engine or the DSSI-API and build a polyphonic softsynth with a nice UI like the new calf plugins or guitarix, a bit like the loomer aspect, with some discoDSP, a bit from the Tyrell or the Roland Gaia SH-01 with midilearn, .. The problem I have are my programming skills, that are not good enough to code this kind of software by myself. Are there some LAD's willing to join/take/realise this idea?? If there is interest I could translate the ideas of amazona.de and we all could share our visions for a new kind of controllable virtual analogue softsynth. kind regards, saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev You do have the required skills, just need to choose the right tool. Actually that is my problem, my terrain till now was more in Webdevelopment - CMS-CRM, custom modules I did Java and Python, mainly object oriented. Most synth apps I see in Linux are coded in C, at least the engine, and stuff like pointers really don't fit into my brain .. might be my age ... User Ingen. It is far too awesome to describe in simple words. :) http://drobilla.net/blog/software/ingen/ I will have a look at that ... Loki regards, Sascha ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
[LAD] Devs needed for opensource virtual analog softsynth idea
Hi folks, inspired by a plan of a german onlinemag called amazona.de I came up with the idea that a virtual analogue opensource softsynth nativly running on Linux would be really nice. (a nice filterbank too, but thats another thing) Amazona planned a complete synth based on userpolls (only in german, sorry): http://www.amazona.de/index.php?page=26file=2article_id=3191 which is now realized as vst: (only german, too) http://www.amazona.de/index.php?page=26file=2article_id=3202 I know that Zynaddsubfx/yoshimi has a really strong soundengine and I asked myself, if it would be possible to take this engine or the DSSI-API and build a polyphonic softsynth with a nice UI like the new calf plugins or guitarix, a bit like the loomer aspect, with some discoDSP, a bit from the Tyrell or the Roland Gaia SH-01 with midilearn, .. The problem I have are my programming skills, that are not good enough to code this kind of software by myself. Are there some LAD's willing to join/take/realise this idea?? If there is interest I could translate the ideas of amazona.de and we all could share our visions for a new kind of controllable virtual analogue softsynth. kind regards, saschas ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hello Sascha! I'm not good at coding at all, but I think a more useable framework for a softsynth, if you like to build it with an existing one, might be bristol. Bristol is a synth emulator. It has a couple of synths already. But it might not suffer, having a new filter or different oscillator in it, if Nick is OK with that. The synths it emulates, are basically built from the components (filters, oscs, etc.), that are in the engine. Then they are connected in a particular way and get a GUI/CLI put on top of them. Bristol has, what I would call MIDI learning. You can easily assing MIDI controls to controls of the currently loaded synth and I think you can save them as well. Have a look at his site: http://bristol.sf.net The sweet thing about using this would be, that you have to implement the new components and then there is an API - so I believe - for relatively easily constructing the connections and the UIs. I know only of the textUI, which is very clever and helpful! Kindly yours julien Music was my first love and it will be my last (John Miles) FIND MY WEB-PROJECT AT: http://ltsb.sourceforge.net the Linux TextBased Studio guide === AND MY PERSONAL PAGES AT: === http://www.juliencoder.de ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev
Re: [LAD] Devs needed for opensource virtual analog softsynth idea
Hi Sascha, I found the AlsaModularSynth to be a great sounding analog-ish modular synthesizer with a very direct and very usable interface. I don't quite understand your vision just yet. Is the idea basically to write an attractive and usable GUI for an existing synth (engine)? On 2 January 2011 21:47, Julien Claassen jul...@c-lab.de wrote: Hello Sascha! I'm not good at coding at all, but I think a more useable framework for a softsynth, if you like to build it with an existing one, might be bristol. Bristol is a synth emulator. It has a couple of synths already. But it might not suffer, having a new filter or different oscillator in it, if Nick is OK with that. The synths it emulates, are basically built from the components (filters, oscs, etc.), that are in the engine. Then they are connected in a particular way and get a GUI/CLI put on top of them. Bristol has, what I would call MIDI learning. You can easily assing MIDI controls to controls of the currently loaded synth and I think you can save them as well. Have a look at his site: http://bristol.sf.net The sweet thing about using this would be, that you have to implement the new components and then there is an API - so I believe - for relatively easily constructing the connections and the UIs. I know only of the textUI, which is very clever and helpful! Kindly yours julien Music was my first love and it will be my last (John Miles) FIND MY WEB-PROJECT AT: http://ltsb.sourceforge.net the Linux TextBased Studio guide === AND MY PERSONAL PAGES AT: === http://www.juliencoder.de ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev ___ Linux-audio-dev mailing list Linux-audio-dev@lists.linuxaudio.org http://lists.linuxaudio.org/listinfo/linux-audio-dev