Login / Register  0 items | $0.00 NewWhat is KVR? Submit News Advertise
User avatar
Touch The Universe
KVRAF
 
2891 posts since 2 Oct, 2008

Postby Touch The Universe; Tue May 30, 2017 4:43 am Re: Prototype to load many .wav files and needing one knob.

Amazing! Thank you so much for putting this together and even offering the source code. Double amazing something this complex, to me anyway, only took you five minutes to put together.

Hopefully this might spark a few ideas in Nix808 to try out in Flow Stone.
High Quality Soundsets with a generous amount of presets. The Latest: Earthshine for Dune 2

http://www.touch-the-universe.com/
User avatar
aciddose
KVRAF
 
11133 posts since 7 Dec, 2004, from Vancouver, Canada

Postby aciddose; Tue May 30, 2017 11:20 am Re: Prototype to load many .wav files and needing one knob.

Well it "took" five minutes to write only the code I linked. So this demonstrates that the concept of using over-lapping windows is very simple. (The average level is a flat line at 1.0 for raised-cosine windows: AKA Hann windows.)

The total code that exists in the project has been written over the last 15 years...

To be fair most of it over the past 5.

The main complexity of your project is actually just putting it together. Creating a VST plug-in. Setting up the project and code itself.

The 5 minute task was so short because I've already created the modular "xcope" project and I only needed to add the one source file that I linked.
http://xhip.net/ Xhip v8 released 21 May 2017
User avatar
Touch The Universe
KVRAF
 
2891 posts since 2 Oct, 2008

Postby Touch The Universe; Wed May 31, 2017 7:14 pm Re: Prototype to load many .wav files and needing one knob.

If you or someone else were to take a look at it, do you have a time estimate on how long it might take to make this prototype?
High Quality Soundsets with a generous amount of presets. The Latest: Earthshine for Dune 2

http://www.touch-the-universe.com/
User avatar
aciddose
KVRAF
 
11133 posts since 7 Dec, 2004, from Vancouver, Canada

Postby aciddose; Wed May 31, 2017 8:19 pm Re: Prototype to load many .wav files and needing one knob.

That depends upon the samples (PCM) as well as how you'd expect them to be played back.

With a naive looper using a poor quality interpolation like linear or spline it would probably take me a day or two to build such a plug-in for Windows VST without a GUI. If you add a GUI and other formats like OSX or AU it could be between one and several months.

Loading custom .wav files would require a simplified GUI. It would possibly take me a week to a month of effort to do correctly but only because I'd be re-using a huge amount of existing code from my other projects.

Without a GUI such a plug-in could load a list of files from a "cross-fade-wav.ini" or similar configuration file that you'd need to edit externally. It would only actually load the files each time a new instance is started and it wouldn't be able to save the files in a project.

To actually store the file-names or data itself with projects would add two days to a week of additional effort.
http://xhip.net/ Xhip v8 released 21 May 2017
User avatar
Touch The Universe
KVRAF
 
2891 posts since 2 Oct, 2008

Postby Touch The Universe; Sat Jun 10, 2017 2:58 pm Re: Prototype to load many .wav files and needing one knob.

aciddose wrote:That depends upon the samples (PCM) as well as how you'd expect them to be played back.

With a naive looper using a poor quality interpolation like linear or spline it would probably take me a day or two to build such a plug-in for Windows VST without a GUI. If you add a GUI and other formats like OSX or AU it could be between one and several months.

Loading custom .wav files would require a simplified GUI. It would possibly take me a week to a month of effort to do correctly but only because I'd be re-using a huge amount of existing code from my other projects.

Without a GUI such a plug-in could load a list of files from a "cross-fade-wav.ini" or similar configuration file that you'd need to edit externally. It would only actually load the files each time a new instance is started and it wouldn't be able to save the files in a project.

To actually store the file-names or data itself with projects would add two days to a week of additional effort.


I wanted to take a day or two to think a little more about this project before I responded, and it seems quite a few others went by :dog: :D

