bassline v1
This commit is contained in:
parent
f84d738b2a
commit
8105e4c333
13
win/main.cpp
13
win/main.cpp
|
@ -19,13 +19,24 @@ static inline unsigned char voice_arp(unsigned long i)
|
||||||
return (((i << 1) / (notes[arpeggio[arpseq[(i >> 13) & 7]][(i >> 8) & 3]] >> 2)) & 1) << 7;
|
return (((i << 1) / (notes[arpeggio[arpseq[(i >> 13) & 7]][(i >> 8) & 3]] >> 2)) & 1) << 7;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int notes2[25] = { 134, 142, 150, 159, 169, 179, 189, 201, 213, 225, 239, 253, 268, 284, 301, 319, 338, 358, 379, 401, 425, 451, 477, 506, 536 };
|
||||||
|
int bassbeat[8] = { 0, 0, 1, 0, 0, 1, 0, 1 };
|
||||||
|
int bassline[8] = { 12, 12, 15, 10, 12, 12, 17, 10 };
|
||||||
|
|
||||||
|
static inline unsigned char voice_bass(unsigned long i)
|
||||||
|
{
|
||||||
|
int note = notes2[bassline[(i >> 13) & 7]];
|
||||||
|
int beat = bassbeat[(i >> 10) & 7] ? 7 : 8;
|
||||||
|
return (((i * note) >> beat) & 0x7F) + (((i * note + i) >> beat) & 0x7F);
|
||||||
|
}
|
||||||
|
|
||||||
void fill(char *data)
|
void fill(char *data)
|
||||||
{
|
{
|
||||||
static unsigned long i = 0;
|
static unsigned long i = 0;
|
||||||
|
|
||||||
for (int j = 0; j < 4096; j++)
|
for (int j = 0; j < 4096; j++)
|
||||||
{
|
{
|
||||||
data[j] = voice_arp(i);
|
data[j] = voice_bass(i);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue