这是命令 abc2midi,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
abc2midi - 将 abc 文件转换为 MIDI 文件
概要
abc2midi 入档 [引用句柄] [-c] [-v] [-ver] [-t] [-n 限制] [-CS] [-quiet] [-silent] [-Q
节奏] [-NFNP] [-NFER] [-NGRA] [-STFW] [-OCC] [-NCOM] [-HARP] [-BF] [-TT] [-o outfile]
-CSM [文件名]
商品描述
默认动作是为每个 abc 曲调写一个 MIDI 文件
与文件名N.mid,哪里是文件干
abc 文件的编号,N 是调谐参考编号。 如果 -o
选项,只写入一个文件。 这是曲子
由参考编号指定,如果没有参考编号
给出了文件中的第一首曲子。
配置
引用句柄 用参考编号处理曲调 引用句柄
-c 只选择检查
-v n 选择详细选项,其中 n 是级别(可选)
-版本 打印版本号并退出
-t 选择源自曲调标题的文件名
-CS 使用 2:1 而不是 3:1 来打破节奏
-安静的 抑制一些常见的警告。
-无声
抑制其他消息。
-n X 将文件名词干的长度限制为 X 个字符
-Q 速度
如果未在
abc 标题。
-NFNP 忽略任何动态指示!f! !ff! 等等。
-NFER 忽略任何 fermata 指示(例如 H 或 !fermata!)。
-NGRA 忽略任何恩典笔记。
-STFW 将歌词文本放置在单独的 MIDI 轨道中。
-NCOM 禁止输出 MIDI 文件中的某些注释。
-OCC 接受旧的和弦惯例(例如 +D2G2+ 而不是 [DG]2)。
-高炉 BarFly 模式:如果可能,调用压力模型。
-竖琴 为竖琴手生成卷装饰=卷(相同的音高)
-TT 从 A = 440 Hz 更改调谐。
-o 输出文件
将输出写入 输出文件
-CSM 入档
从文件加载一组自定义压力模式
功能
* 破碎的节奏(>、<)、和弦、n 元组、连音、关系、断奏音符、重复、in-
都支持调整速度/长度/拍号更改。
* R:hornpipe 或 r:hornpipe 被识别并调整音符时间以给出一个破碎的
节奏(ab 转换为 a>b)。
* abc 输入中的大多数错误将在输出中生成合适的错误消息,并且
转换器继续运行。
* abc 源中的注释和文本字段转换为 MIDI 中的文本事件
产量
* 如果存在吉他和弦,它们用于在 MIDI 中生成伴奏
输出。
* 如果 abc 中有不匹配的重复符号,程序会尝试修复它们。
但是,如果使用了多部分调谐描述或如果
多个声音正在使用中。
* 卡拉 OK MIDI 文件可以通过使用 w: 字段来包含歌词来生成。
* 非数字语音 ID,例如。 V:女高音,为新的 abc 标准提出的建议被接受。
* 由 x 指定的不可见休止符的处理方式与正常休止符 (z) 相同。
* 装饰可以使用不推荐使用的符号(例如!fermata!)或
标准版本 2.0 符号(例如 +fermata+)。
限制
* 没有从曲调的 X: 字段上方继承任何字段。
美国广播公司 句法 EXTENSIONS
* 表格的 abc 语法有一些扩展
%%MIDI 通道 n
这些控制频道和节目选择、移调和其他各种功能
abc2midi。
这些中的每一个都应该单独出现在一行中。 所有这些都允许在 abc 内
调身体。 例如,通过将这些与零件符号结合使用,人们可以
演奏移调或不同调的部分。
这种语法背后的想法是其他程序会将其视为注释并忽略
它。
%%MIDI 通道 n
选择旋律通道 n(范围 1-16)。
%%MIDI 程序 [c] n
在通道 c 上选择节目 n(在 1-128 范围内)。 如果没有给出 c,程序是
在当前旋律通道上选择。 大多数现代音源都遵循 General
MIDI 标准,它定义了每个程序编号的乐器类型。
%%MIDI 节拍 abcn
控制选择音符力度的方式。 小节中的第一个音符的速度为 a。
其他“强”音符的速度为 b,其余所有音符的速度为 c。 a、b 和 c 必须是
在 0-128 的范围内。 参数 n 确定哪些音符是“强”的。 如果时间
签名是 x/y,然后每个音符被赋予一个位置编号 k = 0, 1, 2 .. x-1
酒吧。 请注意,n 的单位不是单位音符长度。 如果 k 是 n 的倍数,则
注意是“强”。 音量说明符 !ppp! 到!fff! 等价于以下
:
!呸! = %%MIDI 节拍 30 20 10 1
!pp! = %%MIDI 节拍 45 35 20 1
!p! = %%MIDI 节拍 60 50 35 1
!mp! = %%MIDI 节拍 75 65 50 1
!mf! = %%MIDI 节拍 90 80 65 1
!F! = %%MIDI 节拍 105 95 80 1
!ff! = %%MIDI 节拍 120 110 95 1
!噗! = %%MIDI 节拍 127 125 110 1
%%MIDI 节拍模式 n
将描述的速度 a、b 和 c 增加 n(如果 n 为负,则减少)
以上。 说明 !crescendo(! 和 !crescendo)! 相当于插入一个
%%MIDI beatmod 15 无论它们出现在哪里。 (或者,您可以使用 !<(! 和 !<)!。)
同样的指令 !diminuendo(! and !diminuendo)! 相当于 %%MIDI
拍模 -15。
%%MIDI 三角响度 n
其中 n 是一个小的正数。 默认情况下,渐强和渐弱指令
将节拍变量 a、b 和 c 修改为 15 个速度单位。 此说明允许您
将此默认值设置为值 n。
%%MIDI 无节拍
对于教堂风琴等没有特别强调节拍音符的乐器,使用
这将强制为每个音符使用 'b' 力度(参见 %%MIDI beat),而不管
在酒吧的位置。 这允许以正常方式使用动态(ff、f 等)。
%%MIDI 节拍
恢复以通常的方式强调音符。 (默认)
%%MIDI 节拍串
这提供了一种指定强和弱应力下降位置的替代方法
一个酒吧内。 'f' 表示速度 a(通常为强),'m' 表示速度 b(中等
速度),'p' 表示速度 c(软速度)。 例如,如果拍号是
7/8 重音在小节的第一个、第四个和第六个音符上,我们可以使用
以下
%%MIDI 节拍串 fppmpmp
%%MIDI 移调 n
将输出转置指定数量的半音。 n 可以是正数或负数。
%%MIDI 转调 n
按指定数量的半音进行相对移调。 即 %%MIDI 移调一个跟随
by %%MIDI rtranspose b 导致 a+b 的移调。 %%MIDI 移调 b 将产生
在 b 个半音的移调中,无论之前是否有任何移调。
%%MIDI cn
指定对应于 c 的 MIDI 音高。 默认是 60。这个数字应该
通常是 12 的倍数。
%%MIDI 宽限音 a/b
设置下一个音符将占据的分数。 a 必须介于 1 和
乙-1。 在这种方法中,优美的音符听起来可能不自然,因为
个别的恩典音符随着恩典的复杂程度和长度的不同而变化
以下注意事项。 一种不同的方法(现在是默认方法)假设恩典
音符总是有固定的持续时间。 要使用您指定的其他方法,
%%MIDI 宽限器 b
其中 b 指定要划分由 L: 字段指定的单位长度的部分
命令。 例如,如果 b = 4 且 L: = 1/8,则每个美音音符将是 1/(8*4) 或 a
第 32 条注释。 时间将从应用了宽限音符的音符中窃取。 如果
该音符不够长,无法处理宽限期,那么宽限期音符将被分配为 0
持续时间。
%%MIDI 和弦名称 n1 n2 n3 n4 n5 n6
定义如何弹奏名为“name”的吉他和弦。 n1 通常是 0 和 n2,n3 到 n6 给
其他音符相对于根音符的半音音高。 可能会更少
和弦中超过 6 个音符,但不能更多。如果“名称”已定义,则此命令重新
定义它。 与大多数其他命令不同,和弦名称定义从哪里开始生效
它们被定义到 abc 文件的末尾。 下面说明了 m、7、m7 和
如果尚未定义 maj7,则可以设置它们。
%%MIDI 和弦名 m 0 3 7
%%MIDI 和弦名称 7 0 4 7 10
%%MIDI 和弦名称 m7 0 3 7 10
%%MIDI 和弦名称 maj7 0 4 7 11
%%MIDI gchord 字符串
设置如何生成吉他和弦。 字符串是由 z、c、f 组成的序列
b 分别代表休止符、和弦、基本和基本加和弦音符。
这指定了如何播放每个小节。 允许跟随一个可选的长度
z's、c's f's 和 b's 例如 czf2zf3。 如果 abc 包含吉他和弦,则 abc2midi
遇到第一个吉他和弦后会自动添加和弦和基本音。 它
一直使用那个和弦,直到在 abc 中指定了一个新的和弦。 每当 M: 字段是
在 abc 中遇到,设置适当的默认字符串:
对于 2/4 或 4/4 时间默认相当于:%%MIDI gchord fzczfzcz
对于 3/4 时间默认相当于:%%MIDI gchord fzczcz
对于 6/8 时间默认相当于:%%MIDI gchord fzcfzc
对于 9/8 时间默认相当于:%%MIDI gchord fzcfzcfzc
gchord 命令已扩展为允许您演奏包含的单个音符
吉他和弦。 这使您可以演奏断断续续的和弦或琶音。 新代码
g,h,i,j, G,H,I,J 引用从和弦最低音符开始的单个音符
(在反转的情况下不一定是根)。 例如,对于 C 大调和弦,g
指的是 C,h 指的是 E,i 指的是 G。对于 gchord 命令,例如,
%%MIDI 和弦 ghih
Abc2midi 会将 C 大调吉他和弦琶音为 CEGE。 大写字母 G,H,I,
和 J 指的是相同的音符,只是它们向下移了一个八度。 注意事项
C 大调和弦的第一个转位(用“C/E”表示),E 将是最低音,所以 g
将引用注释 E。
与其他 gchord 代码一样,您可以附加一个数字来指示音符的持续时间。 这
与以前相同的规则适用。 您可以使用 gchord 代码的任意组合,
(fcbghijGHIJz)。
%%MIDI 和弦程序
将和弦的 MIDI 乐器设置为 n。 如果命令包含字符串
Octave=n 其中 n 是介于 -2 和 2 之间的数字,这将改变
n 个八度的乐器。 例如 %%MIDI chordprog 10 八度=1。)
%%MIDI 低音前卫
将低音音符的 MIDI 乐器设置为 n。 如果命令包含字符串
Octave=n 其中 n 是介于 -2 和 2 之间的数字,这将改变
n 个八度的乐器。 例如 %%MIDI bassprog 10 八度=-1。)
%%MIDI 和弦
将和弦音符的音量(力度)设置为 n。
%%MIDI 低音音量
将低音音符的音量(力度)设置为 n。 没有对应的旋律
命令,因为旋律有 3 个速度值,使用 beat 命令设置。
%%MIDI 弦音
打开吉他和弦(默认情况下在曲子开始时打开)。
%%MIDI 和弦
关闭吉他和弦。
%%MIDI 小调
打开由两个音符组成的连续无人机(用于风笛音乐)。 默认情况下
音符是 A 和 A,在巴松管上以 80 的力度演奏。这可以配置
通过下面描述的 %%MIDI 无人机命令。
%%MIDI 嗡嗡声
关闭连续无人机。
%%MIDI 无人机 n1 n2 n3 n4 n5
设置无人机参数,其中 n1 是 MIDI 程序,n2 和 n3 指定 MIDI 音高
和弦中两个音符的 MIDI 速度,n4 和 n5 指定两个音符的 MIDI 速度。
如果您不设置这些参数,它们默认为 70 45 33 80 80。零值或
less 表示该参数的设置应保持原样。
%%MIDI 鼓弦 [鼓程序] [鼓速度]
这将设置鼓模式。 琴弦决定了何时有鼓声和鼓声
程序值决定了每次击鼓的声音。
例如 %%MIDI 鼓 d2zdd 35 38 38 100 50 50
字符串可能包含 'd' 代表鼓声或 'z' 代表休息。 默认情况下,语音开始
没有鼓模式并且需要“%%MIDI 鼓”来启用鼓声。 鼓
在每个小节期间重复模式,直到遇到“%%MIDI 鼓声”。 %%MIDI 鼓
可以在曲调中使用命令来改变鼓模式。 此命令将
通道 10 上的鼓声,并假设您的音源符合 General Midi
标准 - 如果没有,那么您可能会听到音调而不是鼓声。
在 gchord 和drum 命令中,单个音符 f、c、z 或 d 的标准音符长度
不是由 L: 命令设置的。 相反,它会被调整,以便整个 gchord 字符串或
鼓弦正好适合一个小节。 换句话说,每个音符的持续时间被划分
通过字符串的总持续时间。 这意味着,例如,鼓弦“dd”是
相当于鼓弦“d4d4”。 您目前不能直接指定分数(例如。
C3/2) 就像在音乐主体中所做的那样,但仍然可以表达复杂的
节奏。 例如,要表示诸如 (3ddd d/d/d/d 之类的节奏,您可以将
string "d4d4d4d3d3d3d3".
%%MIDI 鼓棒 n
如果每个小节都重复 %%MIDI 鼓线听起来很单调。 规避
这个问题一个新的 MIDI 命令 %%MIDIdrumbars n 其中 n 是一个小数字会传播
在 n 个连续的小节上拉出鼓弦。 默认情况下,drumbars 设置为 1 保持
与现有 abc 文件的兼容性。 你应该注意鼓弦是均匀的
可在鼓条之间分割。 此外,拍号不应该在小节之间改变
在鼓单元中。 (24 年 2008 月 XNUMX 日 doc/CHANGES 中的示例 abc 文件。)
%%MIDI gchordbars n
此命令将 gchord 字符串扩展到 n 个连续的小节上,就像鼓棒一样(上图)。
(样本可在 doc/CHANGES 17 年 2009 月 XNUMX 日找到。)
在 1.54 年 4 月 2004 日的 abc2midi 版本 XNUMX 中,和弦中的音符(例如 [FAc])不会在
相同的瞬间,但偏移和缩短了 10 个 MIDI 时间单位。 因此,第一个音符
和弦(例如 F)演奏了完整的指示时间,第二个音符(例如 A)开始 10
MIDI 单位之后并缩短相同的数量,第三个音符开始另一个 10
MIDI 单位之后又缩短了 10 个单位。 这引入了“expressivo”
选项并避免重击。 (这不适用于 gchords 或多声部
和弦。)延迟和缩短的量可以通过 MIDI 命令配置
%%MIDI 和弦攻击 n
其中 n 是一个小数。 如果 n 为零,则 abc2midi 的行为应与之前相同
版本。 延迟 n 以 MIDI 时间单位表示,其中一个四分音符有 480 个单位
打。 如果 n 太大并且有短和弦,程序可能无法正确运行。
%%MIDI 随机和弦攻击 n
除了延迟是一个随机变量,均匀分布在 0 和
n-1。
%%MIDI 修剪 x/y
其中 x 和 y 是两个数字。 此命令控制音符和和弦的发音
通过在音符之间放置静音间隙。 这些间隙的长度由 x/y 决定
以及由 L: 命令指定的单位长度。 这些间隙是通过缩短
等量的笔记。 如果音符已经短于指定的间隙,则
间隙设置为音符长度的一半。 分数 x/y 表示音符持续时间
与 abc 文件中指定的方式相同。 实际工期以单位为准
L: field 命令指定的长度。 建议 x/y 是一个分数接近
到零。 圆括号内的音符修整被禁用。 你可以转
通过将 x 设置为 0,例如 0/1,关闭所有音符修剪。 默认情况下,音符修剪是关闭的
在曲调或语音命令的开头。
%%MIDI 扩展 x/y
其中 x 和 y 是定义小于 1 的分数的两个数字。此命令控制
以相反的方式连接音符和和弦。 注释由此加长
分数,因此它们与下一个音符的开头重叠。
%%MIDI 鼓图音符中音
请参阅 abcguide.txt。
%%MIDI ptstress 文件名
此命令将文件文件名加载到包含 Phil Taylor 重音的 abc2midi 中
参数并将 abc2midi 置于将这些应力参数应用于每个
笔记。 该模型与标准节拍模型相反,因此 MIDI 节拍,
beatstring、beatmod 命令变得无效。 这也意味着动态
迹象!f! !pp! 等不再工作。
压力模型有两种不同的实现方式。 模型1修改注释
清晰度并控制 MIDI 修剪参数。 要恢复到
标准模型,把命令 %%MIDI beataccents。 模型 2 修改了起始和
每个音符的结尾允许音乐节拍及时扩展或收缩。 然而
应保留音乐小节的长度。 请注意,如果您使用模型 2,
当前默认值,您必须包含 -BF 作为 abc2midi 的运行时参数之一。
该模型将一个条形分成相等的部分。 对于每个段,响度或 MIDI 力度
指定并指定持续时间乘数。 如果一个音符属于特定的
段,它假定该段的速度并相应地修改其持续时间。
如果音符重叠超过一个片段,则该音符假定这些片段的平均值
段值。
输入文件指定段数以及响度和持续时间乘数
对于每个细分市场。 该文件具有以下格式。 第一个值是数量
段和每条线指定特定的速度和持续时间乘数
部分。 速度限制为 127,持续时间为十进制数。 那个笔记
通过改变音符之间的间隙来修改持续时间,因此不可能延长
笔记。 这保留了音乐的常规节奏。 程序音阶,音符持续时间
通过将其除以最大值(此处为 1.4)来表示指示。
%%MIDI 压力模型 n
其中 n 为 1 或 2,选择应力模型实现。
其他 %%MIDI 命令,如弯曲速度、弯曲弦、控制弦已被
最近引入并在文件 abcguide.txt 中进行了描述。
兼容性 与 草稿 标准 2.0
提议的标准使用语法引入了一个新的版权领域
%%abc-copyright (c) 版权所有 John Smith 2003
Abc2midi 现在以元文本版权标签的形式将其插入到 MIDI 文件中。
对 store.c 中的 event_specific 函数进行了更改以处理版权
信息。 它还作为@T 字段复制到卡拉OK 轨道(如果已创建)。
使用 onworks.net 服务在线使用 abc2midi