ModSyn demo's

I just uploaded some new demo’s for my ModSyn library:

www.gagaplay.com/modsyn/modsyn_karpluxx.jnlp
Use your keyboard to play the ‘KarPluxx’ synth. (Keyboard code snatched from sunet2000, hope he doesn’t mind :))
This synth uses Karplus-Strong to simulate plucked strings. A Chorus is added for flavour, and each note is slightly panned.

www.gagaplay.com/modsyn/modsyn_clockwork.jnlp
Plays a MIDI file from the theme from the movie ‘A Clockwork Orange’. Uses multiple MIDI channels, 2 synth types (subtractive, FM), and one channel has added reverb.

WARNING: It is currently quite slow so if you have a 500MHz PC or something, it probably won’t cope with especially the MIDI File demo.

The sources are here:
www.gagaplay.com/modsyn/src.zip

Sounds superb!!!

It does sound excellent! Doesn’t run in real time on my machine, though.

I’m happy for you to use my code :slight_smile: I wouldn’t post it here if I wasn’t!

Cheers,
Martin

Thanks :slight_smile:
I should start making some effort in making it faster…

KarPlux isn’t working with my keyboard though!

I know, no MIDI-in yet. I have to buy a new MIDI i/f to work on that…
I hope I’ll find the time next week.

Performance is improved somewhat now. (Online sources are not updated yet though, only the jws binary).
The MIDI file demo takes about 45% CPU time on my laptop with 1.6GHz Celeron M. Still way too slow I think though…
First thing is to rewrite the ADSREnvelope thingy, as it’s slow and ugly…

Hmmm! What exactly is the current one doing, may I ask?

ADSR Envelope = Attack-Decay-Sustain-Release Envelope. They control filters, volume, modulation etc. Basically anything that can be controlled.

The current one in ModSyn is something quickly hacked together, has a bug (not really noticable in the demo’s though), and has way too many branches so is very slow. I’m currently rewriting it to make it a bit more elegant and fast.

lol, I know what an ADSR is :smiley: I mean what is yours doing that is making it slow?

Nice work! And in case you are into trackers, do you know Renoise? I tested sunsets soft synth in Renoise with the jVSTwRapper - works like a charm :slight_smile:

Strangely takes 50% CPU time on my 2.5GHz Athlon 64 too. Sounds awesome.

Cas :slight_smile:

Heh, I kind of suspected you’d know what an ADSR was, and I was wondering what you meant by your question… :slight_smile:
There’s some cascaded if-else-if-else-if-else in there and it recalculates too many things each sample, so it was always bound to be slow. The current one was just a quick and dirty hack, but it should be easy to write a better and faster implementation.

[quote]Nice work! And in case you are into trackers, do you know Renoise? I tested sunsets soft synth in Renoise with the jVSTwRapper - works like a charm Smiley
[/quote]
I’m not really into trackers except for nostalgic reasons, and i was not aware of Renoise :slight_smile:
But there’s some work in progress to use jVSTwrapper as well.

[quote]Strangely takes 50% CPU time on my 2.5GHz Athlon 64 too.
[/quote]
I measured CPU usage with the demo without GUI (-Xprof shows 55% of the time is spent while blocked where bytes are sent to the sound card). But it seems that for some strange reason, the CPU usage almost doubled when I added a little swing window and wrapped the demo in a separate thread (with GUI it takes about 80% on my machine, measured with the taskmanager) … No idea why yet because -Xprof seems to barf as soon as swing is used :-\

If you have a nostalgic phase sometimes, try it out - it’s not only the best tracker (imho) out there, but also has full midi support including controller-effects mapping and is possibly the best VST host I’ve used.

[quote]If you have a nostalgic phase sometimes, try it out - it’s not only the best tracker (imho) out there, but also has full midi support including controller-effects mapping and is possibly the best VST host I’ve used.
[/quote]
I’ll check it out sometime, thanks for the pointer :slight_smile:
I always found that the using trackers is quite a ‘techy’ way to create music and it feels quite unnatural to the average musician. But this can be a good thing too, as the different way to create music also inspires different music.
For day-to-day music making however, Cubase SX together with Reason serves me just fine.

That’s probably the reason I like trackers, since I am a techie and am quite earless - long live the circle of fifths and the common time :wink:

Program a beat in an old drum machine isn’t much different from a tracker, however the trackers (IMO) go out of their way to reduce usability :slight_smile:

Yeah, not everything in music is a drum beat :smiley:
But I suppose trackers’ crude user interfaces are the way they are because of legacy, and people growing up with trackers got used to them.

I know this goes off topic, BUT… :wink:

I don’t think a Tracker interface has to be crude per se. I actually think renoise has a quite nice user interaction. Sure you have to adapt (like for blender), but the tracker interface could very well the be best possible interface for what it does except maybe pattern arrangement.

Try it seriously (more than 15min) - there’s an unlimited free demo…

Edit: And yes - I know the developers in person :slight_smile:

Sorry but I’m guilty of being one of those 10 second people. If I can’t get what I want within then I instinctively switch off, and this is coming from someone who’ll get most retro hardware mastered without a manual. So I tried it and it’s pretty good. My main nag of most trackers was their poor snaps and timing when recording notes, but this one does it fine.