Author Topic: Soft synth idea - am I crazy?  (Read 48998 times)

0 Members and 1 Guest are viewing this topic.

Offline Raizor

  • Founder Member
  • Pentium
  • ********
  • Posts: 1154
  • Karma: 175
    • View Profile
Soft synth idea - am I crazy?
« on: January 16, 2012 »
I've been toying with the idea of writing a synth lately. I bought a copy of Musical Applications for Microprocessors many years ago with the intention of writing one for the PS2, but never got round to it. So it's probably time to actually attempt it :)

One of the major shortcomings with 4Klang and V2 seems to be the lack of easy pitch bending functionality. NeriakX seems to miss pitch bends a lot too.

My current idea is a half way house between a true synth and something similar to XM. Using XM for the pattern data and commands but generating the sounds in realtime and feeding them into the playback routing instead of predefined samples. Ideally I'd like to offer the option to precalc sounds or generate in realtime, but that's something to worry about later.

Do you think this approach is workable? I know writing the VST instrument is probably going to be tricky due to the two sources of data (XM for notes, synth for actual sounds) and it's not suitable for Midi, but I think it would be quite nice if I manage it. Not to mention, hopefully fairly easy to jazz up existing XM files.

Any thoughts?

Thanks
raizor

Challenge Trophies Won:

Offline benny!

  • Senior Member
  • DBF Aficionado
  • ********
  • Posts: 4384
  • Karma: 228
  • in this place forever!
    • View Profile
    • bennyschuetz.com - mycroBlog
Re: Soft synth idea - am I crazy?
« Reply #1 on: January 17, 2012 »
Very interesting project/idea - unfortunately I cannot suggest if and how it would work. Would be definately interesting to see how this would turn out - on the other hand - it might be a pretty large project? What amount of time do you plan to invest ?

Are there any tracker code available as open source you could maybe reuse?

Best,
benny!
[ mycroBLOG - POUET :: whatever keeps us longing - for another breath of air - is getting rare ]

Challenge Trophies Won:

Offline Raizor

  • Founder Member
  • Pentium
  • ********
  • Posts: 1154
  • Karma: 175
    • View Profile
Re: Soft synth idea - am I crazy?
« Reply #2 on: January 17, 2012 »
I'm hoping to use something like renoise for the actual composition as that handles XM and supports VSTI plugins (the synth instruments). I'm hoping someone like Ferris who has created synths before can point out if this is a no go from the outset due to something or other that I may have overlooked or am not aware of. 

As for time, I'm not sure how long it would take. I'm willing to invest a fair chunk of time working on it as I think it will be useful if I can pull it off. It seems like a logical and fairly straightforward concept, so there's bound to be some limiting factor or other that I'm not aware of that's stopped others doing something like this before. I can't see it taking a massive amount of time as there are already good resources out there relating to DSP sound generation, and also KBs excellent articles regarding the V2 synth.

I'm trying to get some crazy shader stuff sorted at the moment, but once that's working (or abandoned - eek), this will be my next project.
raizor

Challenge Trophies Won:

Offline benny!

  • Senior Member
  • DBF Aficionado
  • ********
  • Posts: 4384
  • Karma: 228
  • in this place forever!
    • View Profile
    • bennyschuetz.com - mycroBlog
Re: Soft synth idea - am I crazy?
« Reply #3 on: January 17, 2012 »
Sounds definately cool. Sorry that I cannot help - would be cool if some other ppl here could share some information with you.

Good luck, mate!
[ mycroBLOG - POUET :: whatever keeps us longing - for another breath of air - is getting rare ]

Challenge Trophies Won:

Offline Raizor

  • Founder Member
  • Pentium
  • ********
  • Posts: 1154
  • Karma: 175
    • View Profile
Re: Soft synth idea - am I crazy?
« Reply #4 on: January 17, 2012 »
Thanks Benny! Will keep you posted on progress :)
raizor

Challenge Trophies Won:

Offline Kirl

  • Senior Member
  • Pentium
  • ********
  • Posts: 1219
  • Karma: 231
    • View Profile
    • Homepage
Re: Soft synth idea - am I crazy?
« Reply #5 on: January 17, 2012 »
Sorry I can't help either, but I did want to mention I've got a huge interest in writing a softsynth as well, my housemate (who's into music, and about to start a really interesting music education) keeps telling me I should look into that. I've been reading a lot about the physics of sound and psychoacoustical compression techniques lately, as well as having a lot of interesting discussions about virtual VS analogue synths.

I'll defenatly keep my eyes on this thread as well, hopefully a few more helpfull people will get in here! :)
www.kirl.nl
Challenge Trophies Won:

Offline Raizor

  • Founder Member
  • Pentium
  • ********
  • Posts: 1154
  • Karma: 175
    • View Profile
Re: Soft synth idea - am I crazy?
« Reply #6 on: January 17, 2012 »
Cool stuff Kirl. I will probably pick your brains for some theory at some point! :)

