MIDI-CSV第三方工具使用手册

MIDICSV&CSVMIDI使用手册


MIDICSV

名称
MIDICSV --MIDI音频文件转换为CSV文件
用法摘要
MIDICSV -u -v ] [ 输入文件名/路径 [ 输出文件名/路径 ] ]
功能说明
MIDICSV读取一个标准的MIDI音频文件并将其解码为可以保留源MIDI文件所有信息的CSV(逗点分隔值)文件。使用Ascii的CSV文件可以被电子表格或数据库程序读取或通过应用程序进行更简便的加工处理(例如移调一部分音轨或者从一个多序列(多轨道)的MIDI文件提取一条音轨)。一个被此工具创建的MIDI_CSV文件可以被CSVMIDI转换回一个标准的MIDI文件。

选项/参数

-u 打印“程序调用方法”信息。

-v 在标准错误句柄(句柄2)打印详尽的排错信息。MIDI文件头和每个音轨的长度将会被转储。

输入/输出文件

如果没有指定输入文件或者输入文件参数被传递为“-,程序将从标准输入句柄(句柄0)接收MIDI文件内容。同样,如果没有指定输出文件或者输出文件参数被传递为“-,程序将从标准输出句柄(句柄1)打印转换后得到的CSV内容。

缺陷/BUG

MIDICSV程序假定输入或传入的是符合语法规则的MIDI音频文件;当错误检查进行的时候,严重的一个或几个错误将导致程序崩溃。

请将你发现的BUG或缺陷 反馈到fourmilab.ch。 

 

 

CSVMIDI

名称
CSVMIDI --MIDI_CSV文件编码为MIDI音频
用法摘要
CSVMIDI -u -v -x -z ] [ 输入文件名/路径 [ 输出文件名/路径 ] ]
功能说明
CSVMIDI程序读取一个由MIDICSV程序所创建的或等价的CSV(逗点分隔值)文件,将其编码/转换为一个标准的MIDI文件。

选项/参数

-u 打印“程序调用方法”信息。

-v 在标准错误句柄(句柄2)打印详尽的排错信息。MIDI文件头和每个音轨的长度将会被转储。

-x MIDI流支持基本形式(具有相同的或可以省略的事件类型通道的连续的事件)的压缩。 默认情况下CSVMIDI会执行压缩。如果指定了-x参数,所有事件中的相同的事件类型和通道的解释字节将不会被省略——将不会做出任何压缩行为(尽管MIDI文件支持)。

-z 大多数CSV文件中检测到的错误将被忽略并被打印至标准错误句柄(句柄2)。-z参数将使CSVMIDI在发现第一个错误的时候立即停止CSV转换。

退出码/返回值

如果没有错误或警告产生,CSVMIDI将会将返回值设置为0。当一个或多个错误在传入的CSV中发现的时候,程序将会将返回值设置为1。当返回值为2的时候代表无法打开传入文件或者调用工具时产生了语法错误。

输入/输出文件

如果没有指定输入文件或者输入文件参数被传递为“-,程序将从标准输入句柄(句柄0)接收CSV内容。同样,如果没有指定输出文件或者输出文件参数被传递为“-,程序将从标准输出句柄(句柄1)打印转换后得到的的MIDI内容。

缺陷/BUG

CSVMIDI程序假定传入的是由MIDICSV产生的或手动制作的标准格式的MIDI_CSV文件。如果传入了一个有着几行无意义的语句但总体格式正确的CSV文件,CSVMIDI将会抛弃错误,避过无意义的语句,继续转换(-z参数除外)。CSVMIDI工具将检查丢失的节并且范围性的检查数字的值。但将不会进行更高级别的(如一致性)的检查(例如,确定每个“音符-开(按下"琴键"开始发音)”对应着“音符-关(放开"琴键"结束发音)”)。如果必须进行该级别的验证,应该在CSV文件被CSVMIDI处理之前手动完成。

使用MIDICSV转换MIDI到CSV文件再使用CSVMIDI转换回MIDI得到的文件不能保证与源MIDI文件完全相同(二进制方面),因为MIDI文件支持压缩模式(当然不压缩也可以……使用-x参数)。MIDI文件转换到CSV并重新转换回MIDI所得到的MIDI文件和源MIDI文件应该是等价的(播放方面)。同一个MIDI文件转换得到的CSV肯定是全部相同的。

请将你发现的BUG 反馈到fourmilab.ch。 

 

猜你喜欢

转载自blog.csdn.net/qq_23693343/article/details/77076292