Ребята, хочу вас ознакомить с таким интересным явлением, как байтбит.
Я очень давно увлекаюсь этим вопросом, так как интересуюсь и промышленной электроникой, и музыкой одновременно. Исследую форумы по демосцене, сочиняю чиптюн, собираю генераторы звука на микроконтроллерах..
Что же такое байтбит? Это музыка, котрая генерируется однострочными кусками кода, которые определяют форму звуковой волны от 0 до 256 как функцию времени, выполняясь с интервалом в 1/8000 секунды. Если поместить выход такой функции в программу с циклом, где увеличивается переменная времени
t
, то можно генерировать на выходе бесконечный unsigned 8bit 8kHz mono аудио сигнал. Таким образом можно, например, генерировать шим-сигнал на ножке микроконтроллера, котоая подключена к динамику с усилителем. Я уже давно играюсь с звуковой генерацией в железе, но таки решил создать (а точне, форкнуть с доработками) удобный плеер для экспериментов на своём сайте.
Байтбит-плеер доступен по адресу:
https://dollchan.net/bytebeat/
Вы уже наверняка его видели. Там вы можете вводить свои выражения, получая прикольный 8-битный чиптюн, всякие шумы, а также звуки из китайских дешёвых электронных игрушек,
которые в них, кстати, именно подобным образом и генерируются.
Выражения должны содержать переменную времени
t
, а также связующие арифметические / побитовые / логические /тернарные операторы из языка javascript. При программировании микроконтроллеров в основном используется Си, но ведь js это си-подобный язык!
На этой страничке вы найдёте ссылки с исторической информацией по байтбиту, а также библиотеку с собранными мною формулами. Нажав на ссылку с формулой, вы запустите её проигрывание. Ахтунг! Плеер довольно прожорлив, поэтому на старых машинах и телефонах он будет подвисать. Всё не дойдут руки его оптимизировать.
Плеер отображает растровую развёртку выражений в двух режимах, вы можете менять масштаб развёртки.
Ссылки с выражениями для примера:
https://dollchan.net/bytebeat/#v3b64MzTQ0iixszOrKakBUuaa2iZAvhqQaWgMEjDTBAA=
- функция с долгим периодом, можно долго слушать
https://dollchan.net/bytebeat/#v3b64K1EzMbA0s9co0dIoiStRNTI11awpsbMz0bSzM7QCMoxrNErULAwtjexLbGyMrEo0AQ==
- "Street Surfer" - прикольный ударный бит, генерируемый шумовыми эффектами
https://dollchan.net/bytebeat/#v3b64M9UqUSuxszOvMQYyTLSATEMDAA==
- приятная для слуха гармоничная функция с коротким периодом. На графике
(если нажать кнопку "Mode" и поиграться с масштабом) образует треугольники Серпинского, отчего названа "Sierpinski Harmony". Впрочем, фрактальность присуща почти всем функциям байтбита, и треугольники Серпинского или другие фракталы можно увидеть везде.
https://dollchan.net/bytebeat/#v3b6407DUKlErsbMzqTGFMMxrjCEMQwNNAA==
- вариация предыдущей формулы
https://dollchan.net/bytebeat/#v3b640yhRMzOpKbGzM9WM0yhRMzYGsS3AbEOwuGVNiZq5GUigxtDCXDOuREsDpELNwthCG8gwNNYEGmACAA==
- "Robot out of control" - долгопериодическая функция с неожиданными звуковыми эффектами.
https://dollchan.net/bytebeat/#v3b64K9HSMNbWMIwzVSuxszM00NTU0jDV1jAG80w0Ne3sIGwLTQA=
- "Running man" - на основе этого выражения я создал множество очень занимательных генераторов со звуком из игрушек денди.
Перечисленные выше выражения найдены на просторах форумов.
В разделе
"[SthephanShi] - formulas I discovered" на
https://dollchan.net/bytebeat/ собраны найденные мною выражения. Например:
https://dollchan.net/bytebeat/#v3b640yixszPS1NIoUQMiYyNzMwt7QzMrIxPNGqCEBhBbqBlZaIJ5RgA=
- "Robocop", крутой бит с хлёсткими "ударами". Найден при экспериментах с вот таким выражением:
https://dollchan.net/bytebeat/#v3b640yixszPS1NIoUTM006wBcQA=
https://dollchan.net/bytebeat/#v3b640yixszPW1NIoUQMiYyNzMwt7QzMrIxPNGqCEBhBbqBlZaIJ5RgA=
- Тот же "Робокоп", но с более низким звуком.
https://dollchan.net/bytebeat/#v3b64K7Gzs1Qz0ipRMzTQKqkpsbMzVTPTKgEA
- "Качельки", тёплый хэппи тюн.
https://dollchan.net/bytebeat/#v3b64K9HS0CixszM0qClRNTTTAjJNNdUsQLShkZqhhSYA
- "Игрушечный телефон" - отличный генератор для китайской детской игрушки!
https://dollchan.net/bytebeat/#v3b640yixszPR1NIAUsaaNUBSo0TNxMDSzN7YykgTAA==
- "Explosive beat" - взрывной мощный бит!
https://dollchan.net/bytebeat/#v3b64MzSy1CpR1SixszPXBAA=
- "Выжигатель мозга". RIP headphone users!
Буду изредка постить в этот тред найденные мною интересно звучащие формулы.
Вы тоже можете - экспериментируйте, находите прикольные звуки, постите сюда!