KDocs 研发资料库
  • IOT(BLE-AD-MCU)资料链接入口汇总
  • BLE硬件设计指南
  • BLE 认证汇总
  • AD系列入门到进阶开发指导文档
  • AC75开发指导文档
  • AW31开发指导文档
  • AW33开发指导文档
  • AC63NN开发指导文档
  • HID相关资料入口
  • HID问题汇总

JLmidi工具使用说明

📎 原始文档:https://www.kdocs.cn/l/cjk51O6Jpuoh

AD140 Midi Tool

AD140 SDK工具使用说明

Rev 1.10 —— 2016年5月18 日 星期三 midi工具说明

This translated version is for reference only, and the English version shall prevail in case of any discrepancy between the translated and English versions.
版权所有 2016杰理科技有限公司 未经许可,禁止转载
目录
一、 主界面.............................................................................................................................................................. 4
1.1 工具简介................................................................................................................................................ 4
1.2 主界面-乐器种类.................................................................................................................................. 4
1.3 主界面-库中添加乐器..........................................................................................................................4
1.4 主界面-按键...........................................................................................................................................5
二、 Midi转换.........................................................................................................................................................6
2.1 MIDI文件转换界面.............................................................................................................................6
2.2 输出目录................................................................................................................................................ 6
2.3 转换.........................................................................................................................................................6
2.4 导出库.................................................................................................................................................... 6
三、 WAV编辑........................................................................................................................................................ 7
3.1 WAV编辑界面...................................................................................................................................... 7
3.2 波形编辑界面........................................................................................................................................7
3.3 参数界面................................................................................................................................................ 8
3.4 修改保存.............................................................................................................................................. 10
四、 音源修改示例............................................................................................................................................... 11
4.1 选择乐器.............................................................................................................................................. 11
4.2 Wav文件处理..................................................................................................................................... 11
4.3 参数设置.............................................................................................................................................. 13
4.4 程序应用.............................................................................................................................................. 14
五、 按键与乐器表............................................................................................................................................... 16
5.1 按键表.................................................................................................................................................. 16
5.2 乐器表.................................................................................................................................................. 16
六、 其他说明........................................................................................................................................................ 20
6.1 midi音源及库生成说明.................................................................................................................... 20
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image

修改日志

image 版本 日期 描述

1.102016 / 5 / 18修改midi工具,添加音源修改示例
1.002016 / 1 / 30AD30X midi工具
更新:● 建立初始版本
● 定义文档格式

AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.

一、 主界面

1. 1工具简介

MIDI文件是一种事件文件,不含音源,它记录的是一系列的事件。
MIDI文件解码,是从MIDI音源库中查找(或者根据一定的算法计算)得到事件对应的音频,因此对于不同的音源库而言,相同的MIDI文件解码出来的声音不同。
我司MIDI音源文件不会记录每个按键的声音,解码时再依次查找叠加,这种做法会导致音源库很大。我司的做法是:假设0号乐器的第n 到m号按键是可以通过N号按键计算的(m<=(N+12)),那么库中只需要记录N号按键。比方说,0-20号key都用10号key 的声音根据频率关系去计算,21-47号key都用48 号key去计算 那么只需记下0号乐器的第 10、 48 号按键。
本工具的作用:可以查看,某个乐器某个按键的音源及其信息。 也可以进行编辑修改成自己想要的声音。
点击 “pWM.exe”,打开midi工具。
image

1.2主界面-乐器种类

图中的红色框为乐器种类,共32项;蓝色框为乐器细分种类,共8项。对应的乐器号计算方法:假设乐器种类为0-31,乐器细分为0-7。 乐器号为(乐器种类*8+乐器细分)。
在“打击乐器”中,有很多的乐器是没有的,用户可以自主添加乐器声。

1.3主界面-库中添加乐器

