【问题标题】:Emulate audio from a gameboy ROM in javascript在 javascript 中模拟来自 gameboy ROM 的音频
【发布时间】:2013-09-19 18:10:57
【问题描述】:

使用这个模拟器http://www.codebase.es/jsgb/ 我做了这个项目https://github.com/rafaelcastrocouto/gbonline

现在我想用 html5 音频 API 模拟声音和音乐,但我不知道从哪里开始。我查看了模拟器代码和手册,但我远未理解那里发生了什么。

模拟器代码:https://github.com/rafaelcastrocouto/gbonline/blob/gh-pages/script.js 手动:http://nocash.emubase.de/pandocs.htm

你们能解释一下应该怎么做吗,也许是一些伪代码???

【问题讨论】:

    标签: javascript emulation 2d-games gameboy


    【解决方案1】:

    我发现有四种方法可以让模拟器发出声音,这在学分部分Codebase 中引用的 Pan Docs 中有所描述。在 I/O Ports 的 Pan Docs 部分中有一个名为 Sound Controller 的章节。有写:

    有两个声道连接到输出端子 SO1 和 SO2。还有一个输入端 Vin 连接到墨盒。它可以路由到两个输出端子中的任何一个。 GameBoy 电路允许以四种不同的方式产生声音:

    • 具有扫描和包络函数的四边形波形。
    • 具有包络函数的四边形波形。
    • 波形 RAM 中的自发波形。
    • 具有包络函数的白噪声。

    因此有必要实现与上一个列表的特征相匹配的音频工作者。例如,使用 Flocking 之类的库,并为每种方式构建声音,可以创建一个与该文章以下部分中的详细信息相匹配的合成。

    完成该步骤后,需要在 Git 存储库中扩展 script.js(与从 line 240 开始的其他寄存器一样)才能连接 sound registers。这些寄存器需要触发并选择合适的合成器。

    希望这会有所帮助。

    【讨论】:

    • Flocking 看起来像一个很好的库 .. 会尝试一下... 仍然梦想着那个 git pull
    • @rafaelcastrocouto 你的 git pull 已经拉你的研究是什么意思
    猜你喜欢
    • 2013-05-17
    • 2016-11-09
    • 2011-07-22
    • 1970-01-01
    • 2013-03-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 2019-06-06
    相关资源
    最近更新 更多