歌聲合成:mid與xml 樂譜文件解析(3)

樂譜分析

  • 將樂譜轉換爲用於訓練與合成的上下文標註是歌聲合成系統的前端部分。

標準的MIDI

  • MIDI(music Instrument Digital interface),中文稱爲數字接口,是一個工業標準的電子通信協議。
  • 編號爲128的MIDI消息類型爲 Note On,即開始演奏一個音符;編號爲144的MIDI消息類型爲Note Of!f,即停 止演奏一個音符。
  • midi文件
  • 讀入 MIDI 格式文件,產生一個 n*7 的矩陣,其中矩陣的第三列表示通道標號,第四列表示音符音高,第五列表示按鍵的速度,然後提取代表主通道信息的子矩陣,子矩陣的每行代表樂譜中每個音符的基頻等信 息。子矩陣的第四列對應於樂譜中每個音符的頻率,利用子矩陣中第六列和第七列的數 值可求出樂譜中任一音符的時長。
    • "度”就是音與音之間距離的衡量單位。而音與音之間音高的距離叫做音程, 半音(Semitone)是其計算的最小單位。有些音之間的距離僅差半音,此時我們稱之爲“半 音程”,而有些則差兩個半音, 我們則稱之爲“全音程”

示例

  • 保存爲mid
import random
import sys
from mido import Message, MidiFile, MidiTrack, MAX_PITCHWHEEL

notes = [64, 64+7, 64+12]

outfile = MidiFile()

track = MidiTrack()
outfile.tracks.ap
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章