在midi文件转换的时候,工具会自动把文件中所使用的乐器加载到库中。同时,用户也可以手动添加一些乐器(用于midikey等),在 midi转换的时候把这些库也加载到库中。
Sdk程序中 midikey有三个通道,其中0和1号通道可以使用0-127号乐器,2号通道可使用128-255 号乐器。
如选择00-01高亮大钢琴,那么通道号可以选择0或1,乐器号写08+1 = 1;
如选择16-00standard,乐器号为16
8+0=128,大于127,所以通道号只能选2,乐器号写:16*8+0-128 AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image = 0;
image

1.4主界面-按键

橙色框的钢琴按键为0-127号key。 当我们选择好了乐器跟key之后就可以查看编辑MIDI音源库了。“wav编辑”完成后可以点击key试听按键音。
另外,在PWM.exe所在的文件目录下面,music_Play_index.ini里面会列出一组key。 点击主界面里面的JL(见图中绿色框框),则依次弹奏文件中的那组key。 点击乐器框(见图中红色框框)会暂停下来。可以按格式去修改music_Play_inidex.ini 中的内容,改变播放内容。
image AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.

二、 Midi转换

原始的midi文件需要通过我司的MIDI转换工具转换后才能正常使用

2. 1MIDI文件转换界面

在MIDI工具主界面中点击 “MIDI转换”弹出MIDI文件转换工具,点击 “添加文件”按钮,在弹出的文件选择框中选中要转换的一个或多个midi文件。

2.2输出目录

点击 “输出目录”,选择转换后midi文件存放的文件夹。
image

2.3转换

点击“开始转换”,即可生成我司自定义的mid文件,右下角显示转换进度。此时按键灰掉不能使用,等待转换完成才恢复。
image

2.4导出库

点击“导出库”,工具根据“输出目录”中的文件生成一个我司自定义的mid库文件,保存在“输出目录”的“MID_RES”文件夹中。
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image

三、 WAV编辑

3.1 WAV编辑界面

在主界面中点击“WAV编辑”进入MIDI音源编辑界面。编辑音源时记得要把乐器跟key都选好。
image 文件列表:当前选中的音频文件,可以通过点击“文件”添加。
波形界面:选中文件的wav波形显示与编辑。
正常衰减与松手衰减:音频的衰减情况。

3.2 波形编辑界面

在波形图界面中点击右键弹出波形编辑框,点击“选择->边界标记”,再点击“选择->区间选择”选中一段区域,那么就可以对这一段音频进行复制\剪切之类的编辑了。
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
imageimage 选择右击菜单的最后一项“当前WAV文件另存为 ”,可以将编辑结果另存为自己的wav文件。否则编辑无效,就算是打开的默认音色的wav文件,也是生成的一个临时文件而已。如果不另存,下一次编辑也是会被改写的。
另外,提示打不开tmp.wav,可能是库里面不包含该按键的声音。也可能没有选择key,导致没有文件生成。具体检查方法,可以看下 “.\GP”中tmp.wav 的Wav文件存在,但是长度为0,则该声音不存在。

3.3 参数界面

