小鱼塘--自说自话的地方

  • 小玩意
  • 小想法
记录自己技术和想法地方
  1. 首页
  2. nes
  3. 正文

nes apu 声音模拟研究心得1

26 2 月, 2026 3点热度 0人点赞 0条评论
内容目录

背景

自己一直研究nes apu声音,初步研究一些东西,记录下来,帮助以后自己理解

心得

  1. 方波是最重要的,这个主要用于背景声音,可以不用管混音,不用管rc过滤,直接推进出来
  2. 声音验证可以通过现有nes 模拟器,设置声音关闭其他波形,只留一个方波就可以了,这样子可以对比区别
  3. 波形模拟无非几个定时器(通过cpu cycle 或者apu cycle)推进波形的变化,具体变化就根据nes 文档写,不明白可以反复跟AI交流,慢慢也就能明白
  4. 公式推理,文档也没有具体说明,反正通过分频器,产生不同定时器,为了得到指定频率的波,具体逻辑,我写自己笔记文档里面
  5. 难点就是自己模拟波,播放会出现卡断或者杂音,我后面发现是采集有问题,我目前的代码通过cpu cycle推进apu cycle(本质是一样,只是2 cpu cycle = apu cycle)推动,同时计算多少cyle 进行采集,因为代码波动,无法稳定达到44100采集(我播放代码是通过44100播放),导致太慢出现卡的感觉,这个可能好多人会遇到跟我一样的问题,我后面分析virtualnes 的代码,他通过批量生成采集点(通过记录更新声音点数据事件和数据记录),这样子稳定产生对应频率的声音
  6. virtualnes 模拟代码思路通过 画面frame 为单位,转换到nes cycle,这个我开始都没有明白这一点,我还是通过AI的出来的结论,我自己实现通过 指令得到cycle, 然后cycle 驱动ppu cycle,我控制画面的fps 来决定代码执行速度,所以思路是完全不一样的

其他

挺好奇,以前开发模拟器怎么开发出来,那个时候资料那么少,很多东西只能自己推测出来,真不容易

标签: 暂无
最后更新:26 2 月, 2026

小鱼儿

爱研究技术,爱玩LOL

点赞
< 上一篇

COPYRIGHT © 2022 小鱼塘. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

湘ICP备18005349号