Sunday, 27 November 2011

New programme coming along, need a name....

Start and end loop points added to the pattern editor on my sequencer software, the beginnings of the arrange window are under way and vague plans in the back of my mind on controller lanes and built in sequenceable  LFO modulation, have loads of ideas just wish I had someone to collaborate with to speed progress up, but it's moving along. Talking of which the tempo is handled in a strange unorthodox way and I'm not sure if it will stay as it is, there is no global tempo at all, you set the tempo as you edit which means each pattern can be a different tempo, even different sections of a pattern may be made of multiple tempos, after editing the only way to change the tempo of that section is to re-time it (there is a menu item for this). I quite like the looseness of this and it lets you create interesting poly rhythms, the one issue that may arise is when an whole song needs to be re-timed, I am either going to add this feature so the whole song can be retimed to a fixed BMP, or slowed down, sped up by a percentage, or reorganise the programme to be more conventional, it's a leftfield way of doing things but may lead to thinking out of the box as the cliched phrase goes, all of the tempo tricks can be achieved with a global tempo, but for me it's a bit of a psychological block.


  1. Strange, my previous post disappeared :/

    I read your previous post about this and I also wish there were a self-contained DAW for Linux similar to Reason.

    You already have the foundation: Minaton, your new Polysynth and your sequencer engine. I'd love to see a contained solution with them integrated right into the sequencer system (maybe alongside a forked additive synth,a sampler module and some bread'n'butter FX).

    Too bad I'm not a developer so I can't help here :/

  2. I was going to make it totally self contained as reason is (No VST SUPPORT) but now I'm wondering as LV2 already helps with much of the work I could make a set of plugins in that format that have a similar visual theme to slot into a rack system, think the integration could be so tight they felt like part of the programme, then optionally you could use 3rd party plugins alongside them, the whole thing could be installed as one package of plugins + sequencer, big job, will take some time and maybe I'll get some help along the way at some point, all ideas are welcome not just from programmers, the poly subtractive synth is coming along okay working on LFOs tonight, it'll have less dependencies as it doesn't use libsamplerate or libsndfile.

  3. That whole project sounds awesome. Tell me how I can help when you're ready.
    Anyway, the reason I was against plugins is that you're dependent on which parts of the synth is exposed to the host in the plugin format. I'm not familiar with the LV2 plugin system but a basic requirement would be that it's possible to automatically determine how many audio in/outputs a device has and then make a sane default mixer connection within the host. Another example would be that say, you wanted to give the possibility to globally enable a tempo sync of all parameters - does the LV2 plugin api allow you to set universally accepted tempo-synced rates, the famous synced LFO for cutoff ? The same goes for volume - is there a standard way to set the volume for any LV2 plugin or is this to done within the host itself? If any of the above is doable with a plugin system then I'm personally all for it. if not then it'd be a compromise in flexibility, IMHO.
    Here are some things I'd love to see in your LAPS (linux audio production system, DAW is maybe a bit premature at this point - I haven't mentioned audio ... Yet :)
    * monophonic synth - primary purpose: Bass and Lead. Needs good selection of default presets, rhythmic automation (and, of course, sync'd) included in presets a bonus. -> Minaton with a bit of work (envelope automation) and a lot of tweaking (presets). Needs fat unison mode. Keep it simple, should be a bread'n'butter synth. The 3-osc in LMMS is another nice example of a flexible yet "simple" synth.
    * polyphonic synth - looking forward to this project. Should be good for pads and some electronic pianos. Doesn't matter if it sounds articial IMHO. Should be fully automatable within the host. Again rhythmic presets (I guess this would require some sort of step sequencer) would be a bonus. I'd keep this one limited in synthesis forms (no grain synthesis or such). Must remain universally usable.
    * sampler - this could be a Sf2 player to allow for good library support. Should also allow manual sample mapping of course. Should provide basic midi functionality (velocity etc) but processing can be done in host. I guess this one calls for an established solution su h as linuxsampler. One reason for plugin support I guess.
    * sequencer: must have grid and shuffle obviously. Not much of a fan of your tempo concept myself but so be it. A rubberband timeline seems more intuitive or at least obvious. Basic midi controller support needed, rest later - just think of Reason, lol.
    * MIDI processor: This is a relatively unique idea (at least in the FOSS world). I believe it would be a good idea to be able to load a MIDI processor as a plugin into sequencer tracks (maybe even while recording a MIDI track). Such a processor could generate chords from single finger play, make arpeggios out of chords, create midi delay effects and so on. The actual programming is probably not as much work as providing some example presets to get people going, though. The actual concept is pretty much limitless, though. Imagine being able to sort of 'grep every fourth played note, half its duration and duplicate it instead'.
    * Mixer: a mixer is desperately needed, of course. Each instrument/midi track should get one channel strip each. Insert any FX here. Needs good musical EQs - this is probably the hardest bit sound-wise.
    * bread'n'butter FX: delay, hall, echo - the works ... There's probably some good code around.
    Well, I guess its all obvious. However, that would be a great start. Not much else is needed to get some first projects going and it can advance from there with an experimental synth testbed, audio tracks with editor and whatever else might cross your mind later on.

  4. Some excellent clear ideas here, really like the midi processor idea, script driven could write a useful library of functions and share them, only software that comes close to doing that is cubase off the top of my head, most windows software even doesn't really have that feature, from what I can see all parameters in a LV2 plugin are exposed to the host so potentially anything can be routed to anything with no loss of flexibility, the internal LFOs would be part of the plugin patch, but the sequencer itself could have a more flexible assignable and tempo synced LFO system, which could be sent to any route and controlled via automation lanes, phew, okay I'd better go back to basics first and learn how to host LV2s. The tempo system in my sequencer is odd and I wouldn't really use it in a general purpose programme like this, I'll save it for something more experimental

  5. It's nice you're liking the MIDI processor idea. This is something I've been looking for in Open Source software but wasn't able to find so far.

    Many years ago, Cakewalk initiated the "MidiFX" idea with their DXi plugin system but Steinberg later picked up on it and now supports "MFX", too, to my knowledge.

    Apparently similar things are possible via VST anyway - here's an example plugin:

    Some more MFX products to give you a feel and an overview of what I'm trying to explain: - this has (among other interesting ones) the "Virtual Band" available which links to thousand of Yamaha styles. Neat !

    I think this feature alone would make your new sequencer quite unique and would love to help you in one way or another.

  6. I'm surprised all the years I've been using music software I've never heard of never mind tried MFX lol, getting vague memories that my brother in law used to use it, I'll see how it works be good if I could use that format and it'd be compatible. Have seen a basic midi effect using LV2 so this too could be another plugin unit that you just slot in, feed it a song track at one end, connect it to the synth's midi in at the other, and away it goes processing in real time using the selected function, and the midi processor could have control automation lanes to modulate aspects of the function, would be very useful as another way to come across rhythms, grooves and chords you'd have missed otherwise, actually the MIDI LFO idea I was talking about before could just be another midi effect applied to cutoff or whatever.

  7. BTW I downloaded the waveforms from that site, should be some useful ones in there.