在“WAV编辑”界面中点击 “参数”进入参数编辑界面。
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image 这就是一个音色文件的单元信息,也就是该乐器的key码对应wav波形。 以图中所示为例:
Key码:当前编辑的为乐器的 115号按键。
KEY从—到:当前乐器的 115-126号按键通过映射而来。其中终止key 的大小,不得超过实际存的key 码+12。 也就是说,例如我存的是 115号key 的波形。那么我可以从0号按键到(115+12)号key都用 115 号按键去映射。
音量:默认音量的大小。可以调节该值,改变该乐器的默认音量。
上升速度:改变的是一个按键发声的时候,它的淡入速度。
正常衰减与松手衰减:该按键音的衰减速度。 一般松手之后,声音会更快地衰减。 右图曲线窗显示的只有前面32ms 的衰减形状。
衰减限制:按键长按时,声音会hold住的一个阈值。 只有在松手后,声音才会低于该阈值继续衰减。
*其中,音量,上升速度,正常衰减,松手衰减,衰减限制都是0-1,但是工具中, 以65535量化。所以,65535对应 1。
循环起始位置:只对应循环有效的音源信息文件有效,即后面的小框是勾起的。 简单的来说,如果不是循环的,那先忽略音量,就是一个音源文件有多长,那发声最长也就那样了。 一个声音发完了就是发完了。但是,如果一个循环的音源文件,就是一个无穷长的文件,从循环位置开始一直到波形文件最后的这段波形视为一个周期,这个周期一直在现有的波形文件后面做周期性扩展。所以编辑的时候请注意,波形前后扩展时的过度,例如波形为[ 1,2,3,4,5,6,7], 3为循环起始,那波形实则为[1,2,3,4,5,6,7,3,4,5,6,7,3,4... ]。这时候,请保证,周期扩展连接处,即7,3之间。 [1,2,3,4,5,6,7,3,4,5,6,7,3,4...]这个才是最后的波形,如果,这个声音在连接处不平滑,有啪一声,那就会一直啪啪响的了。 例如波形是[ 1,2,3,4,5,6,5,4,3,2],则为[1,2,3,4,5,6,5,4,3,2, 3,4,5,6,5,4,3,2, 3,4, ],要保证这个声音听起来好听。
另外需要确认的是,该窗口最上面的wav文件路径。请选择自己之前保存的wav文件路径。不要用临时路径哦。就是默认打开的音色编辑的wav。 该wav文件,是从库里剔出来生成的临时文件而已。 下次是会被重写的。每次修改完保存的都只是路径而已。如果该wav无效了,或者被修改了。那都是按最后wav AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image 文件的内容进行库编辑的。

3.4 修改保存

修改完之后,点击确定。 回到上级窗口,这时候保存按键亮起。 如果点击保存,所做的修改就会被写入一个.bin文件。 否则无效。在退出的时候,会调用一个批处理去扫描.bin文件,生成最后需要的库。
image AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.

四、 音源修改示例

这里以修改 129号乐器(乐器种类:打击乐器0;乐器细分:01无)的57到64号按键为例。

4. 1选择乐器

选择 “打击乐器0”,按键选择57,打击 “WAV编辑”。
image

4.2Wav文件处理

5.2.1 点击 “文件”选择wav文件。

5.2.2 如果原始文件有衰减,需要使用 “幅度调整”做一定的调节后才能使用
A、 调整前波形:
image B、 设置调整参数:
image 系数:增幅速度
长度:需要增幅的点数,该长度以后的点都按照最后的增幅系数增幅。
增益图示意:(横轴是数据点,纵轴是增益倍数)系数=0 .997,长度=3000。 长度超过3000都用3000处的增益。增益限制1000倍:
image AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image 系数=0 .9997,长度为3000:
image 0 500 1000 1500 2000 2500 3000
C、 点击“幅度调整”开始调整:
image D、 调整后波形:
image E、 修改完成后点击右键,选择 “当前WAV文件另存为”,保存新的wav文件:
image F、 如果当前调整效果不满意,可以点击右键选择 “恢复数据”
5.2.3 选择一个完整的循环周期,删除多余的数据,记录起始循环的点。

  • 一定要保证循环点的首尾向连,否则生成的库将会有杂音。一般从0点附件删除、记录采样点。
    AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
    imageimageimageimage

5.2.4 wav文件编辑好后,重新选择 “文件”,打开编辑后的wav文件。

4.3参数设置

5.3.1 设置参数

点击 “参数”打开参数设置界面。
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
imageimage Key码:设置为57
Key从:设置为57
到: 设置为64
音量:设置为最大值65535
上升速度:设置为最大值65535
正常衰减:根据需求做一定衰减
松手衰减:根据需求做一定衰减
衰减限制:如果原音源没有做 “幅度调整”,衰减限制设置为0;如果有做 “幅度调整”,根据原调幅程度做一定的衰减限制
循环起始位置:设置为1554(一般记录为原点的值),勾选“循环”

5.3.2 保存修改

点击 “确定”后退到上一级目录,点击“保存”,然后点 “退出”后退到主界面。
此时可以点击57到64号按键听效果。

4.4程序应用

5.4.1 midikey初始化

