Ребята, хочу вас ознакомить с таким интересным явлением, как
байтбит.
Я очень давно увлекаюсь этим вопросом, так как интересуюсь и
промышленной электроникой, и музыкой одновременно. Исследую форумы
по демосцене, сочиняю чиптюн, собираю генераторы звука на
микроконтроллерах..
Что же такое байтбит? Это музыка, котрая генерируется однострочными
кусками кода, которые определяют форму звуковой волны от 0 до 256
как функцию времени, выполняясь с интервалом в 1/8000 секунды. Если
поместить выход такой функции в программу с циклом, где
увеличивается переменная времени
t
, то можно
генерировать на выходе бесконечный unsigned 8bit 8kHz mono аудио
сигнал. Таким образом можно, например, генерировать шим-сигнал на
ножке микроконтроллера, котоая подключена к динамику с усилителем.
Я уже давно играюсь с звуковой генерацией в железе, но таки решил
создать (а точне, форкнуть с доработками) удобный плеер для
экспериментов на своём сайте.
Байтбит-плеер доступен по адресу:
https://dollchan.net/bytebeat/
Вы уже наверняка его видели. Там вы можете вводить свои выражения,
получая прикольный 8-битный чиптюн, всякие шумы, а также звуки из
китайских дешёвых электронных игрушек,
которые в них, кстати, именно подобным образом и
генерируются.
Выражения должны содержать переменную времени
t
, а
также связующие арифметические / побитовые / логические /тернарные
операторы из языка javascript. При программировании
микроконтроллеров в основном используется Си, но ведь js это
си-подобный язык!
На этой страничке вы найдёте ссылки с исторической информацией по
байтбиту, а также библиотеку с собранными мною формулами. Нажав на
ссылку с формулой, вы запустите её проигрывание. Ахтунг! Плеер
довольно прожорлив, поэтому на старых машинах и телефонах он будет
подвисать. Всё не дойдут руки его оптимизировать.