[分享]编译安装TiMidity++以及播放、转换MIDI流程

Totem,mplayer,sopcast,realplayer,bmp
回复
GPX-ZERO
帖子: 38
注册时间: 2005-08-04 14:37
来自: 中国香港

[分享]编译安装TiMidity++以及播放、转换MIDI流程

#1

帖子 GPX-ZERO » 2006-04-16 22:57

自己编译安装可使到TiMidity++在播放时大幅降低CPU占用量。
播放MIDI大概需要有三个组件:程序、音色库和设置配置档。
这里总共有四部分,分有三大部分;而第四部分是如何有效大幅降低播放时CPU占用量。
[24.05.06]增多一个部分在最后,写如何把MIDI→WAV再→MP3。这就可以放进MP3机播放;还避免了播放时耗用CPU问题。

一、下载及安装TiMidity++:
1, 下载最新稳定源代码档
https://sourceforge.net/project/showfil ... p_id=64316
2, 解压缩

代码: 全选

tar jxvf TiMidity*  (bz2)
tar zxvf TiMidity*  (gz)
3, 进入解压缩了的源代码目录、查阅说明档

代码: 全选

cd TiMidity*
gedit README
gedit INSTALL
4, 查看可用的参数、设定参数、编译和安装

代码: 全选

./configure --help
./configure (参数)
make
sudo make install
我安装的参数

代码: 全选

./configure --prefix=/usr/local --enable-audio=oss,alsa,esd --with-tcl-includes=/usr/include/tcl8.4/ --enable-tcltk --enable-gtk --enable-network
Tcl/Tk是播放界面用的,使用时较GTK2的容易控制 (拖放不能),见附图。

二、下载及配置音色库:
最简单取得音色库的方法是安装 freepats(28.6MB)
#apt-get install freepats
记忆中拿它播放MIDI是件可怕的事, 曲调会被严重破坏。
而使用SoundFont音色库播放会好的很多! 比Windows默认的更动听, 而且可以随时转换; 那就可有多种变化, 不致会听得乏味呢。只是XMMS类的TiMidity Plugins就不能放了。

1, 下载SoundFont档
http://www.personalcopy.com
要找较巨大体积的SoundFont,以求可以完整播放。
2, 设置timidity.cfg档供TiMidity++使用音色库

代码: 全选

sudo gedit /usr/local/share/timidity/timidity.cfg
新行加入 source "SoundFont档位置" 或是 连结到在/home内的文件档再连结至SoundFont档亦可。(方便更换)

三、播放MIDI:
1, 查阅用法
[intro]timidity --help 或是
运行yelp后搜寻timidity,查阅man文档[/intro]
2, 我平常的用法
[intro]timidity -ik -Oe ".mid"
ik 指使用Tcl/Tk界面
Oe 指经ESD播放声音[/intro]

四、大幅降低播放时CPU占用量:
在timidity.cfg档内新行加入opt EFresamp=
推荐使用 n g 以外的选择。
d, 0 No interpolation.

l, 1 Linear interpolation.

c, 2 Cubic spline interpolation.

L, 3 Lagrange method.

n, 4 Newton polynomial interpolation.

g, 5 Modified Gauss effect (default).
五、转换MIDI:
1, MIDI→WAV

代码: 全选

timidity -Ow ".mid"
最简单方法,1分钟10MB。建议加入--resample=加上较高级采样算法,提高音质。
我平常的用法

代码: 全选

timidity -Ow --resample=n ".mid" -o "rename.wav"
2, WAV→MP3
用世上最好MP3编码器——LAME。
我的用法

代码: 全选

lame -v -k -B 320 -V 0 -q 2 ".wav"
-v VBR(Variable Bitrate)动态比特率,降低档案大小;
-k 关闭所有滤波器;
-V 调校VBR质量;
-q 调校Bitrate算法质量。
附件
TiMidity的Tcl/Tk和GTK2界面
TiMidity的Tcl/Tk和GTK2界面
syatt
帖子: 1
注册时间: 2008-04-02 16:07

在windows下怎么编译???

#2

帖子 syatt » 2008-04-02 16:09

支持支持,在windows下怎么编译???
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#3

帖子 BigSnake.NET » 2008-04-02 16:33

+精
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
回复