Alo*_*lon 4 flash midi actionscript-3 midi-instrument
我试图在flash midi文件中可视化(使用外部midi-to-flash库)
有没有办法在midi文件中区分Violin,Viola,Cello和Contrabass.我得到了仪器的这些值(忽略数字):
1长笛13
2双簧管15
3单簧管14
4巴松管16
5法国号角18
6小号17
7定音鼓26
8弦乐合奏1 3
9弦乐合奏1 3
10弦乐合奏1 3
11弦乐合奏1 3
12弦乐合奏1 3
13原声大钢琴5
14原声大钢琴5
15原声大钢琴5
16 Acoustic Grand Piano 5
如您所见,所有字符串都获得相同的"String Ensemble"值...
一种方法是询问每个音符是高(65>)还是低(50 <)等,并通过大致决定乐器类型(对于特定音符).但由于这些值是随机的而且不准确 - 不能正确分离它们(特别是因为不同的工具仍然具有共享的音符高度值).
它是在midi文件中写的(大提琴,小提琴......)吗?
有没有办法承担它?
我有5首曲目.是否可以假设(例如)前两个是小提琴,第三个是大提琴等?或者他们都是混合的?
简而言之,没有.
你看到的是简单的通用MIDI补丁.但是,这些乐器的声音取决于产生声音的合成器,并且不是由MIDI定义的.完全可以选择与所示补丁完全不同的仪器.
话虽如此,41被定义为小提琴,42是中提琴,43是大提琴,44是低音提琴.但是,不要指望它们总是以这种方式使用.
至于第一/第二小提琴,这取决于人决定如何制作MIDI文件,并且没有编程方式来找到它.例如,如果乐器补丁是相同的,我希望该乐器的所有用法都在一个通道上.除非他们使用的软件由于某种原因决定将其拆分.(例如,如果源分数已将其拆分.)
我相信一个MIDI文件有一些空间用于曲目名称等,但你不会在每个MIDI文件中看到它们,并且它们是自由格式的名称,因此它们不会以任何可编程方式使用的方式进行标记.
MIDI仅用于控制合成器,并不用于表示我们人类理解的乐谱.
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |