Offline
Los Angeles

Okay updated to 1.3.3 ... Let me know how it goes.

http://code.google.com/p/arduinoboy

Offline
Freiburg, Germany

Tested it. It's much better, again. It still glitches under certain conditions and I think I may have found out what those may be, but they're far less likely to occur in any normal use case I'm assuming.

These are the conditions I managed to find in which it glitched:

- If the lowest possible note in the pitch bend range is lower than C-3 it will glitch below 0% pitch bend but not above (examples: C-3 is the first note it will glitch on with pb range 1, C#3 with pb range 2, B-3 with pb range 12(dec) ...) basically if you subtract the pb range in semitones from the note you're playing and the result is lower than C-3 the pitch bend will glitch the moment it goes below 0%

- low notes at bigger pitch bend ranges... like C-5 with pb range 24(dec) will still exhibit the wraparound problem in the pitch bend values closer to -100% even though the lowest note that should be produced is not below C-3

that first one is definitely odd behavior, though I personally don't see myself using pitch bend of 12(dec) on a note as low as C-4 ... perhaps others might? not sure
I'm also not seeing myself using pitch bend ranges outside 12, so the second one seems to be a non-issue as well for me personally.

tl;dr: Thank you trash80, I'm happy with the result, it seems very usable for me now Bugs/glitches are still present though and somebody else may stumble across them.

Feel free to ask me to test some more. I'll be away for the holidays though and probably without my DMG, so testing may have to wait.

Audio example demonstrating glitch #1: C-4 vs B-3 (only one semi tone apart) with the identical pitch bend  at a range of 12(dec) ... the second note is only slightly deeper but experiences the glitches right as pitch bend goes below 0%, the first note shows no problems at all.

http://wolkenspeicherplatz.de/sound/mgb … ison_2.mp3

Last edited by lastfuture (Dec 22, 2012 5:18 am)

Offline
Los Angeles

Yeah as I said before there is no "if" condition to lower bound pitches. Adding it just adds overhead that is easy to avoid. Also it can be seen as a feature for glitchy effects. wink The large pb range wrap around is probably because it exceeds the 16bit unsigned int, I don't want to move it to a 32 bit, again because of overhead. I think its a fair trade off with the increased resolution.

Offline
Freiburg, Germany

It's quite alright. Just find it fascinating that the entire lower half pitch bend goes weird the second the note is a semi tone "too low" especially since the bend would theoretically go through all the same pitches as the one above it except one semi tone at the very bottom of the range.
I don't find this fatal at all, I just don't understand how it happens. I agree that it adds some interesting glitch potential, especially when using it on notes well outside the range below C-3 smile

Offline
Los Angeles
lastfuture wrote:

It's quite alright. Just find it fascinating that the entire lower half pitch bend goes weird the second the note is a semi tone "too low" especially since the bend would theoretically go through all the same pitches as the one above it except one semi tone at the very bottom of the range.
I don't find this fatal at all, I just don't understand how it happens. I agree that it adds some interesting glitch potential, especially when using it on notes well outside the range below C-3 smile

It's most likely because the math exceeds a 16 bit number, thus wrapping the bits and causing the glitch.