erikd
|
 |
«
Posted
2007-07-22 19:00:37 » |
|
I just uploaded some new demo's for my ModSyn library: www.gagaplay.com/modsyn/modsyn_karpluxx.jnlpUse 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.jnlpPlays 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
|
|
|
|
keldon85
|
 |
«
Reply #1 - Posted
2007-07-22 19:20:41 » |
|
Sounds superb!!!
|
|
|
|
sunet2000
Senior Newbie 
I want my mumart account back!
|
 |
«
Reply #2 - Posted
2007-07-22 20:14:07 » |
|
It does sound excellent! Doesn't run in real time on my machine, though. I'm happy for you to use my code  I wouldn't post it here if I wasn't! Cheers, Martin
|
|
|
|
Games published by our own members! Check 'em out!
|
|
erikd
|
 |
«
Reply #3 - Posted
2007-07-22 20:32:58 » |
|
Thanks  I should start making some effort in making it faster...
|
|
|
|
keldon85
|
 |
«
Reply #4 - Posted
2007-07-22 21:08:03 » |
|
KarPlux isn't working with my keyboard though!
|
|
|
|
erikd
|
 |
«
Reply #5 - Posted
2007-07-22 22:35:13 » |
|
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.
|
|
|
|
erikd
|
 |
«
Reply #6 - Posted
2007-07-23 18:07:03 » |
|
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...
|
|
|
|
keldon85
|
 |
«
Reply #7 - Posted
2007-07-23 18:39:43 » |
|
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?
|
|
|
|
erikd
|
 |
«
Reply #8 - Posted
2007-07-24 08:54:48 » |
|
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. http://en.wikipedia.org/wiki/ADSR_envelopeThe 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.
|
|
|
|
keldon85
|
 |
«
Reply #9 - Posted
2007-07-24 09:20:34 » |
|
lol, I know what an ADSR is  I mean what is yours doing that is making it slow?
|
|
|
|
Games published by our own members! Check 'em out!
|
|
cylab
|
 |
«
Reply #10 - Posted
2007-07-24 10:11:15 » |
|
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 
|
Mathias - I Know What [you] Did Last Summer!
|
|
|
princec
|
 |
«
Reply #11 - Posted
2007-07-24 11:05:56 » |
|
Strangely takes 50% CPU time on my 2.5GHz Athlon 64 too. Sounds awesome. Cas 
|
|
|
|
erikd
|
 |
«
Reply #12 - Posted
2007-07-24 11:33:24 » |
|
lol, I know what an ADSR is  I mean what is yours doing that is making it slow? Heh, I kind of suspected you'd know what an ADSR was, and I was wondering what you meant by your question...  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. 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 I'm not really into trackers except for nostalgic reasons, and i was not aware of Renoise :-) But there's some work in progress to use jVSTwrapper as well. Strangely takes 50% CPU time on my 2.5GHz Athlon 64 too. 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 
|
|
|
|
cylab
|
 |
«
Reply #13 - Posted
2007-07-24 12:11:13 » |
|
I'm not really into trackers except for nostalgic reasons, and i was not aware of Renoise :-)
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.
|
Mathias - I Know What [you] Did Last Summer!
|
|
|
erikd
|
 |
«
Reply #14 - Posted
2007-07-24 13:02:46 » |
|
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. I'll check it out sometime, thanks for the pointer  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.
|
|
|
|
cylab
|
 |
«
Reply #15 - Posted
2007-07-24 13:31:59 » |
|
I always found that the using trackers is quite a 'techy' way to create music and it feels quite unnatural to the average musician.
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 
|
Mathias - I Know What [you] Did Last Summer!
|
|
|
keldon85
|
 |
«
Reply #16 - Posted
2007-07-24 14:32:35 » |
|
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 
|
|
|
|
erikd
|
 |
«
Reply #17 - Posted
2007-07-24 14:48:47 » |
|
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  Yeah, not everything in music is a drum beat  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.
|
|
|
|
cylab
|
 |
«
Reply #18 - Posted
2007-07-24 16:37:35 » |
|
I know this goes off topic, BUT...  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. 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  Try it seriously ( more than 15min) - there's an unlimited free demo... Edit: And yes - I know the developers in person 
|
Mathias - I Know What [you] Did Last Summer!
|
|
|
keldon85
|
 |
«
Reply #19 - Posted
2007-07-24 17:29:01 » |
|
Try it seriously ( more than 15min) - there's an unlimited free demo... Edit: And yes - I know the developers in person  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.
|
|
|
|
|
erikd
|
 |
«
Reply #21 - Posted
2007-07-25 16:57:44 » |
|
Worked on some GUI stuff. You can now have fun adjusting the parameters of the KarPluxx synth  Be careful with the Filter Cut-off parameter; set it too high and things easily get out of control.
|
|
|
|
erikd
|
 |
«
Reply #22 - Posted
2007-07-26 09:31:18 » |
|
The library is still written in a way that it doesn't need to depend on AWT/Swing or JavaSound (except of course when you use components that depend on it). This to make it an option for use in games that avoid these dependencies (typically LWJGL games, I'd only need to create an interface to OpenAL)).
I always thought it would be cool to be able to use realtime generated sound effects instead of static audio samples, to make sound more organic and dynamic.
My question, is it *likely* to be used in such games, or is everybody happy to use sampled sound effects? Maybe I'll try to use it in Hyper Blazer, as a proof of concept...
If there's no need for this lib for gaming, then maybe I'll drop focus on that and concentrate more on VST integration.
|
|
|
|
keldon85
|
 |
«
Reply #23 - Posted
2007-07-26 09:45:23 » |
|
Well just think, most games on the gameboy and NES used synthesized sounds for music and effects. It all depends, maybe they want to reduce size and have synthesized effects.
|
|
|
|
erikd
|
 |
«
Reply #24 - Posted
2007-07-26 11:00:54 » |
|
Well just think, most games on the gameboy and NES used synthesized sounds for music and effects. Yes, but I'm not targetting NES and Gameboy  It all depends, maybe they want to reduce size and have synthesized effects. That was basically my question 
|
|
|
|
keldon85
|
 |
«
Reply #25 - Posted
2007-07-26 11:49:34 » |
|
If you can create usable effects then people who need effects will use them. I very much doubt that any random person is going to try to create effects without any knowledge and would just go for samples, so if you can create a set of preset effects/sounds then I think that people will use them.
|
|
|
|
cylab
|
 |
«
Reply #26 - Posted
2007-07-26 12:28:14 » |
|
Actually dynamic sound effects are a valuable part of many game genres. Think of 3D-Sound in shooters to guess the location of an enemy or reverb effects in racing games when driving through a tunnel. This is not really on topic, but nevertheless interesting for audio coders: I recently stumbled over a paper dealing with GPU Audio Processing
|
Mathias - I Know What [you] Did Last Summer!
|
|
|
keldon85
|
 |
«
Reply #27 - Posted
2007-07-26 14:04:57 » |
|
I'm surprised someone actually wrote a paper on it, I mean it's no surprise; in fact when the PS2 was released some universities bought them in bulk to use their GPU's as calculators. I think that in the coming years we may see a general maths processing card (they are already being developed), and maybe some SIMD processors.
|
|
|
|
keeb
Innocent Bystander
|
 |
«
Reply #28 - Posted
2007-07-26 14:39:36 » |
|
Plays just great on my box.
Fantastic app, I had a lot of fun demoing it.
|
|
|
|
|