本帖最后由 老刘1号 于 2017-6-10 15:56 编辑
翻译自http://www.fourmilab.ch/webtools/midicsv/ 从Manual Pages开始翻译 MIDI_CSV文件的详细编写方法以后将会在其他帖子发表。 括号中的内容为参考 加红的字体(非标题)是翻译中比较不确定的内容,仅用作参考,具体还是看英文版 晕,复制上来就成黑白的了,懒得加色了 有色版见本人小站:http://lbcpc.3vcm.net/MIDI-CSV%E ... 89%8B%E5%86%8C.html
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。
|