Audio 如何将QBASIC播放命令转换为更现代的命令?

Audio 如何将QBASIC播放命令转换为更现代的命令?,audio,dos,qbasic,freebasic,quickbasic,Audio,Dos,Qbasic,Freebasic,Quickbasic,我的QB应用程序中有如下播放命令: PLAY "MSe8f#4f#8f#8g8a8b4.a4.g4.f#4.o0b8o1e8e8e4d8e2." 我想以某种方式将它们转换成现代应用程序可以使用的东西。有什么想法吗?我目前正在用FreeBasic处理这个应用程序。在Qbasic中没有一个简单的方法可以做到这一点。您基本上需要编写一个现代的声音驱动程序。你需要做一些更黑客的事情,比如使用(或类似的PC应用程序)甚至。这个QB播放格式的字符串包含音符和持续时间符号,可以转换成MIDI命令,然后打包成

我的QB应用程序中有如下播放命令:

PLAY "MSe8f#4f#8f#8g8a8b4.a4.g4.f#4.o0b8o1e8e8e4d8e2."

我想以某种方式将它们转换成现代应用程序可以使用的东西。有什么想法吗?我目前正在用FreeBasic处理这个应用程序。

在Qbasic中没有一个简单的方法可以做到这一点。您基本上需要编写一个现代的声音驱动程序。你需要做一些更黑客的事情,比如使用(或类似的PC应用程序)甚至。

这个QB播放格式的字符串包含音符和持续时间符号,可以转换成MIDI命令,然后打包成MIDI文件格式。您可能需要根据一些默认设置添加更详细的计时和相对音量信息


MIDI仍然被认为是一种当前的格式,目前有无数的工具和设备支持它。

您可以使用以下工具将播放字符串转换为WAV文件(C代码):

测试文件,JingleBells.txt:

t200l4o2mneel2el4eel2el4egl3cl8dl1el4ffl3fl8fl4fel2el8eel4edde
l2dgl4eel2el4eel2el4egl3cl8dl1el4ffl3fl8fl4fel2el8efl4ggfdl2c
运行:


喜欢听JingleBells.wav

播放音乐的“现代应用”方式应该是使用.mid文件。FreeBasic包括通过fmod库对音乐的支持。因此,您可以使用MIDI跟踪器或类似的工具将音乐转换为.MID文件格式。

以某种方式将这些文件转换为现代应用程序可以使用的格式。
-这到底是什么意思?您是想要一个声音文件,还是想要一个与FreeBasic中QBasic的
PLAY
等效的声音文件?还有别的吗?FB等价物很好,但我愿意接受任何东西。顺便说一句,有什么帮助吗?我制作了一个.Net程序,将字符串转换为WAV文件。在这里下载来源:@nivs1978-哇,出于某种原因,我以前没有看到这个,试了一下,它很甜!太棒了。谢谢有没有机会输出midi(*.mid)?@brainslaugs83恐怕不是我的。
gcc play2wav.c -o play2wav.exe
t200l4o2mneel2el4eel2el4egl3cl8dl1el4ffl3fl8fl4fel2el8eel4edde
l2dgl4eel2el4eel2el4egl3cl8dl1el4ffl3fl8fl4fel2el8efl4ggfdl2c
play2wav.exe JingleBells.txt JingleBells.wav