由于使用的是 129号乐器,因此通道只能选择为2号通道,乐器号为 129-128=1。
修改 midi_decode()函数中的代码如下所示:
image

5.4.2 midikey消息

由于使用了2号通道, midikey_put_msg()函数中的消息发送通道也要相应的改为2:
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
imageimage 修改完成后就可以调用 midikey_put_msg()函数发送57到64号按键发声了。
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.

五、 按键与乐器表

5. 1按键表

下表列出的是与音符相对应的命令标记。八度音阶|| 音符号

image
C
C#image
D
D#image
E
image
F
F#image
G
G#image
A
A#image
B
image
0
01234567891011
image
1
121314151617181920212223
image
2
242526272829303132333435
image
3
363738394041424344454647
image
4
484950515253545556575859
image
5
606162636465666768697071
image
6
727374757677787980818283
image
7
848586878889909192939495
image
8
96979899100101102103104105106107
image
9
108109110111112113114115116117118119
10120121122123124125126127

5.2乐器表

实际代号应为列表中的代号减1:
PIANO 钢琴
1 Acoustic Grand Piano 大钢琴
2 Bright Acoustic Piano 亮音大钢琴
3 Electric Grand Piano 电钢琴
4 Honky-Tonk Piano 酒吧钢琴
5 Rhodes Piano 练习音钢琴
6 Chorused Piano 合唱加钢琴
7 Harpsichord 拨弦古钢琴
8 Clavinet 击弦古钢琴
CHROMATIC PERCUSSION 半音打击乐器
9 Celesta 钢片琴
10 Glockenspiel 钟琴
11 Music Box 八音盒
12 Vibraphone 电颤琴
13 Marimba 马林巴
14 Xylophone 木琴
15 Tubular Bells 管钟
16 Dulcimer 扬琴
ORGAN 风琴
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image 17 Hammond Organ 击杆风琴
18 Percussive Organ 打击型风琴
19 Rock Organ 摇滚风琴
20 Church Organ 管风琴
21 Reed Organ 簧风琴
22 Accordion 手风琴
23 Harmonica 口琴
24 Tango Accordian 探戈手风琴
GUITAR 吉他
25 Acoustic Guitar (nylon)尼龙弦吉他
26 Acoustic Guitar(steel)钢弦吉他
27 Electric Guitar (jazz)爵士乐电吉他
28 Electric Guitar (clean)清音电吉他
29 Electric Guitar (muted)弱音电吉他
30 Overdriven Guitar 驱动音效吉他
31 Distortion Guitar 失真音效吉他
32 Guitar Harmonics 吉他泛音
BASS 贝司
33 Acoustic Bass 原声贝司
34 Electric Bass(finger)指拨电贝司
35 Electric Bass(pick)拨片拨电贝司
36 Fretless Bass 无品贝司
37 Slap Bass 1 击弦贝司 1
38 Slap Bass 2 击弦贝司 2
39 Synth Bass 1 合成贝司 1
40 Synth Bass 2 合成贝司 2
SOLO STRINGS 弦乐独奏
41 Violin 小提琴
42 Viola 中提琴
43 Cello 大提琴
44 Contrabass 低音提琴
45 Tremolo Strings 弦乐震音
46 Pizzicato Strings 弦乐拨奏
47 Orchestral Harp 竖琴
48 Timpani 定音鼓
ENSEMBLE 合唱或合奏
49 String Ensemble 1 弦乐合奏1
50 String Ensemble 2 弦乐合奏2
51 SynthStrings 1 合成弦乐 1
52 SynthStrings 2 合成弦乐2
53 Choir Aahs 合唱 “啊”音
54 Voice Oohs 人声 “嘟”音
55 Synth Voice 合成人声
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image

56 Orchestra Hit 乐队打击乐

