Звучащий код пишем музыку на языке ByteBeat Хабр

by LudieVaught916383504 posted Sep 21, 2026
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

가 크게 작게 위로 아래로 댓글로 가기 인쇄 수정 삭제

В результате получается значение, которое бегает от нуля до 99 по кругу. Во первых, все участники конкурса воспринимают эту задачу ровно Size-coding, то есть, хотят соорудить отправной код ровно можно меньше. Чтобы понять, ровно устроена программа, приходится больно долго вникать. Как вы догадались, глядя на заглавную картинку, сейчас будет нечто, весьма похожее на стиль программирования Lisp. Все примеры рабочие, их можно запустить напрямик в браузере. Язык программирования для генеративной музыки ByteBeat — это словно раз то, Тайский ледибой что я ищу. Bytebeat Ultra Editor — это веб-редактор чиптюн-музыки на Javascript. Позволяет писать, слушать, обманывать и сберегать bytebeat-треки напрямик в браузере. Включает функции шифрования, загрузки проектов и скачивания WAV-файлов.
Теперь наша функция выдает несколько семплов со значением 100, за которым следует несколько семплов со значением 0. Побитовые операторы AND, OR, XOR и побитовые сдвиги работают также, точно и в других языках программирования, они взяты напрямую из языка ассемблер. Если хотите послушать, откройте прошлый образец и скопируйте новейший код туда вручную. Разумеется, вы можете менять цифры и зараз же следить изменения в звуке. Код, каковой вы набрали, сохраняется в URL страницы, вы можете им распределяться с друзьями. Потом оператор сравнения сравнивает полученное значение с цифрой 50 и выдает на выход либо 1 либо 0 в зависимости от результата сравнения. Попробую перекинуть его на человеческий стиль. Берем переменную t, вычисляем смысл по модулю 100 (или берем остаток от деления на число 100, то же самое).
Тот ломоть кода, с которым вы имеете дело, будет исполняться одинёхонек один любой аудиофрейм (то есть, если частота дискретизации 8 килогерц, то код исполнится 8 тысяч раз). Результатом выполнения кода служит один-одинёшенек семпл со значением от 0 до 255 (то есть, на выходе у нас восьмибитный звук). Если на выходе значение превышает 255, то происходит wraparound целочисленного значения (лишние биты отбрасываются). Если вы программировали на ассемблере, вам это должно быть знакомо. Все внутренние вычисления проходят в привычном 32-х битном формате. Умножение на 100 нужно для того, чтобы соорудить сигнал чуть громче.


Articles