Mari kita juga berbicara tentang analog - rFXGen, wafxr.
Foto chuttersnap / Unsplash
Lebih lanjut tentang proyek
ZzFXM dipersembahkan oleh Frank Force, programmer dan penulis blog pengembangan game Killed By a Pixel. Dalam materinya, dia memberikan perhatian khusus pada masalah penyimpanan memori. Dia pernah menulis simulator piano JavaScript yang ukurannya hanya satu kilobyte.
Generator Melodi melanjutkan ide ini - Frank merancangnya secara khusus untuk menghasilkan musik untuk program yang sangat kecil. Proyek semacam itu dilaksanakan sebagai bagian dari kompetisi terbuka js13k Games , yang pesertanya menulis game dalam HTML5 dan JavaScript menggunakan memori puluhan KB.
ZzFXM dapat digunakan untuk mengembangkan game indie lengkap. Ini dilisensikan di bawah lisensi MIT , sehingga cocok untuk proyek komersial.
Sumber dan petunjuk untuk menyiapkan ada di repositori di GitHub .
Apa yang ada di bawah "tenda"
Utilitas tersebut menggunakan mesin ZzFX untuk menulis efek suara yang menyerupai delapan bit. Ini memungkinkan Anda untuk mengontrol sembilan belas parameter suara, dari volume hingga frekuensi dan bentuk gelombang. Contoh suara yang dapat dihasilkan ZzFX dapat ditemukan di situs web Frank Force . ZzFXM menggunakan beberapa di antaranya sebagai sampel.
Format file yang sudah jadi menyerupai MOD yang digunakan untuk menyimpan dan memutar komposisi musik di komputer pribadi Amiga , oleh karena itu, semua sampel dengan suara instrumen disimpan dalam file yang berbeda (prinsip modularitas).
Bagaimana itu bekerja
Komposer menyusun urutan not yang menunjukkan instrumen mana yang harus dimainkan dan kapan. Urutan ini disebut trek. Beberapa track yang berbunyi paralel membentuk blok (pola) dengan nomornya masing-masing. Selanjutnya, komposer menentukan dalam kode program pola mana yang harus berbunyi dan kapan.
Pendekatan ini memungkinkan Anda untuk dengan cepat membentuk komposisi yang diinginkan, tetapi kode yang dihasilkan sulit untuk dibaca tanpa komentar. Di repositori di GitHub, pembuat generator memberikan contoh berikut:
[ // Song
[ // Instruments
[.9, 0, 143, , , .35, 3], // Instrument 0
[1, 0, 216, , , .45, 1, 4, , ,50], // Instrument 1
[.75, 0, 196, , .08, .18, 3] // Instrument 2
],
[ // Patterns
[ // Pattern 0
[ // Channel 0
0, // Using instrument 0
-1, // From the left speaker
1, // play C-1
0, 0, 0, // rest (x3)
3.5, // play E-1 with 50% attenuation
0, 0, 0 // rest (x3)
],
[ // Channel 1
1, // Using instrument 1
1, // From the right speaker
2, // play D-1
2.25, // play D-1 with 25% attenuation
3.5, // Play E-1 with 50% attenuation
4.75, // Play F-1 with 75% attenuation
-1, // Release the note
0, 0, 0 // rest (x3)
]
]
],
[ // Sequence
0, // Play pattern 0
0, // ...and again
],
120, // 120 BPM
{ // Metadata
title: "My Song", // Name of the song
author: "Keith Clark" // Name of the author/composer
}
]
Anda dapat mendengarkan bagaimana trek dihasilkan menggunakan suara utilitas di GitHub . Ukuran lagu tidak melebihi 550 byte.
Apa analognya
Salah satu analog dari ZzFXM adalah rFXGen . Itu ditulis dalam C dan berdasarkan proyek sfxr - pada tahun 2007, itu diajukan oleh salah satu peserta kompetisi LD48. Dalam kerangka kerjanya, setiap pengembang harus mengirimkan game kecil dalam 48 jam. Utilitas RFXGen mendukung osilator, vibrato, dan filter lolos rendah dan tinggi.
Foto oleh Ohmydearlife / Pixabay
Generator suara ringkas lainnya - wafxr . Ini membuat audio langsung menggunakan API WebAudio dan perpustakaan wasgen . Wafxr juga mendukung osilator, tremolo / vibrato, dan berbagai filter. Ada demo pekerjaan di GitHub - di sana Anda dapat mengevaluasi alat itu sendiri.
Apa yang kami miliki di Habré:
« Hi-Fi»:
—
— ,
VR
Sporth — live-
: 5 , «»