Author
|
How to build a soft synth
|
ketzah
IsraTrance Junior Member
Started Topics :
18
Posts :
71
Posted : Feb 22, 2004 06:28
|
Hi
Is it possible to build a soft synth in c++ ?
|
|
|
Trip-
IsraTrance Team
Started Topics :
101
Posts :
3239
Posted : Feb 22, 2004 08:55
|
|
medir
Inactive User
Started Topics :
113
Posts :
1193
Posted : Feb 22, 2004 17:40
|
|
ZilDoggo
Started Topics :
4
Posts :
663
Posted : Feb 23, 2004 03:24
|
computermusic is total crap again.,
first of all they compare writing code to learning a musical instrument.,., totaly different stuff.,
they also state wrongly that visual basic makes slow code., this is also bull as on the microsoft platform vb compiles to virtually identical code as the other 'visual' languages and you can use all libraries including directx., i dont say it's a good language but not for the reasons they state.,
also they say that assembly is the fastest language of all, which is crap.,., c/c++ is just as fast as it translates directly to assembly., you can gain very little from it compared to c/c++ and you loose a hell of a lot.
There are some java synths around so they are crappy on thatt topic too (or at least outdated)...
i have the feeling that computermusic consequently misleads it's readers with oversimplifying certain issues just to make the article more attractive.,
sorry for the ranting but i >hate< that stuff.,
i urge you all not to read their crap and to find out what stuff is realy about., you just cant be sure of the quality of info they provide., sometimes it's ok and sometimes it's crap.,., dont trust it., always check on other sources.,
if you would be up to the task of progging your own synth you would not need their info AT ALL!.., because things get very very ugly very very fast.,.,
go to college instead..,
making a softsynth is not for musicians, it's for programmers. but they make it seem otherwise.,.
like you can start tomorrow., you cant, there are so many basics you will need to learn and understand and do before you can even get a blip from your computer that music becomes trivial .,.,
the writers at computermusic may be able to program a drum pattern but more complex issues (like even fm synthesis) is beyond their pitty brains.,
bad voodoo.,.,
____________
anywa,
ketzah.,
yes, almost all softsynths are written in c++
i don't know how much experience you have in c++ but here are a few tips.
You will need to focus on what platform you intend the synth to run. mac, windowze , unix/linux, java, etc. no sense in keeping things cross-platform.
You will need to investigate what api's there are available to make sound with.
If you want it to be a vsti you will need to comply to steinbergs standards.,read their site.,
You will need to think about soundcard compatibility (depending on platform/sdk).
You will also need to investigate how synths work.
Read a lot.,., and then some.,
Just some starting points. hope they help..
aka.,
|
|
|
FluoSamsara (Oxygen)
IsraTrance Full Member
Started Topics :
84
Posts :
1164
Posted : Feb 23, 2004 03:37
|
if you're not an experienced programer, try synthedit, you can do really nice toys with it much easily |
|
|
Amygdala
Amygdala
Started Topics :
12
Posts :
175
Posted : Feb 23, 2004 22:05
|
If you are so lucky to be blessed with a macintosh, you should definetly try out SuperCollider. Go to www.audiosynth.com and see if that tickles your interest.
The language is a smalltalk based object oriented one, but in SuperCollider 3, it's possible to write plugins (for SC only...) in C++.
SuperCollider synthesizes grrrreat sound, and is capable of communicating through OSC and MIDI.
Good luck |
|
|
ketzah
IsraTrance Junior Member
Started Topics :
18
Posts :
71
Posted : Feb 28, 2004 19:23
|
Ok
now i´m going to develop a simple plugin jeje
Thank you
|
|
|
EYB
Noized
Started Topics :
111
Posts :
2849
Posted : Feb 29, 2004 20:05
|
Quote:
|
also they say that assembly is the fastest language of all, which is crap.,., c/c++ is just as fast as it translates directly to assembly., you can gain very little from it compared to c/c++ and you loose a hell of a lot.
|
|
All good languages (which are not interpreting)translates directly to assembly and the the code get compiled to executables or dlls.
And if you write directly OPTIMATED assembler it will always be faster ALWAYS!!!
I started programming with 14 years, and you can learn it by yoursself.
Maybe it is easier when you go to a college, but if you read some good books and work for it you can learn it in some month.
And if you start programming you begin really understanding how software works.
So go and learn if you want to program, you can!
And even for using Synthedit you have to learn!
|
|
|
ZilDoggo
Started Topics :
4
Posts :
663
Posted : Mar 1, 2004 00:01
|
"And if you write directly OPTIMATED assembler it will always be faster ALWAYS!!! "
hmm.,., this statement is soo full of NOPs.,
no actually the point is that compilers have become so figgin good these days that it's almost useless to write in asm. compilers know thousands and thousands of optimalisations and they not only do it on the assembly level but also on higher levels and on the stacks and byte alignment etc., so these days, especially on the x86 platform humans can only SOMETIMES do very small optimalisations to the code.,
but you can do that in c as well with inline assembly.., but these days comps are so fast that it's almost stupid to go so deep.,. it can be fun tho ,
what i ment with C is that you can actually PREDICT what assembly instructions the compiler will generate when writing in c. so it translates DIRECTLY to machine code., this is not nessesary so with other languages.,
Java is a 'good' language but it neither is interpreted nor translates directly to assembly., (now let's not discuss the meaning of the word 'good', ok? )
there are ppl that can make a cpu sing lunytunes backwards while doing a summersault flip but those guys are very experienced and use a lot of dirty tricks., this also only works for very small pieces of code ., so making a whole app is kindof difficult., (read: mission impossible) .. especially as a beginner., making errors in assembley is also kindof hardcore cause they usually crash your computer completely.,
so if you're not in it for the fun of proggin assembly then you should stay away from it., that is how hardcore it is.,
anyway.,., .,
greets.,
aka., |
|
|
|