半肾
精华
|
战斗力 鹅
|
回帖 0
注册时间 2009-1-26
|
本帖最后由 eggplant 于 2025-9-16 19:55 编辑
https://stage1st.com/2b/thread-2262126-1-1.html
现在听MIDI用什么软件效果好,同时可以转换格式呢?
简单聊聊自己认知的Midi音乐和一些相关东西,因为不是专业音乐人或专业音频程序员,
只能从自身有限的了解发表有限的讨论,不保证认知100%正确,说人话就是先叠个甲。
2025年还听Midi音乐的,要么本身就是玩音乐,音乐人或者音频爱好者,要么就是游戏音乐怀旧爱好者。
而游戏音乐怀旧爱好者,通常对游戏音乐有原汁原味还原的要求,所以以流行的老游戏音乐来看。
FC,MD主机音乐应该是最多的。
FC有nsf
MD有vgz
能搜到专门的音乐播放器,放出来的效果和模拟器一个味。也可以导出成wav
再说Midi,Midi游戏音乐似乎是较老电脑游戏音乐,因为我没经历过那种游戏音乐的时代,不好说具体是什么效果。
但是从网上来看,有些似乎是和罗兰或者是什么声卡有关系的,经典的Midi声音是SC88等。
有几种方法模拟
第1种,用Roland的SoundCanvas插件VSTi,这个实在是太古老了,回忆了一下,2008年我还在玩Midi音乐时用过几次,
当时foobar有个VST插件,可以挂载VSTi,就可以调用这个听一些游戏原声Midi,但是老实讲这个效果和Windows自带的差的不多。
而且Windows的Midi波表其实也是Roland提供的。
第2种,挂Soundfont音色播放。比较流行的Soundfont播放器是TiMidity,现在用的话TiMidity++-2.15.0
因为大部分人,比如我,听Midi只要和Windows的软波表差不多的声音就可以了,只要Midi弯音解析正确即可。
所以对应Soundfont,大部分人会选择Scc1t2.sf2,因为他和Windows自带的播放效果非常相似。
https://www.doomworld.com/forum/topic/115687-scc1t2sf2-has-out-of-tune-pianos-gmsf2-has-bad-volume-levels-fixes-for-both/
这个链接讨论了这个事,以及修复了Scc1t2.sf2钢琴跑调的问题
顺便一提,Scc1t2.sf2体积3.12 MB,修复版__Florestan_Basic_GM_GS.sf2相同
其他一些SF音色
https://dev.nando.audio/pages/soundfonts.html
你在网上也能搜到一些其他的Soundfont音色,比如一些电子琴,电钢琴,合成器等等,但是用的比较少。
因为如果你稍微玩过Midi音乐,就知道一些更好的专门的合成器或者音源的Kontakt或者专门的VSTi版本。
比如VSL D274钢琴的SF2版和原版完全没法比,毕竟体积在那。
8楼的兄弟贴了Roland SC的设置方法
https://www.bilibili.com/opus/656673192156332041
老实讲,从我的角度讲不推荐,因为有点麻烦,虽然那贴说的很详细了,我也都能看懂,但是老实说真的很麻烦。
1.要安装Roland SC
2.要安装loopMIDI,虽然玩Midi的人,至少有Midi键盘的人至少人手一个了
3.要安装Coolsoft MIDIMapper,没用过,但是我看到要装3个东西,还有一个是上古卷轴级别的古董我就放弃了,
至少我是不会把这么古老的东西装进我的新电脑的(来自常年吃屎的直觉)
然后是Soundfont播放器,其实有挺多,推荐TiMidity++-2.15.0有几点。
1.他是日本人写的,日本人的软件在模仿他们本国出的软件上似乎有天然优势,毕竟文档资料什么的阅读比其他国家更多,更方便
2.当年玩Midifan论坛时,6老师唯一推荐的Midi播放器,当时他是国内某音频软件公司的程序员,他说他研究了一圈Midi播放器,
最后得出这个软件是最好的选择,当然那也是10多年前的事了,现在我不知道还是不是了,但是我用着还行
TiMidity++-2.15.0 下载
https://sourceforge.net/projects/timidity/files/TiMidity%2B%2B/
如果你点了下载,浏览器没有跳下载窗口,点 Problems Downloading 按钮,然后再点 direct link 下载就行了。
国内这网络,有时能直接下,有时不能,咱也不懂为什么
设置
https://www.bilibili.com/opus/1069075818786848809
视频
https://www.bilibili.com/video/av433963066/
总结来说
1.解压后,你需要在timidity.exe相同目录下新建一个叫 TiMidity.cfg 文件,里面写上你的Soundfont路径绝对地址
比如我的,自己用你要改成你自己本地存在的路径
soundfont "E:\TiMidity++-2.15.0\SF2\__Florestan_Basic_GM_GS.sf2"
SF2目录是我自建的
__Florestan_Basic_GM_GS.sf2是我下载的
2.运行timw32g.exe,Config 菜单第1项,Preference 项,Config File选择你上面写的那个配置文件
比如我的,自己用你要改成你自己本地存在的路径
E:\TiMidity++-2.15.0\TiMidity.cfg
3.File 菜单 Open File选择一个mid文件播放即可,文件可多选,界面还有个播放列表
4.Output菜单,默认应该是 Windows audio driver 选项,也就是直接声卡播放
你也可以选择 Riff WAVE file,这样播放完就会导出一个叫 output.wav 的音频文件,但是这个办法只对单文件有效
虽然输出到声卡可以多文件,但是导出不行。但是你可以用我下面这个脚本来批量导出
5.timidity.exe目录下新建一个Midi目录,把你想转换的midi文件都放进去
timidity.exe同目录下,新建一个叫wavs.bat的文件,内容如下
- @Echo off
- for %%i in (Midi\*.mid) do timidity %%i -Ow -o %%i.wav
复制代码
然后运行就可以批量导出成wav了
最后再提一下Midi播放的问题,关于Midi,网上似乎只能搜到mid文件的格式,以及参数意义,
但是具体实现上似乎没见过有任何文章或者博客说明具体应该怎么做。
所以你会发现,你用10个Midi播放器或者开源Midi播放器库,播放效果几乎都不相同,代码就更不用说了。
哪怕都是日本人的Midi Player,不同语言,不同版本效果可能也不相同,更不要说全世界范围了。
以我半调子的音频编程水平来看,我已经放弃寻求正确播放mid文件的路了,因为这个“正确”太难定义了
退而求其次,换一个角度讲,“正确的”播放的mid文件效果和“想要的”播放的mid文件效果,我现在选择了后者
只要你这个Midi播放器播放出来的声音,是我想要的效果,这就行了。而TiMidity++符合这个标准,这就行了。
测试mid文件,一般的不说了,测试弯音和效果的
jackal.mid 赤色要塞第1关,没有弯音效果的Midi播放器可以直接放弃,这是基础中的基础了
sor01.mid 怒之铁拳1第1关,开头6秒左右的下弯音特效,Windows自带播放器也播不出这个效果,但是TiMidity可以,
这算特例,但是这就是我说的想要的效果,其他播放器很少有能播出相同效果的
========================================
试了下foobar2000的MIDI Player插件,搞起来更简单直接一点。
首先需要一个新版的foobar2000,目前这个插件页面写的是foobar2000 v2.0 or later,要求2.0或更新版本
然后下载插件,双击安装
https://www.foobar2000.org/components/view/foo_midi+%28x64%29
然后会要求重启foobar2000
重启完后,如果没打开配置界面,打开配置界面
foobar菜单
Library > Config
找到
Playback > Decoding > MIDI Player
可以看到 Output下面 Player使用的默认播放解析是LibADLMIDI,点击下拉框可以看到更多选项,
因为其他解析我没用过,直接引用插件说明
LibADLMIDI 1.6.0, Yamaha YMF262 and CT1747 (OPL3)
LibOPNMIDI 1.6.0, Yamaha YM2612 (OPN2) and Yamaha YM2608 (OPNA)
LibEMIDI, Yamaha (OPLL), PSG and SCC
LibMT32Emu 2.7.2, Roland MT-32, CM-32L and LAPC-I synthesiser modules
Nuked-OPL3, Yamaha YMF262 and CT1747 (OPL3)
在这个下拉列表下,除了第2项 BASSMIDI 外,应该都是其他各种解码模拟,而 BASSMIDI 则会使用Soundfont来播放,
需要在下面的
Playback > Decoding > MIDI Player > Paths
配置上Soundfont的路径才行,否则播放不了
以我的为例
E:\TiMidity++-2.15.0\SF2\__Florestan_Basic_GM_GS.sf2
配置好后,选BASSMIDI再播放MIDI就会得到和TiMidity++-2.15.0差不多的声音了
foobar的操作就比较简单了,直接鼠标右键就可以导出音频
其中 Paths 还有配置 VSTi等的选项,插件官方说支持32,64位,我用64位的Pianoteq 6 (64-bit).dll测试了一下,确实能放,
但是点配置,跳出VSTi窗口界面就不能再操作了,不知道哪的问题,要么就是有Bug,
可能只是为了挂个Roland SC之类的,用个默认设置播放个mid用,这样解释才说得通。
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|