Bytebeat é um estilo de música que se pode compor escrevendo um programa C simples cuja saída é canalizada aplay
ou /dev/dsp
.
main(t){for(;;t++)putchar(((t<<1)^((t<<1)+(t>>7)&t>>12))|t>>(4-(1^7&(t>>19)))|t>>7);}
Há muitas informações no site bytebeat , uma implementação em javascript e mais demos e composições de exemplo neste segmento .
Regras muito simples: tente escrever uma composição que soe bastante. A maioria dos votos ganha, pois isso é obviamente subjetivo, embora não seja subjetivo, considerando os resultados usuais.
popularity-contest
c
music
Jeff Burdges
fonte
fonte
rand()
não seja padrão.Respostas:
(Assinado endian little de 16 bits, 8000Hz mono (
--format=S16_LE
))Música
Muito melhor do que antes! (embora seja bastante longo)
main(t){for(;;t++)putchar(((7&(((t>>17)+1)>>2)+((t>>10)&1+2*(t>>18&1))*(("23468643"[7&t>>12]-48)+(3&t>>11))+((3&t>>17)>0)*(3&t>>9)*!(1&t>>10)*(((2+t>>10&3)^(2+t>>11&3))))*t*"@06+"[3&t>>15]/32));}
(Você pode ouvir isso aqui )
Eu escrevi isso, mas mesmo eu não sei como algumas partes funcionam, como
>0
e (especialmente) a primeira7&
.Mude para o loop para
for(;!(t>>22);t++)
... para ouvir 'uma vez'. Eu não sei se "loops" exatamente da mesma maneira, no entanto.Melodia (base da música acima)
Eu amo essa melodia que eu fiz (CGAF ftw), mas é muito "simples" ...
main(t){for(;;t++)putchar(((t>>10)&1)*(t*("23468643"[7&t>>12]-48)+t*(3&t>>11))*"@06+"[3&t>>15]/32);}
Música simples (que eu fiz antes)
main(t){for(;;t++)putchar(t*(3&t>>11)+(t&t>>11)*4*!((t>>11)%3));}
fonte
A função da régua em dó menor:
fonte
fonte
Enfatizando "beat" sobre "byte":
Para ser usado em 8 kHz, uint8 mono. Soa melhor em alto-falantes decentemente capazes de graves.
fonte
Soa como o oceano ;-)
fonte
$ cat /dev/urandom | aplay
aplay /dev/urandom
Melodia e harmonia combinadas:
fonte