Re: Quad-Klanger released: A real-time Bezier sound synthesi
Posted: Sun Sep 02, 2012 10:10 pm
Mike, I'm glad my work has in some small way played a part in your taking the 'Purebasic plunge'
I've found Purebasic to be a refreshing change from VB6 - not so much because of any lack of capability of the latter - in fact the most complex music production app I've ever created was in VB6, see here:
viewtopic.php?f=13&t=47961
but because the app became sensitive to particular Directsound versions on particular Windows OS's in order to work properly, and it started becoming a pain supporting users on OS's other than Windows 200 and XP. However, Flexibeatz does feature many of the things you have mentioned you want to be able to do (load any .wav samples into multiple channels, process the samples in a myriad of ways including slicing/dicing or synthesize sounds from scratch in each channel, sequence them into a song, add effects and parametric EQ and record the result), and I'm happy to release the VB6 source of it, if only for the sake of instruction. As you can see from the link above, I started with little knowledge of how to do sound stuff in Purebasic + Portaudio, but the fantastically capable and helpful folk on this forum have assisted along the way, and I've thankfully got to a stage where I've been able to complete a number of projects. Also as you can see from the link, I too asked about how to go about channeling to multiple audio streams through Purebasic+Portaudio, but no one has as yet provided any tips on how to do this (analogous to the way I was able to do it directly through Directsound in the VB6 Flexibeatz app). Perhaps use of a different audio library such as Bass with Purebasic is the answer:
http://www.purebasic.fr/english/viewtopic.php?t=31784
One of the things I've found lacking in synthesis/computer music app creation books out there, is that there is NOT A SINGLE ONE which presents the COMPLETE CODE for a commercially available soft-synth and explains all the concepts with reference to the working code. Most of them present the synthesis concepts in an overly abstract fashion, and where code IS presented, it is typically snippets for an effect or two, or some DSP function. There is a huge chasm between that kind of stuff and a fully functioning, useable synth app; there are a great many issues that need to be addressed and problems overcome in the creation process and I find it strange these are left to readers to encounter and work out for themselves. So, I perceive a gap in the market which I'll humbly try to fill with a book of my own (I've begun it, wish there was something like it when I started
)
Re the crash of Quad-Klanger when a Midi note is pressed and the 'dots moved' simultaneously, unfortunately I haven't been able to get it to crash when doing this myself, so I appeal to you Mike and the Purebasic community to assist in identifying (by running it in debug?) exactly WHERE in the code the exception occurs, so I can assess what to do (it may be a case of not allowing curve-gadget changes to take effect at any stage other than immediately when a note is pressed)

I've found Purebasic to be a refreshing change from VB6 - not so much because of any lack of capability of the latter - in fact the most complex music production app I've ever created was in VB6, see here:
viewtopic.php?f=13&t=47961
but because the app became sensitive to particular Directsound versions on particular Windows OS's in order to work properly, and it started becoming a pain supporting users on OS's other than Windows 200 and XP. However, Flexibeatz does feature many of the things you have mentioned you want to be able to do (load any .wav samples into multiple channels, process the samples in a myriad of ways including slicing/dicing or synthesize sounds from scratch in each channel, sequence them into a song, add effects and parametric EQ and record the result), and I'm happy to release the VB6 source of it, if only for the sake of instruction. As you can see from the link above, I started with little knowledge of how to do sound stuff in Purebasic + Portaudio, but the fantastically capable and helpful folk on this forum have assisted along the way, and I've thankfully got to a stage where I've been able to complete a number of projects. Also as you can see from the link, I too asked about how to go about channeling to multiple audio streams through Purebasic+Portaudio, but no one has as yet provided any tips on how to do this (analogous to the way I was able to do it directly through Directsound in the VB6 Flexibeatz app). Perhaps use of a different audio library such as Bass with Purebasic is the answer:
http://www.purebasic.fr/english/viewtopic.php?t=31784
One of the things I've found lacking in synthesis/computer music app creation books out there, is that there is NOT A SINGLE ONE which presents the COMPLETE CODE for a commercially available soft-synth and explains all the concepts with reference to the working code. Most of them present the synthesis concepts in an overly abstract fashion, and where code IS presented, it is typically snippets for an effect or two, or some DSP function. There is a huge chasm between that kind of stuff and a fully functioning, useable synth app; there are a great many issues that need to be addressed and problems overcome in the creation process and I find it strange these are left to readers to encounter and work out for themselves. So, I perceive a gap in the market which I'll humbly try to fill with a book of my own (I've begun it, wish there was something like it when I started

Re the crash of Quad-Klanger when a Midi note is pressed and the 'dots moved' simultaneously, unfortunately I haven't been able to get it to crash when doing this myself, so I appeal to you Mike and the Purebasic community to assist in identifying (by running it in debug?) exactly WHERE in the code the exception occurs, so I can assess what to do (it may be a case of not allowing curve-gadget changes to take effect at any stage other than immediately when a note is pressed)