xbox360
V2EX  ›  问与答

用单片机来物理建模音源,一般要什么级别性能的单片机?

  •  
  •   xbox360 · 2 days ago · 1000 views
    买了一块树莓派 pico2,双核 150MHz,core0 做 usb 数据传送和显示信息,core1 主要接收 core0 的 midi 信号后,经物理建模音源后通过 i2s 输出声音.
    但是我发现渣音质不说,还有很多杂音,然后从 150MHz 超频到 200MHz 后音质有所改善,杂音也少了一些,但是超频到 300MHz 后,输出的音频会有爆音.

    当然了,前提是单片机要有性价比,太贵的话不如用一台手机加载软音源来使用.
    7 replies  •  2026-09-29 13:44:48 +08:00
    zhujinliang
        1
    zhujinliang  
       2 days ago
    core0 只做 usb 和显示可能有点浪费
    性能/价格比 pico2 强的单片机不多了,而且现在都涨价,当前的价格远不如以前美丽了
    另外可以考虑看下 F1C200S 或者 RK3506G2 这样的芯片,前一个是 800MHz ARM9 ,芯片价 30 元左右,后一个是 3 核 1.5GHz Cortex-A7 ,模块价格大概 100 多元
    murmur
        2
    murmur  
       2 days ago
    你想干嘛,不是有专门的电子琴芯片,128m 的采样就能演出了
    westerndream
        3
    westerndream  
       2 days ago
    你程序的浮点运算多不多,多的话建议换带 fpu 的型号不然软件浮点很慢的,其他的除非你算法很复杂,要不然优化一下算法/调度(裸机/RTOS )/驱动( DMA )应该能跑,我做过 96M 主频 stm32f4 的,4 路 192k 32Bit I2S 输出,波形很漂亮
    BingoXuan
        4
    BingoXuan  
       1 day ago
    2350 绝对够用。用 pio 实现 i2s ,然后走 dma 发送数据。计算不要全在 mcu 上,而是计算好传输给 mcu 。
    xbox360
        5
    xbox360  
    OP
       1 day ago
    @westerndream
    多浮点运算,pico2 是自带 FPU 的,算法用的是 Karplus-Strong 扩展模型, 10 复音(每复音最多 3 弦), IIR 双二阶低通( Biquad ), 全通色散滤波( Allpass ), 复弦交叉耦合以及四模态音板共振器( SoundboardResonator ).
    xbox360
        6
    xbox360  
    OP
       1 day ago
    @westerndream 我试过用相同的算法,在 win 系统下做成一个小程序,它在运行后导出一个 wav 文件,听到的声音比 pico2 听到的声音,大概好听 10 倍都不为过...
    westerndream
        7
    westerndream  
       12h 53m ago
    @xbox360 原来 2 代已经是 m33 了,不好意思我还以为是 m0 ,那也有可能你算法比较复杂,建议你解耦开驱动和算法试试,先电脑上生成一段做好部分处理的音频,录下来播放,只保留 i2s 驱动看看声音好不好,再慢慢加上滤波器/合成算法
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1032 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 18:37 · PVG 02:37 · LAX 11:37 · JFK 14:37
    ♥ Do have faith in what you're doing.