[20:56:17] <deva> Speaking of which; I have had an idea for further diskstreming optimisation in the way we store the samples in the files
[20:56:23] <deva> today we do sample interleaving
[20:57:07] <deva> [sample 1 ch 1][sample 1 ch 2]...[sample 2 ch 1][sample 2 ch 2]... and so on
[20:57:36] <deva> when we read those into memory we need to deinterleave them which is a rather straining on memory operations
[20:57:48] <deva> the engine works in "chunks" of say 4k
[20:58:12] <deva> So if we instead make the files contain the samples "chunk interleaved"
[20:58:46] <deva> [sample 1 ch 1][sample 2 ch1]...[sample 4k ch1][sample 1 ch 2][sample 2 ch2]...[sample 4k ch2]....
[20:59:06] <deva> then we would save a lot of sample moving in memory when reading
[20:59:47] <deva> the downside would however be that it will not be possible to play the wav files  in a regular wav player because the samples would have the wrong ordering
[20:59:59] <deva> ... it would play but it would sound strange
[21:01:21] <deva> We would basically be making our own wav format for the kits with that approach, which I suppose might be ok in the name of The Holy Distreamer :p
[21:01:28] <deva> *Diskstreamer
[21:02:12] <deva> >>Thou Shalt Never Spell The Name Of The Holy Diskstreamer Wrongly<<
[21:02:30] *deva starts looking for a rock to climb under
[21:04:19] <André Nusser.jabber> What happened here? :D
[21:04:21] <André Nusser.jabber> Let me read.
[21:04:58] <deva> Sorry ... I got carried a bit away ;)
[21:07:39] <André Nusser.jabber> :D
[21:08:24] <André Nusser.jabber> Isn't there maybe a wav data format for that?
[21:08:33] <deva> I don't think so
[21:08:57] <deva> Basically we would need it to be wav anymore, but merely a header and an "array" of floats
[21:09:12] <deva> Perhaps not even the header, but headers are usually a good idea :p
[21:09:38] <deva> We would no longer need libsndfile either
[21:09:56] <deva> And removing a depency is never a bad thing :-)
roadmap/chunk_interleaving.txt · Last modified: 2017/03/24 21:11 by deva
Trace: chunk_interleaving
GNU Free Documentation License 1.3
Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0