CAPTCHA
 Deletion password
  • Supported file types are JPG, PNG, GIF, WEBM and MP4.
  • Maximum file size allowed is 5 MB.
  • Images greater than 230x230 will be thumbnailed.
  • Currently 411 unique users.

Bytebeat_composer.png, 122.02KB, 1094x895
No.706
Ребята, хочу вас ознакомить с таким интересным явлением, как байтбит.
Я очень давно увлекаюсь этим вопросом, так как интересуюсь и промышленной электроникой, и музыкой одновременно. Исследую форумы по демосцене, сочиняю чиптюн, собираю генераторы звука на микроконтроллерах..
Что же такое байтбит? Это музыка, котрая генерируется однострочными кусками кода, которые определяют форму звуковой волны от 0 до 256 как функцию времени, выполняясь с интервалом в 1/8000 секунды. Если поместить выход такой функции в программу с циклом, где увеличивается переменная времени t, то можно генерировать на выходе бесконечный unsigned 8bit 8kHz mono аудио сигнал. Таким образом можно, например, генерировать шим-сигнал на ножке микроконтроллера, котоая подключена к динамику с усилителем. Я уже давно играюсь с звуковой генерацией в железе, но таки решил создать (а точне, форкнуть с доработками) удобный плеер для экспериментов на своём сайте.

Байтбит-плеер доступен по адресу:
https://dscript.me/bytebeat/

Вы уже наверняка его видели. Там вы можете вводить свои выражения, получая прикольный 8-битный чиптюн, всякие шумы, а также звуки из китайских дешёвых электронных игрушек, которые в них, кстати, именно подобным образом и генерируются.
Выражения должны содержать переменную времени t, а также связующие арифметические / побитовые / логические /тернарные операторы из языка javascript. При программировании микроконтроллеров в основном используется Си, но ведь js это си-подобный язык!
На этой страничке вы найдёте ссылки с исторической информацией по байтбиту, а также библиотеку с собранными мною формулами. Нажав на ссылку с формулой, вы запустите её проигрывание. Ахтунг! Плеер довольно прожорлив, поэтому на старых машинах и телефонах он будет подвисать. Всё не дойдут руки его оптимизировать.
Плеер отображает растровую развёртку выражений в двух режимах, вы можете менять масштаб развёртки.

Ссылки с выражениями для примера:

https://dscript.me/bytebeat/#v3b64MzTQ0iixszOrKakBUuaa2iZAvhqQaWgMEjDTBAA=
- функция с долгим периодом, можно долго слушать

https://dscript.me/bytebeat/#v3b64K1EzMbA0s9co0dIoiStRNTI11awpsbMz0bSzM7QCMoxrNErULAwtjexLbGyMrEo0AQ==
- "Street Surfer" - прикольный ударный бит, генерируемый шумовыми эффектами

https://dscript.me/bytebeat/#v3b64M9UqUSuxszOvMQYyTLSATEMDAA==
- приятная для слуха гармоничная функция с коротким периодом. На графике (если нажать кнопку "Mode" и поиграться с масштабом) образует треугольники Серпинского, отчего названа "Sierpinski Harmony". Впрочем, фрактальность присуща почти всем функциям байтбита, и треугольники Серпинского или другие фракталы можно увидеть везде.

https://dscript.me/bytebeat/#v3b6407DUKlErsbMzqTGFMMxrjCEMQwNNAA==
- вариация предыдущей формулы

https://dscript.me/bytebeat/#v3b640yhRMzOpKbGzM9WM0yhRMzYGsS3AbEOwuGVNiZq5GUigxtDCXDOuREsDpELNwthCG8gwNNYEGmACAA==
- "Robot out of control" - долгопериодическая функция с неожиданными звуковыми эффектами.

https://dscript.me/bytebeat/#v3b64K9HSMNbWMIwzVSuxszM00NTU0jDV1jAG80w0Ne3sIGwLTQA=
- "Running man" - на основе этого выражения я создал множество очень занимательных генераторов со звуком из игрушек денди.

Перечисленные выше выражения найдены на просторах форумов.
В разделе "[SthephanShi] - formulas I discovered" на https://dscript.me/bytebeat/ собраны найденные мною выражения. Например:

https://dscript.me/bytebeat/#v3b640yixszPS1NIoUQMiYyNzMwt7QzMrIxPNGqCEBhBbqBlZaIJ5RgA=
- "Robocop", крутой бит с хлёсткими "ударами". Найден при экспериментах с вот таким выражением:
https://dscript.me/bytebeat/#v3b640yixszPS1NIoUTM006wBcQA=

https://dscript.me/bytebeat/#v3b640yixszPW1NIoUQMiYyNzMwt7QzMrIxPNGqCEBhBbqBlZaIJ5RgA=
- Тот же "Робокоп", но с более низким звуком.

https://dscript.me/bytebeat/#v3b64K7Gzs1Qz0ipRMzTQKqkpsbMzVTPTKgEA
- "Качельки", тёплый хэппи тюн.

