Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (539)
Games in Android Showcase (132)
games submitted by our members
Games in WIP (603)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  ModSyn demo's  (Read 9184 times)
0 Members and 1 Guest are viewing this topic.
Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Posted 2007-07-22 19:00:37 »

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  Smiley)
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

Offline keldon85

Senior Devvie


Medals: 1



« Reply #1 - Posted 2007-07-22 19:20:41 »

Sounds superb!!!

Offline 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 Smiley I wouldn't post it here if I wasn't!

Cheers,
Martin
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #3 - Posted 2007-07-22 20:32:58 »

Thanks  Smiley
I should start making some effort in making it faster...

Offline keldon85

Senior Devvie


Medals: 1



« Reply #4 - Posted 2007-07-22 21:08:03 »

KarPlux isn't working with my keyboard though!

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« 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.

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« 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...

Offline keldon85

Senior Devvie


Medals: 1



« 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?

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« 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_envelope

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.

Offline keldon85

Senior Devvie


Medals: 1



« Reply #9 - Posted 2007-07-24 09:20:34 »

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

Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline cylab

JGO Ninja


Medals: 55



« 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 Smiley

Mathias - I Know What [you] Did Last Summer!
Offline princec

« JGO Spiffy Duke »


Medals: 435
Projects: 3
Exp: 16 years


Eh? Who? What? ... Me?


« Reply #11 - Posted 2007-07-24 11:05:56 »

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

Cas Smiley

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #12 - Posted 2007-07-24 11:33:24 »

lol, I know what an ADSR is Cheesy 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...  Smiley
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
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.

Quote
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 Undecided

Offline cylab

JGO Ninja


Medals: 55



« 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!
Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #14 - Posted 2007-07-24 13:02:46 »

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.
I'll check it out sometime, thanks for the pointer Smiley
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.

Offline cylab

JGO Ninja


Medals: 55



« 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 Wink

Mathias - I Know What [you] Did Last Summer!
Offline keldon85

Senior Devvie


Medals: 1



« 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 Smiley

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« 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 Smiley

Yeah, not everything in music is a drum beat  Cheesy
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.

Offline cylab

JGO Ninja


Medals: 55



« Reply #18 - Posted 2007-07-24 16:37:35 »

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.

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 Smiley
Try it seriously (more than 15min) - there's an unlimited free demo...

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

Mathias - I Know What [you] Did Last Summer!
Offline keldon85

Senior Devvie


Medals: 1



« 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 Smiley

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.

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« Reply #20 - Posted 2007-07-24 23:23:18 »

The envelope generator now seems to work okay, which makes everything about 20% faster on my machine. Sources are updated too.

www.gagaplay.com/modsyn/modsyn_karpluxx.jnlp
www.gagaplay.com/modsyn/modsyn_clockwork.jnlp

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

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« 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  Smiley
Be careful with the Filter Cut-off parameter; set it too high and things easily get out of control.

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« 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.

Offline keldon85

Senior Devvie


Medals: 1



« 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.

Offline erikd

JGO Ninja


Medals: 16
Projects: 4
Exp: 14 years


Maximumisness


« 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  Wink

Quote
It all depends, maybe they want to reduce size and have synthesized effects.
That was basically my question  Smiley

Offline keldon85

Senior Devvie


Medals: 1



« 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.

Offline cylab

JGO Ninja


Medals: 55



« 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!
Offline keldon85

Senior Devvie


Medals: 1



« Reply #27 - Posted 2007-07-26 14:04:57 »

This is not really on topic, but nevertheless interesting for audio coders: I recently stumbled over a paper dealing with GPU Audio Processing
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.

Offline 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.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

rwatson462 (36 views)
2014-12-15 09:26:44

Mr.CodeIt (29 views)
2014-12-14 19:50:38

BurntPizza (61 views)
2014-12-09 22:41:13

BurntPizza (98 views)
2014-12-08 04:46:31

JscottyBieshaar (58 views)
2014-12-05 12:39:02

SHC (74 views)
2014-12-03 16:27:13

CopyableCougar4 (76 views)
2014-11-29 21:32:03

toopeicgaming1999 (137 views)
2014-11-26 15:22:04

toopeicgaming1999 (127 views)
2014-11-26 15:20:36

toopeicgaming1999 (37 views)
2014-11-26 15:20:08
Resources for WIP games
by kpars
2014-12-18 10:26:14

Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!