Honestly, at the moment, I really only need a functioning model to test. I, personally, want to hear if the sound works and is smooth. I don't need to be able to save or recall any projects at the moment. I also wouldn't need a gui either for that matter, only, atleast, a knob where I can sweep through the waves and some kind of volume knob (which actually isn't really necessary either). It would be extremely helpful if I would be able load a new batch of files at will so I can test it out on my own further without needing to bother the developer.

The quality of the interpolation is something I can only speculate on :D It would absolutely have to be smooth as possible though, with no steppiness, clicks, or glitches. If the poorest quality interpolation would get me 90% there, I think it would still be a success.

As far as the samples, all the samples in the batch will be the same key. As long as pressing any key on the piano roll will play back the files (which wave depending on the knob amount) at the same key as the samples, it would be enough. I'm running windows 10 64 bit. As long as it works on this system, it would suffice for now.

If it sounds smooth enough, I will devote a few months "designing" the synth in full in how I would want the final synth to behave.

The only thing I am unsure of at this point is the interpolation settings. It might be possible more tweaking would be necessary until it sounds just right.

In essence, it is only a testing prototype to see how the knob will sound as it moves real time shuffling between the samples -- no gui, saving, loading (within the gui), others OS, and the most basic possible of playback using standard wave files.

Is a day or two still a valid estimate?
High Quality Soundsets with a generous amount of presets. The Latest: Earthshine for Dune 2

http://www.touch-the-universe.com/
User avatar
aciddose
KVRAF
 
11133 posts since 7 Dec, 2004, from Vancouver, Canada

Postby aciddose; Sat Jun 10, 2017 7:31 pm Re: Prototype to load many .wav files and needing one knob.

Well, that's what makes it complex though. Just because the GUI only has one knob doesn't make it any more simple than a GUI with 100 knobs.

The main effort would go into all the extra stuff related to loading/saving files.

A day or two was never a valid estimate. If I add up the numbers I gave in my previous post I get "between a week and a month or more".

It would take a day or two just to build the basic plug-in without any UI, just the core part of hte plug-in that actually handles playback. No real audio code or interface code at all. Nothing but an empty plug-in. That's actually where the least effort would go.

So you want the thing to be MIDI controlled? That's more complications. If you want the samples to start and stop you need envelopes and a heap of other features. Do you want them to track the keyboard? Now we're into really heavy interpolation territory and basically building a whole sampler plug-in just to prototype this.

Which OS would it be for? I can only do Windows. I think this is completely out of what I'm willing to invest in though and I know it will become more complicated over time. It always does.
http://xhip.net/ Xhip v8 released 21 May 2017
User avatar
aciddose
KVRAF
 
11133 posts since 7 Dec, 2004, from Vancouver, Canada

Postby aciddose; Sat Jun 10, 2017 7:46 pm Re: Prototype to load many .wav files and needing one knob.

You could probably build this in kontact or a similar plug-in with enough modular capability. Since the main part of the thing is sampling, it would make sense to use a tool designed for sampling to achieve it.

You'd then just need to assign your "one knob" to a window function centered and scaled as needed on each of N parallel sources. I believe in fact that kontact already contains such cross-fading functions! So this is very nearly out-of-the-box functionality for a sampler like it.
http://xhip.net/ Xhip v8 released 21 May 2017
User avatar
Touch The Universe
KVRAF
 
2891 posts since 2 Oct, 2008

Postby Touch The Universe; Sat Jun 10, 2017 8:50 pm Re: Prototype to load many .wav files and needing one knob.

Thanks acidose for your quick replies. I by no means meant to imply this would be easy, just what I needed for testing purposes would be the most basic of all minimalist setups to test this one function. I will definitely see if kontakt is capable of doing something like this, hopefully something even I would be able to learn relatively quickly. It would be enough to test the prototype in kontakt alone, but this "knob" is only a small piece of a puzzle of a larger hybrid synth/sample. Sample libraries are okay, but for me to get really excited it would have to have some type of real synthesis going on for the best of both worlds. The whole concept begins or ends with this knob function though, so if this piece doesn't work, the rest is pointless. Thanks for your advice, this thread is full of ideas I can pass onto to someone or explore further. For now, I will try my best to see if this can already be done in other samplers, like kontakt.

If anyone knows how to do something like this in kontakt, please chime in, would love to hear it.

The bottom line, I would really love to see if this idea floats and am willing to pay someone to build the prototype. I don't know the going rates for hiring music software developers, by hour or by project, but I was hoping it would be a one or two day job and I'd be happy to pay 100-200 for it. If it sounds like it will cost 1000-2000 dollars just to test this one component, it will have to wait for another day.

I wasn't expecting such large time frames involved, especially after Nix808 did a brilliant job in a matter of hours between two days and got over 70% of the way there... sigh....
High Quality Soundsets with a generous amount of presets. The Latest: Earthshine for Dune 2

http://www.touch-the-universe.com/
User avatar
aciddose
KVRAF
 
11133 posts since 7 Dec, 2004, from Vancouver, Canada

Postby aciddose; Sat Jun 10, 2017 8:52 pm Re: Prototype to load many .wav files and needing one knob.

The first 90% takes 90% of the time, then the second 90% takes the other 90% :)

