모든 오픈 소스 라이브러리를 사용하여 MIDI 파일을 구문 분석하고 데이터를 원하는 형식의 텍스트 파일로 변환 할 수 있습니다. 예를 들어, DryWetMIDI에이 코드를 사용할 수 있습니다 : 첫 번째 숫자는 참고 번호 (60 = C4)입니다
37 0 480
37 960 480
37 1920 480
37 2400 480
70 2640 192
이, 두 번째는 다음과 같은 텍스트 파일을 생성합니다
public static void ConvertMidiToText(string midiFilePath, string textFilePath)
{
var midiFile = MidiFile.Read(midiFilePath);
File.WriteAllLines(textFilePath,
midiFile.GetNotes()
.Select(n => $"{n.NoteNumber} {n.Time} {n.Length}"));
}
ConvertMidiToText
방법 MIDI 틱의 시작 시간과 세 번째 것은 MIDI 틱의 길이입니다.
시간 : 분 : 초 형식으로 시간과 길이를 쓸 수도 있습니다. 이 코드
public static void ConvertMidiToText(string midiFilePath, string textFilePath)
{
var midiFile = MidiFile.Read(midiFilePath);
TempoMap tempoMap = midiFile.GetTempoMap();
File.WriteAllLines(textFilePath,
midiFile.GetNotes()
.Select(n => $"{n.NoteNumber} {n.TimeAs<MetricTimeSpan>(tempoMap)} {n.LengthAs<MetricTimeSpan>(tempoMap)}"));
}
은 다음과 같이 텍스트를 생성합니다 :
37 00:00:00 00:00:00.4800000
37 00:00:00.9600000 00:00:00.4800000
37 00:00:01.9200000 00:00:00.4800000
37 00:00:02.4000000 00:00:00.4800000
70 00:00:02.6400000 00:00:00.1920000