使用纯 HTML 与 JavaScript 构建无限生成音乐引擎(基于 Markov)

发布: (2025年12月17日 GMT+8 02:42)
3 min read
原文: Dev.to

Source: Dev.to

Infinite Generative Music Engine

我一直在浏览器中尝试 生成音乐系统,想分享一下我最近完成的项目。

这是一款 无限环境音乐生成器,使用 纯 HTML 与 JavaScript 构建,完全在浏览器中通过 Web Audio API 运行。没有后端,没有框架——只有算法和音效设计。

🎼 它能做什么?

引擎会持续生成柔和的环境音乐,采用以下元素:

  • 马尔可夫风格的音符转移
  • 双层古典吉他
  • 钢琴与环境背景纹理
  • 低音和细腻的节奏元素
  • 基于情感的动态与速度调制

每一次会话 永不重复——音乐会无限演变。

🔊 音效设计亮点

  • 算法性琶音与旋律碎片
  • Paulstretch 风格的环境层
  • 实时 EQ、滤波器与混响控制
  • FFT 频谱可视化,提供实时反馈
  • 为长时间聆听设计的平滑过渡

适用场景:

  • 学习
  • 编码
  • 冥想
  • 背景专注

🛠️ 技术栈

  • HTML
  • Vanilla JavaScript
  • Web Audio API
  • Tone.js
  • 算法作曲逻辑(受 Markov 启发)

▶️ YouTube 实时演示

我把这个引擎做成了 24/7 实时流,在这里播放:(link to the YouTube stream)

💡 为什么要做这个

我想探索 基于浏览器的音频 在不依赖插件或原生应用的情况下能走多远。这个项目表明,现代 JavaScript 已经足够强大,能够实时创建沉浸式、不断演化的音乐系统。

如果你对以下内容感兴趣:

  • 创意编码
  • 生成艺术
  • 音频编程
  • 实验音乐工具

欢迎分享你的想法。

感谢收听 🎧

Back to Blog

相关文章

阅读更多 »

记忆游戏 – LiveHTML | Okan Kaplan

来看看我做的这个 Pen!Memory Game – 交互式、响应式,完全使用 JavaScript 构建。由 LiveHTML 开发。标签:MemoryGame,Tangram,JavaScript,...

星星 html

渲染器设置 javascript // 3. 渲染器设置 const renderer = new THREE.WebGLRenderer{ antialias: true }; renderer.setSizewindow.innerWidth, window.innerHeig...