It's often based upon a misunderstanding of the actual complexity of the task. This is especially likely when you have very large tasks made up of hundreds of smaller ones like a synth plug-in with a GUI, file formats, different platforms and OSes, presets, banks, art assets, MIDI handling, over-sampling, on and on and on.

Even very experienced engineers know that you always take your largest estimate and double it. You can then expect to go between about x2 and (x2)2. Worst case is sometimes (x2)10.
http://xhip.net/ Xhip v8 released 21 May 2017
User avatar
Touch The Universe
KVRAF
 
2891 posts since 2 Oct, 2008

Postby Touch The Universe; Sat Jun 10, 2017 9:28 pm Re: Prototype to load many .wav files and needing one knob.

Haha, that's so true in music production as well, not to mention the last 10 percent, or even 1 percent, is the most tedious, grueling bits :D

I will certainly keep what you said in mind about timeframes as well. A made a few more threads in the usual kontakt scripting places, so hopefully I will get some good news soon.

The other half of that complexity you mentioned, even this one knob test is only a small function of what I'd like the knob to do and behave. In fact, the whole idea is actually a little crazy even but would be with it to me if it works. For now, i just want to test one key, but I can't make patches with only one key spread throughout the octaves. The knob would have to work with many different keys, each key having a hundred or more samples, and be able to be played polyphonicaly :o , or monophonicaly of course :phones: If it's possible with one key, it should be possible, at least I will only work on it with a developer who doesn't have the word impossible in his/her dictionary :hihi: :pray:
High Quality Soundsets with a generous amount of presets. The Latest: Earthshine for Dune 2

http://www.touch-the-universe.com/
JCJR
KVRAF
 
2003 posts since 17 Apr, 2005, from S.E. TN

Postby JCJR; Sun Jun 11, 2017 2:08 pm Re: Prototype to load many .wav files and needing one knob.

Yes maybe somebody can accurately estimate how long a software project will take but I never could estimate it.

If one writes the similar kind of program over and over then maybe it could be better estimated? Maybe a fella who writes databases for businesses-- Maybe after he has done a few then he would know how long its gonna take? Or maybe there are sufficient unknowns to make estimation difficult even in that kind of business? Dunno.

I was usually writing something I didn't know how to do before starting. Not rocket science tasks but still it is hard to estimate how long it takes to do something you don't know how to do.

One problem is that no matter how well you plan ahead, if you don't already know exactly how to do it-- It is not uncommon to get fairly far along writing the program only to finally understand that the better way to do it is something entirely different. So one might back up and repeat a lot of work doing it "the right way".

Working with teams, even small teams-- Or working solo then actually seriously listening to knowledgeable alpha and beta testers-- A coworker or other party suggests how the thang should look or operate and then you write something that operates thataway so far as you can understand-- Even if the first-version fits the original specs, it is often discovered that the original specs were not the best specs, or realize that the project might work lots better if written to improved specs.

At which point it serves no purpose to argue, "But I wrote exactly what you said you wanted!" To Err is Human. If we want the best feasible product, it doesn't matter that the original imagination was not 100 percent correct. To generate at least a somewhat-usable product, just have to be patient and keep tweaking until it becomes at least minimally usable.

Maybe the fastest way to get it done-- If you can afford to ignore all opinions except your own. In that case, once the project works good enough to please yourself-- You can declare it finished even if you are the only one in the galaxy who likes the result! :)

It avoids work on features which users might care about but you do not such as--
_ Help files.
_ Roll-over hints on all the controls.
_ User manual.
_ Squashing numerous fatal bugs that happen if you do the wrong sequence of operations, but it works solid so long as you know what not to do!
_ Making the program understandable and easy to operate by anybody.
_ Making it look "pretty".
_ Making it compatible with every flavor of audio file in the universe even though you personally might never use anything except float wave or whatever, and you don't care a whit whether it supports OGG, MP3, AIFC, AC3, yadda yadda.
_ Making sure that the program or plugin operates properly on computer models and programs which you don't own and have no intention of ever owning.

Many additional possible things that the project might require in order to please others, but maybe not yourself.
Previous

Moderator: Moderators (Main)

Return to DSP and Plug-in Development