播放MIDI

此頁由 Linux Wiki使用者Chenxing 於 2009年3月14日 (星期六) 05:59 的最後更改。

出自Linux Wiki

提示:此文已超过 15 年(5762 天)未更新,如发现内容过时或有误,欢迎改进:)

通常默認安裝的Linux系統不能播放MIDI文件,但現在解決這一問題並不困難。

有必要簡單先介紹一下MIDI格式:MIDI文件中保存的並不是原始的聲音信號,而是音樂強度、音量、抖音等控制信息和音長等時間信息,或者說MIDI文件就是一個信息極為豐富的「樂譜」。將樂譜變為聲音,比將聲波還原成聲音要困難的多,不同的軟體、硬體還原的效果也不盡相同。Windows系統中包括了一個簡單的MIDI合成器,所以在Windows中播放MIDI文件較為方便,但效果也不太好。[1]

在Linux中播放MIDI的非專業軟體主要有TimidityFluidSynth,前者的設置相對容易,故本文針對前者做介紹。[2]

Hint.gif
提示:
使用FluidSynth播放MIDI的方法可以查看使用FluidSynth在Linux下聆聽MIDI音樂

目錄

安裝Timidity++

Timidity++是一個將MIDI文件轉化為聲音波形的軟體,轉化的結果可以用於播放。它存在於多數發行版的軟體倉庫中,名稱為'timiditytimidity++,安裝方法請參見從軟體倉庫安裝軟體

作為一個合成器,Timidity++還需要「聲音字體(soundfont)」才能正常工作。

安裝聲音字體(soundfont)

Fluid提供了可用的聲音字體Fluid (R3) General MIDI SoundFont (GM),在Debian/Ubuntu等發行版中,可以直接安裝fluid-soundfont-gm軟體包,如果使用Archlinux,則從AUR安裝fluidr3

安裝好後,還要設置Timidity++使用Fluid,如可以在/etc/timidity++/timidity.cfg中注釋掉所有行,並在行尾加入:

soundfont /usr/share/soundfonts/fluidr3/FluidR3GM.SF2

如果Fluid的安裝路徑不同,請相應修改後面的路徑。

如果一切順利,Timidity++現在就可以播放MIDI文件了:

$ timidity YOUR_MIDI_FILE

配置為ALSA服務

使用Timidity播放MIDI只支持命令行,還不太方便。而配置為ALSA服務後,就可以使用Audacious等軟體播放MIDI了。

設置開機時啟動timidity++timidity服務就可以解決這一問題(運行命令timidity -iA可以臨時解決這一問題)。

服務運行後,可以使用aconnect命令查看可用的MIDI埠

$  aconnect -o
client 128: 'TiMidity' [type=user]
    0 'TiMidity port 0 '
    1 'TiMidity port 1 '
    2 'TiMidity port 2 '
    3 'TiMidity port 3 '

看到以上輸出後,就可以在多數播放器中播放MIDI文件了(可能需要做相應的設置,如設置Audacious的AMIDI插件使用128:0埠)

設置其它軟體

DOSBox

這一設置方法在DOSBox 0.72中測試通過,請先確認Timidity已經以服務形式運行。[2]

DOSBox中輸入如下命令,得到配置文件:

config -writeconf dosbox.conf

編輯它並對midi段做如下修改:

[midi]
mpu401=intelligent
device=default
config=128:0

在終端中重新啟動DOSBox,如果正常的話應該能看到初始化128:0埠的調試信息。

參考資料

  1. 維基百科上對MIDI的介紹
  2. 2.0 2.1 Arch Wiki上對Timidity設置的介紹

本文对您有帮助?分享给更多朋友!

反馈与讨论

发现文档不全面、有错误却没时间编辑文档?想分享自己的经验或见解?欢迎在此留言、讨论。
简体繁体转换