https://dscript.me/bytebeat/#v3b64K9HS0CixszM0qClRNTTTAjJNNdUsQLShkZqhhSYA
- "Игрушечный телефон" - отличный генератор для китайской детской игрушки!

https://dscript.me/bytebeat/#v3b640yixszPR1NIAUsaaNUBSo0TNxMDSzN7YykgTAA==
- "Explosive beat" - взрывной мощный бит!

https://dscript.me/bytebeat/#v3b64MzSy1CpR1SixszPXBAA=
- "Выжигатель мозга". RIP headphone users!

Буду изредка постить в этот тред найденные мною интересно звучащие формулы.
Вы тоже можете - экспериментируйте, находите прикольные звуки, постите сюда!
No.707
Сегодня как раз решил поиграться, добавил в библиотеку плеера несколько новых спеллов:

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3szLV1NIw1NYwViuxszM00NS0s4OwLTRrgKQRAA==
- Вариация формулы "Boss level #2" с выражением (1+(3&t>>10)) и t>>2 ритмом

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3szLV1NIw1NYwViuxswMKGxmYWNibWBkaaGpqAgXAwhaaNUDSCAA=
- "Another level". Добавлен шумовой бит с помощью тернарной операции. Получился хороший такой чиптюн-луп для 8-битной игрушки.

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3szLV1NIw0tYwViuxswMKGxmYWNibWFlqamoC+WBRC80aIGkEAA==
- "Happy level". Предыдущее выражение со слегка изменёнными коэффициентами. Характер меняется на более "мультяшный".

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3szLV1NIw0tYwViuxs7PU1LSzAzJ1gWwLzRogaQIA
- "Happy level #2". Инверсия части 3&-t>>8 даёт ещё более весёлый тюн :)

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3szLV1NIw0tYwVtMtsbOz1NS0swOygUwLzRogaQIA
- "Happy level #3". Ещё больше веселья! Очень прикольно звучащее выражение, зело нраица.

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3szLV1NIw0tYwViuxszM01NS0swOydYEcC80aIGkCAA==
- "Happy level #2 + t>>11"

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3szLV1NIw1tYwViuxswMKGxmYWNibWxmaaGpqAgXAwpaaNUDSCAA=
- "Awesome level". Сегодняшний шедевр!!! Пока экспериментировал, основательно залип. Мелодия, словно из весёлой денди-игры про какую-нибудь мультяшку.

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3tzLV1NIw1tYwViuxszM00dS0s4OwLTVrgKQZAA==
- "Alien dungeon". Меняем характер звука. Зело зловещий космический тюн, "пещера чужих". Выражение |t>>6 даёт затухающий эффект.

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3tzLV1NIw1tYwViuxszM00dS0s4OwLTVrNEpqSrSMgSKmAA==
- предыдущий тюн, но со сложным ритмом (t|t*3)>>5

https://dscript.me/bytebeat/#v3b64K9HSKFEzNDO2MLE3tzLV1NIw0dUwViuxszM00dS0s4OwLTVrNEpqSrSMgSKmAA==
- Предыдущий тюн с изменённой тональностью
No.713
>>706
Web Audio API нужно?
No.714
bytebeat-music-electronic-generative-code_original, 138.25KB, 1200x673
>>713
Естественно. На нём все сделано.
Web Audio API поддерживается в Chrome 14, Chrome Android 28, Firefox 23, Firefox Android 25.
В теории должно работать везде, но на телефонах 4-летней давности и некропека плеер может повесить страницу. Надо заняться оптимизацией.
No.721
Bytebeat_02.jpg, 61.88KB, 520x264
Создал репо с проектом:
https://github.com/SthephanShinkufag/bytebeat-composer

Добавил в управление выбор частоты дискретизации, она же sample rate. Реализовал сохранение и загрузку sample rate в window.location.hash, так что при переходе по ссылкам дискретизация будет выставляться сама.

Итак, тест:

Стандартный формат, 8000Hz:
https://dscript.me/bytebeat/#v3b64S7Et0TIxM9XXMDHWNtPSKLGzMzRVM44z1NTU0dBI0TdRA4qYaWqn6BupGRqZa2oDxczALAA=

11025Hz:
https://dscript.me/bytebeat/#v3b64PcxRCsIwDAbguxQsSTfZkq3DjtpDeIBCHyYMNiYan5x3t1bwIST8X/hf6pHW2zJdkkxqJGrZ1uq63dfnktSo5r
PoEzmqAUBMnhBc/C08EkbCA3Wo2VpsGCuAYt0u3n8PYs2IBmbft27InrN+z0USpZKG7VA0ZLWI/x4DXF4ps3p/AA==


44100Hz:
https://dscript.me/bytebeat/#v3b64q1YqTswtyEkNSixJVbIyMTE0MNBRSssvyi3NSVSyUtIo0dKIUTI2MzYzMbOwjFGKLrGzMzRWM49VMzTV1Dc0Uj
M0stDU1tDQAIkbxUEoTV0jTVVDQ60SfZMasHpNoDJzTaVaAA==

