Why HourGlass doesn’t stream from disk?

Some people have expressed it’s limiting HourGlass can’t stream the source sounds from disk instead of loading them fully into RAM.

Let’s look at the cons (ie, bad things) of disk streaming :

-It would add quite a lot of complexity into the current code if it was done properly using a background thread to do the streaming etc. Added code complexity means more potential for nasty issues like crashes and memory leaks or corrupted results. I don’t say the current  RAM based sound playback is entirely free of such issues, because it probably isn’t. Faultless code simply isn’t possible nor even desirable(*) for an application like HourGlass, and I don’t want to make things harder for myself than I absolutely have to, but implementing disk streaming would make it so. (*) Because much of the time would then need to be spent on testing before releases, allowing maybe one release a year or something stupid like that, because I am just a one guy doing it all.

-The random access nature of the Classic engine mode might mean enormous amounts of seeking the hard drive would have to do. Mechanical hard drives and seeking equals the hard drive wearing out. Do I want to cause that for the user of the software? Let me think for a second…No. This is a tricky issue as it might be a real concern or not, but there’s no easy way to test this for real. But I am a pessimist on this and consider the seeking involved would at the least mean sucky performance.

-A peaks file mechanism would have to be implemented for the sound waveform visuals pretty much by necessity. This would further complicate the code.

And the only pro (good thing) :

-You could now load your 10 minute or whatever sound file into HourGlass without the risk of running out of memory.

That single little pro just doesn’t outweigh the heavy cons for me. So sorry, HourGlass won’t be streaming from disk. If you require the ability to run very long files through a granular sound processing, there are alternatives like VST plugins you can put on the track inserts of your DAW application and stream for hours and hours, if that is your pleasure.

HourGlass was never intended to be used with long input files. It is a real limitation, but a limitation by my own design and I stand by it. You are thinking about using HourGlass in the wrong way if the way it works now isn’t acceptable.

Advertisements
This entry was posted in Uncategorized. Bookmark the permalink.

2 Responses to Why HourGlass doesn’t stream from disk?

  1. ScottAC says:

    No need for disk streaming in much other than a sampler/rompler, I’d say. The whole idea of granular synthesis, it seems, is, like time stretching audio, is to make a much longer piece of audio from very small pieces? So disk streaming would not seem to make much sense at all. In fact, it might even have a very negative effect on HG. I would suggest that any one, like my self who uses this kind of software a great deal of time, get the largest harddrive you can afford. I’ve found that I can generate a large number of .wav files and fill a hard drive very quickly. I’m planing my next HD purchase around time stretching and granular synthesis.

    • xenakios says:

      “The whole idea of granular synthesis, it seems, is, like time stretching audio, is to make a much longer piece of audio from very small pieces?”

      Yes, I agree with that. But I do also understand it is not the most convenient situation one has to have possibly pre-edited segments of sounds to load into HourGlass. While I do understand it, the effort required to implement support for disk streaming and the possible problems arising from that are just not worth the effort. Thanks for getting HourGlass “right”, ScottAC! 😉

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s