2

我一直在研究一个 PHP 脚本,该脚本使用摩尔斯电码规则和我自己的规则集将一个单词或短语转换为 ASCII 指法表。

至此,程序已接近完成……所缺少的只是将 ASCII 指法谱转换为 MIDI 文件的代码。

可以在此处找到该脚本的最新版本:

莫尔斯电码机

我找到了多种语言的大量资源,但仍然找不到 XML 或 MF2T/T2MF 格式的 MIDI 文件的任何数据定义。我可以理解 ASCII 格式并相应地调整脚本的输出,但我能找到的将 ASCII 转换为 MIDI 的最接近的工具是这个 Perl 模块。它似乎是迄今为止我发现的所有东西中最有前途的工具/资源,但我正在寻找一个 PHP 解决方案。

有没有人对我如何找出用于指法的 XML 和/或 MF2T/T2MF 文本格式的“语法”有任何建议?这似乎很容易,但我只是在寻找工具和脚本,几乎没有关于用于从 ASCII 格式的乐谱创建 MIDI 文件的文件格式的文档。

ASCII Tablature 将符合这些标准,我想通过 PHP(或 Perl,如果我必须)以编程方式将 ASCII 选项卡直接转换为 MIDI 文件


编辑:

发现另一个 SO question 链接到一堆描述 MIDI 文件格式技术细节的网站。

这是链接: MIDI文件的结构是什么?

MIDI 文件格式的另一个好资源:

http://courses.cs.washington.edu/courses/cse466/03au/Labs/lab-5/Lab5_files/Standard%20MIDI%20file%20format,%20updated.pdf

4

1 回答 1

0

我最终改变了解决问题的方法。我使用了RTTTL格式,因为它满足了我的所有要求。该格式仅限于一次仅播放一个音符。这意味着和弦(两个或多个音符 &| 同时演奏)是不可能的。我只是在短时间内测试了 RTTTL 转换方法,所以我可能是错的,但是我找不到任何方法来完成这个协议的和弦。

由于我的程序不需要同时播放多个音符,因此我最终没有通过使用 RTTTL 格式来牺牲任何东西。

我仍然想找出以编程方式将任何类型的结构化文本形式的指法转换为任何类型的可听文件(MIDI、WAV、MP3、OGG、WMA 等)的任何方法

现在,我要结束这个问题,因为我已经解决了我的问题,尽管不完全是我最初打算这样做的方式。

于 2014-03-10T02:16:58.193 回答