铃儿响叮当 - 用正弦波函数将简谱文本合成音乐, 200 来行代码听个响

154 天前
 dearxe2v

简单用 正弦波、方波、锯齿波、三角波 函数生成一段音乐简谱的 pcm 数据,可以转码成 wav 、mp3 等格式直接播放。好久以前写的,差不多快半年前了,刚开始是用来生成测试音频用的,后面陆陆续续加了几十首曲子进去

在线把玩地址: https://xiangyuecn.gitee.io/recorder/assets/%E5%B7%A5%E5%85%B7-%E4%BB%A3%E7%A0%81%E8%BF%90%E8%A1%8C%E5%92%8C%E9%9D%99%E6%80%81%E5%88%86%E5%8F%91Runtime.html?jsname=test.create-audio.nmn2pcm

作方法:点击代码下面的运行按钮,再点击任意一个简谱,再点击合成,就可以播放了

源码: https://github.com/xiangyuecn/Recorder/blob/master/src/extensions/create-audio.nmn2pcm.js

里面有《铃儿响叮当 - Jingle Bells - 圣诞歌》,马上到圣诞节了,说不定有点用处。

欢迎收听:《[插件内置] 东方红》《[插件内置] 兰花草(洒水版)》😆


已有曲目列表:

  1. 思君黯然 - 天龙八部插曲
  2. 小猪佩奇 - 片头曲
  3. 葫芦娃 - 葫芦兄弟主题曲
  4. 云宫迅音 - 西游记片头曲
  5. 梁祝 - 梁山伯与祝英台
  6. 世上只有妈妈好
  7. 一闪一闪亮晶晶
  8. 两只老虎
  9. 春天在哪里
  10. 让我们荡起双桨
  11. 铃儿响叮当 - Jingle Bells - 圣诞歌
  12. 下雨的时候 - SomeTimes When It Rains
  13. 此情可待 - Right Here Waiting
  14. 独角戏 - 是谁导演这场戏
  15. 祝你一路顺风 - 面带着微微笑,用力的挥挥手
  16. 纸短情长 - 好想你,在每一个雨季
  17. 我爱你不问归期 - 是想念,如你温柔过境
  18. 出埃及记 - 电影出埃及记主题曲
  19. Victory - 高潮部分
  20. Victory - 开头部分+高潮部分
  21. 音符试听 - 1234567
  22. [插件内置] 东方红
  23. [插件内置] 祝你生日快乐
  24. [插件内置] 兰花草(洒水版)
  25. [插件内置] 致爱丽丝
  26. [插件内置] 卡农-右手简谱
  27. [插件内置] 卡农
887 次点击
所在节点    程序员
2 条回复
est
154 天前
感觉不如我这个简单 /t/891268
xiangyuecn
154 天前
@est 哈,看到了,你那用的 AudioContext 来合成声音并播放,代码是少了不少,也可以直接用正弦函数来写纯代码更好移植一点,合成用不到 fft ,识别信号时才用到了 fft

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/999356

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX