Bytebeat ist ein Musikstil, den man komponieren kann, indem man ein einfaches C-Programm schreibt, dessen Ausgabe an aplay
oder geleitet wird /dev/dsp
.
main(t){for(;;t++)putchar(((t<<1)^((t<<1)+(t>>7)&t>>12))|t>>(4-(1^7&(t>>19)))|t>>7);}
Auf der bytebeat-Site finden Sie zahlreiche Informationen , eine Javascript-Implementierung sowie weitere Demos und Beispielkompositionen in diesem Thread .
Sehr einfache Regeln: Versuchen Sie, eine hübsch klingende Komposition zu schreiben. Die meisten Stimmen gewinnen, da dies offensichtlich subjektiv ist, wenn auch nicht so subjektiv, wenn man die üblichen Ergebnisse berücksichtigt.
popularity-contest
c
music
Jeff Burdges
quelle
quelle
rand()
.Antworten:
(Signierter 16-Bit-Little-Endian, 8000-Hz-Mono (
--format=S16_LE
))Musik
Viel besser als zuvor! (obwohl es ziemlich lang ist)
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));}
(Sie können dies hier hören )
Ich habe das geschrieben, aber selbst ich weiß nicht, wie ein Teil funktioniert, wie
>0
und (besonders) der erste7&
.Ändern Sie die for-Schleife auf
for(;!(t>>22);t++)
..., um sie "einmal" anzuhören. Ich weiß jedoch nicht, ob es genau so "schleift".Melodie (Basis der obigen Musik)
Ich liebe diese Melodie, die ich gemacht habe (CGAF ftw), aber sie ist zu einfach ...
main(t){for(;;t++)putchar(((t>>10)&1)*(t*("23468643"[7&t>>12]-48)+t*(3&t>>11))*"@06+"[3&t>>15]/32);}
Einfache Musik (die ich vorher gemacht habe)
main(t){for(;;t++)putchar(t*(3&t>>11)+(t&t>>11)*4*!((t>>11)%3));}
quelle
Die Linealfunktion in c-Moll:
quelle
quelle
Betonung "Beat" über "Byte":
Verwendung bei 8 kHz, Uint8 Mono. Klingt am besten über anständig bassfähige Lautsprecher.
quelle
Klingt nach Meer ;-)
quelle
$ cat /dev/urandom | aplay
aplay /dev/urandom
Melodie und Harmonie kombiniert:
quelle