发作品签到
标准版

#第四届立创大赛#波表合成八音盒

工程标签

5.1k
0
0
11

简介

简介:

开源协议

CC-BY 3.0

创建时间:2019-09-15 13:16:38更新时间:2021-12-18 12:52:38

描述

【请在报名阶段填写 ↓】
本作品采用波表合成(WaveTable Synthesis)的方法播放曲谱,采用Cortex M0+的MCU,对程序进行了高度优化,达到了了20复音数,32khz采样率,16bit波表样本的性能。

【请在竞赛阶段填写 ↓】
*  一、作品详情;

波表合成即取样,存贮为一个波表文件,重播时根据音乐文件记录的乐曲信息向波表发出指令,从表格中,逐一找出对应的声音信息,经微处理器或PC系统的CPU合成,加工后放出来。传统上该操作在高性能的平台实现,如ASIC,DSP,PC等。作品旨在低性能的MCU上实现实时性极高的波表合成功能,所以关键部分程序使用汇编完成以达到最优的执行速度。
作品具有传统八音盒的音色,使用了分段采样,对于不同的音高的发声有更好的表现。板载的MCU具有128K FLASH,除了程序和波表之外,可以存储近25首平均10分钟的乐曲。同时提供了midi文件转乐曲镜像的工具,可以任意定制乐曲内容。该作品还具备音量调节,乐曲导航和音频可视化功能,具有很高的实用性。硬件支持USB接口更新内部的曲谱镜像。

*  二、描述作品所面临的挑战及所解决的问题;

波表合成具有较高的实时性,即每1/32000s要更新20个发音单元的参数并混音,所以关键部分使用汇编完成,调试相对困难。

*  三、描述作品硬件、软件部分涉及到的关键点;

核心MCU选用了NV32F100,FLASH容量大且PWM可以大电流输出,能直接带动扬声器。作为一件DIY作品SOP16也更容易焊接。同时该MCU为2.7~5.5v宽电压产品,可以直接用普通的AA电池供电。USB接口使用CH330N,引脚少方便易用。固件使用前后台构架,定时器中断实时进行波表合成。同时还设计了专用的midi转曲谱数据的工具软件,具有智能移调功能,使得乐器的音域经可能符合八音盒的音域。

*  四、作品材料清单;

详见附件 BOM_#第四届立创大赛#波表合成八音盒_20190921170139.csv。

*  五、作品图片上传;(PCB上须有大赛logo标识并拍照上传,若无视为放弃参赛)

DSC_0066.jpg
DSC_0067.jpg
*  六、演示您的作品并录制成视频上传;(视频内容须包含:作品介绍;功能演示;性能测试;PCB上大赛logo标识特写镜头,若无视为放弃参赛)

请参看:
https://www.bilibili.com/video/av68526732/

七、开源文档。
固件请参考:https://github.com/eeyrw/music-box-nv32
midi转曲谱镜像工具请参考:https://github.com/eeyrw/midi-to-hex/tree/new-midi-to-hex

附件有编译好的hex和bin文件,直接可以烧录使用。关于NV32F100的烧录参看:http://bbs.21ic.com/icview-1639052-1-1.html
midi-to-hex-example.zip为针对Windows平台编译好的曲谱转镜像工具,可以参看内部readme得到曲谱镜像文件。

设计图

原理图
PCB

BOM

IDNameDesignatorFootprintQuantity
1100nFC7,C1,C6,C508054
21TS002E-2600-2500RST_KEY,USER_KEY_1,USER_KEY_2KEY-TACT-SMD-6.1*3.7*2.53
3SpeakerSPKPCB_MOUNT_SPEAKER_30MM1
43RR3,R108052
5NV32F100FS16U2SOP-16_LS6.0-L10.0-W3.9-PI1.27-BL1

附件

序号文件名称下载次数
1
BOM_#第四届立创大赛#波表合成八音盒_20190921170139.csv
5
2
music-box-nv32.hex
5
3
music-box-nv32.bin
3
4
midi-to-hex-example.zip
7
克隆工程
添加到专辑
0
0
分享
侵权投诉

工程成员

评论

全部评论(1)
按时间排序|按热度排序
粉丝0|获赞0
相关工程
暂无相关工程

底部导航