В результате получается значение, которое бегает от нуля до 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 нужно для того, дабы сработать сигнал чуть громче.