Bytebeat adalah gaya musik yang dapat digubah dengan menulis program C sederhana yang hasilnya disalurkan ke aplay
atau /dev/dsp
.
main(t){for(;;t++)putchar(((t<<1)^((t<<1)+(t>>7)&t>>12))|t>>(4-(1^7&(t>>19)))|t>>7);}
Ada banyak informasi di situs bytebeat , implementasi javascript , dan lebih banyak demo dan contoh komposisi di utas ini .
Aturan yang sangat sederhana: Cobalah untuk menulis komposisi yang cukup terdengar. Suara terbanyak menang karena itu jelas subyektif, meskipun tidak subyektif mengingat hasil yang biasa.
popularity-contest
c
music
Jeff Burdges
sumber
sumber
rand()
tidak standar.Jawaban:
(Menandatangani 16-bit little endian, 8000Hz mono (
--format=S16_LE
))Musik
Jauh lebih baik dari sebelumnya! (meskipun cukup panjang)
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));}
(Anda dapat mendengarkan ini di sini )
Saya menulis ini, tetapi bahkan saya tidak tahu bagaimana beberapa bagian bekerja, seperti
>0
dan (terutama) yang pertama7&
.Ubah untuk loop ke
for(;!(t>>22);t++)
... untuk mendengarkannya 'sekali'. Saya tidak tahu apakah itu "loop" dengan cara yang persis sama.Melody (basis musik di atas)
Saya suka melodi yang saya buat (CGAF ftw), tapi terlalu 'polos' ...
main(t){for(;;t++)putchar(((t>>10)&1)*(t*("23468643"[7&t>>12]-48)+t*(3&t>>11))*"@06+"[3&t>>15]/32);}
Musik sederhana (yang saya buat sebelumnya)
main(t){for(;;t++)putchar(t*(3&t>>11)+(t&t>>11)*4*!((t>>11)%3));}
sumber
Fungsi penguasa di C minor:
sumber
sumber
Menekankan "beat" over "byte":
Untuk digunakan pada 8 kHz, uint8 mono. Terdengar lebih baik daripada pengeras suara bass yang bagus.
sumber
Kedengarannya seperti laut ;-)
sumber
$ cat /dev/urandom | aplay
aplay /dev/urandom
Melodi dan harmoni kombinasi:
sumber