Beverly-kross: lite krossning. 1 bit Arduino musik. (5 / 5 steg)
Steg 5: Uppspelning manipulation
Här kan du se tre funktioner som uppspelning av alla ljudexempel, bara på olika sätt...
- playback();
spelar upp ett prov framlänges. - playback_r();
spelar provet baklänges. - playback_s();
spelar provet framåt men med reducerad hastighet.
Som du kan se koden är det mycket lätt att spela upp ljudet på ett intressant sätt, är här utdrag av hur jag har kunnat ordna mönster i musikvideon.
playback_r (onebitraw_1, BC_BYTE_COUNT_1);
playback_r (onebitraw_1, BC_BYTE_COUNT_1);
playback_r (onebitraw_1, BC_BYTE_COUNT_1);
playback_r (onebitraw_2, BC_BYTE_COUNT_2);
uppspelning (onebitraw_1, BC_BYTE_COUNT_1);
uppspelning (onebitraw_1, BC_BYTE_COUNT_1);
uppspelning (onebitraw_1, BC_BYTE_COUNT_1);
uppspelning (onebitraw_3, BC_BYTE_COUNT_3);
uppspelning (onebitraw_1, BC_BYTE_COUNT_1);
uppspelning (onebitraw_1, BC_BYTE_COUNT_1);
uppspelning (onebitraw_1, BC_BYTE_COUNT_1);
playback_r (onebitraw_4, BC_BYTE_COUNT_4);
Mycket enkelt men ändå ganska kraftfullt i flexibiliteten i kan du skapa!
Med ett ögonblick av inspiration insåg jag att jag kunde spela upp bitar av varje prov och sy ihop, dem att hålla kvantisering och föra in en annan aspekt av remixa idén.
int z;
för (z = 0; z < 4; z ++) {
uppspelning (onebitraw_1, BC_BYTE_COUNT_1 /4);
uppspelning (onebitraw_2 + (BC_BYTE_COUNT_1 /4), BC_BYTE_COUNT_1 /4);
playback_r (onebitraw_3 + (BC_BYTE_COUNT_1 /2), BC_BYTE_COUNT_1 /4);
uppspelning (onebitraw_2 + ((BC_BYTE_COUNT_1 /4) + (BC_BYTE_COUNT_1 /2)), BC_BYTE_COUNT_1 /4);
}
Om man bryter ner blir gjorde jag det mycket enkel att förstå... Tänk dig dessa brev representerade de 4 olika slå mönster som jag skapade i anledning innan du importerar till min Arduino.
[AAAA]
[BBBB]
[CCCC]
[DDDD]
Den för slinga jag använde ovan prov bryter dessa mönster ifrån varandra så nu ser det ut mer som:
[ABCD]
Varaktighet är konstant, det låter i tid och spela upp lite av varje mönster låter ganska roligt!