https://dscript.me/bytebeat/#v3b64DcJBCoAgEADAv+xBdq3QlSwR8hE9IBC0U1GUnaq/1zA3nHHdlzzGksG3LWtdw7wd67VE8JAGLBKLKCGwIekUsz
aWHl0jJsEdKdcwSUz/iS1VqWLTE7wf


Также, во время проигрывания вживую можно менять sample rate, тем самым "перематывая/ускоряя" проигрывание формул в более отдалённые участки времени.

Алсо, упорядочил формулы в категории:

- [Common] - formulas found on the internet
  - [Classic 8k] - classic formulas playing with 8kHz sample rate
  - [JS 8k] - JavaScript code playing with 8kHz sample rate
  - [High rate] - classic & JS code playing with high sample rate
- [SthephanShi] - classic 8kHz formulas I discovered

Алсо, прикольные формулы выделил белой звёздочкой, а самые прикольные - жёлтой.
Далее будет!
No.799
1483568395156550163.jpg, 170.11KB, 1600x900
Продолжаю играться с байтбит-плеером.
Теперь вся библиотека формул (aka плейлист) хранится в json-файле
Оптимизировал страницу под возможность вводить супердлинный и многострочный код.
Как раз в тему добавил пару супер крутых js-байтбит-треков (44kHz), найденных на просторах сети.
Их код довольно большой, и в тандеме с моим неоптимизированным быдлокодом плеера может положить на лопатки хороший компьютер. Но у меня проигрывается отлично :P

Итак, пробуем:
Last Fountain (by Pigdevil2010):
https://dscript.me/bytebeat/#v3b64XVPJbtswEP0XHQhSSy2SWkiHXormEMC8qLBOERrJsYQenEWMCtho8y/5lnxZh5ScOgUEUTPz5s0bzui399
I8PB/a783QevMkoXEcet2Tefh1aLy597LATbgL78lieT9rvtz/bMy3p337dcA7Eu4XzWLZILqK6JyGrYMCcFguGQPvbg62heAXiBg8kODZp1k4KMWIj1maLJ
fYgmOUE0QJQSwOq8fnBc3FGKHSRcLeslAWg7f5wK/oHEdg0gxyQ+MglH2GWI4E0XTu2HIA+gJKHBaV9/72/lYUXVcUWutO6+vrwpqd9RvTdXVdliPGRs4YpT
rOucNU1VEK09WmdjillFS6LEvwi3h669tbA6kfnJ0xZywvpZS1LHkQRRIhdFm38kDkDleeMdpIaUxZGoCbUuuTVup0qmvHX6/X41l5xGeBzej7TS9E32+3/R
bO7WZz3FxdHY93d4DMu7vVajwhI6geYTJQpLtVptZr15DlE6fC0XalBiV4QJwE/y4wgSmKcYhwyT4e/L0LZgReMPf0R4vjMCXE57PE1jgX0UpGwEtbFHF4Ig
5GsztXlTFc5E0cIBkgi9qj4EJQV2iFubrmikcYxfJG16Uu7d3rtXQioThHnNod48zKSyPnpKCe/IEvQfwedtBhrCqQdQinBWG5zcgI+uyD3los5EyIMJFylk
hBiIVB1xlPRDZtaQpN2wX2MY3Z/zvd4oSFnJGpKKw9T+NcCjkCM6vHZk5cTi6YMpV8cvGJ3lZI4zPP4A8zRoMBWczUYj72Gdmx8AtCp40laZyyjLHkg5c7Un
v46cz+k+MPdKHfe/0L


Last Palette (by Pigdevil2010):
https://dscript.me/bytebeat/#v3b64pZKxTsMwEIbfxYNlx4TaPieQqoqMyJguSO0UISJIxNBSlIYJeBeehSfjHCcKlLQMDNb5bOv77/7zK9mX2+
dNdVO2FZkbo6Q8I/Wu2b5sSjInjLF2sWAmZG0AaaqAKs75jBXE5rXNVnVWkPP7x7K53j1UV23/ytALzt98knBOQXFRPB1ngc0hyVaJjyKZZqroOzRgOjJp6n
MtURFxP5R0x87zuwbXaop52dUZH7DUUdZyWe5xrf/HMkPP9QEHKYqCazL0TO2YCNQaogHpjUBmwJSOfwnhnRfC83amlWipAzuqd84HJXnIemDsYJ2jI05jHQ
4Xw1h31PuZZ27wGCHDWQHkQAUk1uJ/wPMpb2LXP7/tMzVMsZ8pNiJPOwbesQQEKlkJEgPuLYjPj6IoCBUSMAGwp9TDUT78Wx9vyPsX
No.816
Earlgrey_bytebeat.png, 73.78KB, 1029x709
Закинул в плейлист ещё прикольных bytebeats, добавил для некоторых возможность переключения js-кода в pretty-формат в плейлисте.

- Bytebeat? How about bitbeat? (by Funute)
- HITLER-CHANデートシム (by Jimmyoshi)
- Earl Grey Groove (by Savestate)

Delete Post   Manage