Do you do any coding in other languages than action-script? I intend to use C# to start this off (as I'm very familiar with it and find it nice and quick for prototyping) and then port everything over to C/C++ when I'm happy with it. I'd be more than happy for you to have a play around with it once I've got something rough and ready going.
raizor

Challenge Trophies Won:

Offline hellfire

  • Sponsor
  • Pentium
  • *******
  • Posts: 1294
  • Karma: 466
    • View Profile
    • my stuff
Re: Soft synth idea - am I crazy?
« Reply #7 on: January 18, 2012 »
One of the major shortcomings with 4Klang and V2 seems to be the lack of easy pitch bending functionality.
I haven't really used any of the two but I don't see why the pitch shouldn't be controlable.
On the other hand you wouldn't do it to save pattern size and use a lfo to control the pitch.

My current idea is a half way house between a true synth and something similar to XM. Using XM for the pattern data and commands but generating the sounds in realtime and feeding them into the playback routing instead of predefined samples.
So you're sacrificing to control any other parameter in realtime in favour of pitch.

I'm hoping to use something like renoise for the actual composition as that handles XM and supports VSTI plugins (the synth instruments).
Renoise handles XM just as far as loading it.
It uses completely different scales for replay which makes any XM sound very broken.
There is a relatively easy to handle xml interface, though.

Quote
Do you think this approach is workable?
It's basically what they did in Stash, for example.
The main problem back in the dos days was to switch between different applications (sample-generator and tracker) which is not particularly nice workflow.

Generally I like the idea of combining synthesized and sampled sounds as it gives some interesting possibilities like granular synthesis.
The difficult thing is to make it usable within a proper user interface.
« Last Edit: January 18, 2012 by hellfire »
Challenge Trophies Won:

Offline Raizor

  • Founder Member
  • Pentium
  • ********
  • Posts: 1154
  • Karma: 175
    • View Profile
Re: Soft synth idea - am I crazy?
« Reply #8 on: January 18, 2012 »
Thanks Hellfire.

So you're sacrificing to control any other parameter in realtime in favour of pitch.

Hopefully not. If I can feed the sounds generated from the synth straight into the replayer in realtime, I should be able to have the best of both worlds.

Maybe using something like OpenMPT as a base would be a good start for an interface. I'll try and get some nice sounds and then have a look at interface stuff.

raizor

Challenge Trophies Won:

Offline Jim

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 5301
  • Karma: 402
    • View Profile
Re: Soft synth idea - am I crazy?
« Reply #9 on: January 18, 2012 »
I don't see how generating waveforms on the fly gives you the ability to pitch bend.  Since static xm files with fixed samples are able to do this, it seems to me that pitch bending is a function of the playback routines and not a function of the samples themselves.
Am I missing an ambition? :)

Jim

Challenge Trophies Won:

Offline hellfire

  • Sponsor
  • Pentium
  • *******
  • Posts: 1294
  • Karma: 466
    • View Profile
    • my stuff
Re: Soft synth idea - am I crazy?
« Reply #10 on: January 18, 2012 »
A waveform generator is usually just made up of a few oscilators which can easily be tuned up or down, so there's no need to generate a sample.
I don't think tuning the vsti is possible using the typical xm-like effects-column as it just affects the sample player of the tracker.
But you can modify all vsti parameters using the automation panel - have a look here.
« Last Edit: January 18, 2012 by hellfire »
Challenge Trophies Won:

Offline Raizor

  • Founder Member
  • Pentium
  • ********
  • Posts: 1154
  • Karma: 175
    • View Profile
Re: Soft synth idea - am I crazy?
« Reply #11 on: January 18, 2012 »
I don't see how generating waveforms on the fly gives you the ability to pitch bend.  Since static xm files with fixed samples are able to do this, it seems to me that pitch bending is a function of the playback routines and not a function of the samples themselves.
Am I missing an ambition? :)

Jim

I was planning to feed the samples into the replayer as they're generated and let the replayer take care of pitch bending. Maybe I'm missing something??
raizor

Challenge Trophies Won:

Offline Kirl

  • Senior Member
  • Pentium
  • ********
  • Posts: 1219
  • Karma: 231
    • View Profile
    • Homepage
Re: Soft synth idea - am I crazy?
« Reply #12 on: January 18, 2012 »
Do you do any coding in other languages than action-script? ... I'd be more than happy for you to have a play around with it once I've got something rough and ready going.

I do not have a lot of experience outside of scripting, except for a little bit of J2ME for phones. I've been planning to move to more powerfull languages for a long time as I keep running into limmiting factors. Sound generation is defenatly one of the main things that makes me want to learn other languages. Reading up on the terms and bits of synth theory mentioned here will be interesting to get a better understanding of it all.

Looking forward to play with whatever you'll come up with, good luck! :)
« Last Edit: January 19, 2012 by Kirl »
www.kirl.nl
Challenge Trophies Won:

