我的英语老师是个音乐人。那天他给我听了几首自己的作品,随口说了句:"要是能不用打开那些庞大的软件,快速 sketch 一个 beat 就好了。"
他不想用 Ableton。不想装任何东西。就想开个浏览器标签页,直接开始做音乐。
这句话我记了很久。
我妈早年毕业于巴塞罗那音乐学院。邻居在 spare room 里做电子音乐。音乐无处不在,但我反复听到同一种抱怨:制作工具要么贵,要么复杂,要么得把音频上传到某个云端——而那个云端尊不尊重你的隐私,谁也说不准。
所以我做了两个工具。完全在浏览器里运行。不用注册,不用上传,不用订阅。
第一个是 Loop Music Creator,一个基于 Web Audio API 的完整 loop DAW。
7 种轨道类型:鼓、合成器、贝斯、主音、铺底、打击乐、采样器。14 个合成器预设,从 FM 钢琴到 Karplus-Strong 拨弦,再到 8-bit 芯片音。鼓机用步进音序器,旋律轨用钢琴卷帘。
每轨自带效果:三段 EQ、压缩器、混响/延迟发送。总线上还有混响、延迟、压缩、母带 EQ。支持多场景编排,可以做主歌、副歌、桥段。有 tap tempo 和每轨 swing 调节。
能导出 WAV,能存取工程(.loop.json 格式)。
所有声音实时合成。没有从服务器加载的采样。鼓声用噪声合成和振荡器塑形生成,合成器根据预设分别用 FM、加法或减法合成。
技术架构上,音频引擎和 React 状态解耦。useRef 持有引擎实例,useReducer 管理 DAW 状态,避免 React 重渲染导致音频 glitch。引擎用 AudioContext.currentTime 提前调度音符,配合 lookahead buffer——这个技巧 Chris Wilson 在 "A Tale of Two Clocks" 里有详细文档。
每轨有独立的 gain node、panner 和效果链,汇总到 master bus。总线混响用无卷积的算法实现,延迟带反馈,还有动态压缩和三段 EQ。工程序列化器把 AudioBuffer 编解码成 base64,采样器轨导入的音频也能完整保存和分享。
第二个工具是 YouTube Loop Mix,浏览器里的 DJ 台。
邻居总问我:"能不能直接 loop YouTube 视频的某一段,然后跟另一轨混起来?"他经常在 YouTube 上找到绝妙的鼓 break,想 loop 4 小节,再跟本地文件的合成器铺底叠在一起。现有工具要么得先下载视频,要么不支持双源混音。
YouTube Loop Mix 给了双 deck、crossfader,跟真 DJ 台一样。可以加载 YouTube 视频或本地音频文件。A-B loop 标记能循环任意段落。
热门跟贴