BRASS 铜管乐器
57 Trumpet 小号
58 Trombone 长号
59 Tuba 大号
60 Muted Trumpet 弱音小号
61 French Horn 圆号
62 Brass Section 铜管组
63 Synth Brass 1 合成铜管 1
64 Synth Brass 2 合成铜管2
REED 哨片乐器
65 Soprano Sax 高音萨克斯
66 Alto Sax 中音萨克斯
67 Tenor Sax 次中音萨克斯
68 Baritone Sax 上低音萨克斯
69 Oboe 双簧管
70 English Horn 英国管
71 Bassoon 大管
72 Clarinet 单簧管
PIPE 吹管乐器
73 Piccolo 短笛
74 Flute 长笛
75 Recorder 竖笛
76 Pan Flute 排笛
77 Bottle Blow 吹瓶口
78 Skakuhachi 尺八
79 Whistle 哨
80 Ocarina 洋埙
SYNTH LEAD 合成主音
81 Lead 1 (square)合成主音 1(方波)
82 Lead 2 (sawtooth)合成主音2(锯齿波)
83 Lead 3 (calliope lead)合成主音3(汽笛风琴)
84 Lead 4 (chiff lead)合成主音4 (吹管)
85 Lead 5 (charang)合成主音5(吉他)
86 Lead 6 (voice)合成主音6(人声)
87 Lead 7 (fifths)合成主音7(五度)
88 Lead 8 (bass+lead)合成主音8(低音加主音)
SYNTH PAD 合成柔音
89 Pad 1 (new age)合成柔音 1(新时代)
90 Pad 2 (warm)合成柔音(暖音)
91 Pad 3 (polysynth)合成柔音3(复合成)
92 Pad 4 (choir)合成柔音4(合唱)
93 Pad 5 (bowed)合成柔音5(弓弦)
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image 94 Pad 6 (metallic)合成柔音6(金属)
95 Pad 7 (halo)合成柔音7(光环)
96 Pad 8 (sweep)合成柔音8(扫弦)
SYNTH EFFECTS 合成特效
97 FX 1 (rain)合成特效1(雨)
98 FX 2 (soundtrack)合成特效2(音轨)
99 FX 3 (crystal)合成特效3(水晶)
100 FX 4 (atmosphere)合成特效4(大气)
101 FX 5 (brightness)合成特效5(亮音)
102 FX 6 (goblins)合成特效6(小妖)
103 FX 7 (echoes)合成特效7(回声)
104 FX 8 (sci-fi)合成特效8(科幻)
ETHNIC 民族乐器
105 Sitar 锡塔尔
106 Banjo 班卓
107 Shamisen 三味线
108 Koto 筝
109 Kalimba 卡林巴
110 Bagpipe 风笛
111 Fiddle 古提琴
112 Shanai 唢呐
PERCUSSIVE 打击乐
113 Tinkle Bell 铃铛
114 Agogo 拉丁打铃
115 Steel Drums 钢鼓
116 Woodblock 木块
117 Taiko Drum 太鼓
118 Melodic Tom 嗵鼓
119 Synth Drum 合成鼓
120 Reverse Cymbal 镲波形反转
SOUND EFFECTS 声音特效
121 Guitar Fret Noise 磨弦声
122 Breath Noise 呼吸声
123 Seashore 海浪声
124 Bird Tweet 鸟鸣声
125 Telephone Ring 电话铃声
126 Helicopter 直升机声
127 Applause 鼓掌声
128 Gunshot 枪声
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.
image

六、 其他说明

6. 1midi音源及库生成说明

使用工具转换midi 时,文件名字中请不要含有 “!”,否则执行会出错。
界面编辑的原因是可以直观的查看波形参数,改波形参数。所做的修改,最终会保存在wav文件跟bin 文件中。退出编辑的时候,会自动调用批处理生成一个完整的库,保存在 “.\midi_res\0Big_midi.mid”中。
如果不需要改波形,也是可以直接点击批处理的。界面所做修改都在config_out.bin 中,文件写入方式都是往后增加。所以如果删除该文件,则新做的修改全部无效;如果还原上次的Bin文件,则这次的修改无效。用户可以通过bin文件的保存/删除来实现自己的操作,每一次保存会往文件中写入312个byte 的数据,代表一次操作。
AD140 All information provided in this document is subject to legal disclaimers © JL.V. 2016. All rights reserved.