Offline hellfire

  • Sponsor
  • Pentium
  • *******
  • Posts: 1294
  • Karma: 466
    • View Profile
    • my stuff
Re: Soft synth idea - am I crazy?
« Reply #13 on: January 18, 2012 »
Maybe I can help, too. I've already successfully failed to finish two promising synth designs! ;)
Challenge Trophies Won:

Offline Raizor

  • Founder Member
  • Pentium
  • ********
  • Posts: 1154
  • Karma: 175
    • View Profile
Re: Soft synth idea - am I crazy?
« Reply #14 on: January 18, 2012 »
Kirl and Hellfire :)
raizor

Challenge Trophies Won:

Offline Rbz

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 2757
  • Karma: 493
    • View Profile
    • https://www.rbraz.com/
Re: Soft synth idea - am I crazy?
« Reply #15 on: January 19, 2012 »
@Raizor, I also tried to do a synth that way and guess what... I have failed completely :), things like importing a .xm file turned into a nightmare for me. And if you are trying to make small intros (<64k) the xm format isn't good for that.

I did make a synth for 4k intros, and I choose to make my own interface, it was "less painfully" for me than working with existing interfaces, it works like Ferris "sonant", where a song is precalc before playing, not really good for musicians but it's possible to make some "music" with it. ;)

Not forgetting to mention that Hellfire helped me a lot on how to develop a useful interface/features for a musician.

Not knowing anything about music and synth, this thing takes me a lot of time to make it usable. So, a help from a musician will make your life better.

Today I know some people are successfully using a combination of VSTi pluggins + editors like Renoise, like for example Loonies synth, made by BlueBerry.
Still I think having your own interface and format is less painfully than having to deal with features not existing/provided on your synth. But of course, either way, it's a hard task.

Ok, to do a synth is *really* hard, but man, when you hear it's first song done, it's one of the most awesome feeling you could have, it's was really great for me, which was really worth all the pain.

Good luck with your project and never give up :)



Challenge Trophies Won:

Offline Jim

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 5301
  • Karma: 402
    • View Profile
Re: Soft synth idea - am I crazy?
« Reply #16 on: January 19, 2012 »
I have no idea what the state of the art is.
Sounds like people have a tune pattern and use the note values in there to drive oscillators in real time to get the music, whereas I was thinking that you'd use some meta-data to describe some samples (by adding oscillators, noise, etc) and have that generated beforehand, then use a pattern player with as many or as few xm features as you can fit playing like a standard player.

Jim
Challenge Trophies Won:

Offline Raizor

  • Founder Member
  • Pentium
  • ********
  • Posts: 1154
  • Karma: 175
    • View Profile
Re: Soft synth idea - am I crazy?
« Reply #17 on: January 19, 2012 »
@RBZ, Thanks for sharing that. I'm still going to give my idea a try and if it fails, I'll rethink a little :) Did Ferris ever release source for his synth? I've seem a javascript conversion of Sonat, so I assume the source is available somewhere. I'd really prefer to avoid making my own interface, but maybe that's going to end up being the only viable option.

@Jim, I'm not 100% sure what's state of the art these days either. It seems most synths for 4k precalc the sounds, whereas V2 generates them on the fly as it plays. I guess the precalc method yields smaller code.
raizor

Challenge Trophies Won:

Offline benny!

  • Senior Member
  • DBF Aficionado
  • ********
  • Posts: 4384
  • Karma: 228
  • in this place forever!
    • View Profile
    • bennyschuetz.com - mycroBlog
Re: Soft synth idea - am I crazy?
« Reply #18 on: January 19, 2012 »
...
@Jim, I'm not 100% sure what's state of the art these days either. It seems most synths for 4k precalc the sounds, whereas V2 generates them on the fly as it plays. I guess the precalc method yields smaller code.

As far as I remember it - I precalculated the sound in Znax3D and Shameless Plug, rendered it as wav to disk and played it using WinApi. This way I do not had to care about having additional replay routines and it saves CPU power.

Guess this way it works in most of the 4Ks out there - but I am not into that topic any more.
[ mycroBLOG - POUET :: whatever keeps us longing - for another breath of air - is getting rare ]

Challenge Trophies Won:

Offline hellfire

  • Sponsor
  • Pentium
  • *******
  • Posts: 1294
  • Karma: 466
    • View Profile
    • my stuff
Re: Soft synth idea - am I crazy?
« Reply #19 on: January 19, 2012 »
It seems most synths for 4k precalc the sounds, whereas V2 generates them on the fly as it plays. I guess the precalc method yields smaller code.
Your musician will be very happy if your stuff is usable without pre-rendering and low-latency, otherwise it's just pain to use it.
Later on you can still do a slower size-optimized version.
If you're heading for 64k it's just annoying to have a minute of sound-precalc just to save a few hundred bytes of code.
Challenge Trophies Won: