#1 - 2023-12-28 13:48
Letheward
网上冲浪的时候发现了这个有趣的音乐形式(bgm38)

简要来说,Bytebeat 是指用代码描述一个时间的函数,以生成对应时间的采样点,最后得到音频。一段 Bytebeat 音乐看起来像这样(变量 t 就是时间):

(t>>7|t|t>>6)*10+4*(t&t>>13|t>>6)

虽然这个概念算不上新,Bytebeat 的名字与其大致固定的格式来自 2011 年的这篇博客文章和其中的视频。Bytebeat 通常是用 C 系语言所写,输出是 8000Hz 采样率的 8 位整数 PCM 音频;但现在也有一些变种,如使用 48000Hz 采样率或浮点数输出的。

如果你想创作 Bytebeat 或试试别人的代码,可以使用这个实时编辑器:Bytebeat Composer

下面是几段我写的:

FM Primes:
t/4|t*(t>>7|t>>11|t>>13)

Choppy Saws:
t/16|t/28|t>>(t%17)|t>>(t%23)|t>>(t%29)

C Is Functional:
m=1024,a=t%(2*m)>m,b=t%(3*m)>m,c=t%(5*m)>m,t*(a?9:b?8:c?6:5)|t/(m/16)
#2 - 2023-12-28 14:08
(萌豚)
感觉像老游戏里的bgm
#3 - 2023-12-28 17:49
(そよ風が涼しく、すごく、いい!)
也好像我以前尝试去听的古早电子乐
#3-1 - 2023-12-28 19:03
Letheward
可以听听编辑器里 Big JS 部分收录的标金星的曲子(有些比较吃性能),很多都基本是在这个的基础上自己写了个 tracker 和合成器来用了,音色挺多样的。

当然,里面也少不了传统艺能 Bad Apple(bgm38)
#4 - 2024-1-1 14:28
更新几个自己写的:

44(修改自 "the 42 melody"):
t*(44&t>>8&t*7)|t/4

Evil JS:
x="t*(t^x.charCodeAt((t/927)%x.length))",eval(x)
#5 - 2024-1-1 14:29
make
#6 - 2024-1-7 02:01
(明明人没有那么快前进,时间还是脚步不停的往前)
想起了之前老师让我们用单片机的蜂鸣器写一段音乐程序(bgm27)