Page 3 of 3

Re: Last Poly Voice Extractor

PostPosted: Mon Feb 24, 2020 4:36 am
by trogluddite
I've just uploaded a new version of the "last voice extractor" to the top post. This should fix the problem which Adam pointed out regarding the "doubled up" notes (thanks again!), and it shaves a few more CPU cycles off the code.

For anyone who's interested, the problem was a silly oversight on my part. The module relies on there being a memory buffer shared by all blocks of four SSE channels, which a 'mem' doesn't usually do (each block of four gets a duplicate at a different address). The fact that it was always the fifth note which caused the problem was the big clue. This is now sorted - my latest favourite toy, the "Ruby Frame buffer", ensures that the address is truly shared across all poly SSE blocks. I also recalled that the sample counter is reset to zero for every note-on in an SSE block, so most of the code is now hopped over the vast majority of the time.