LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1296|回复: 6

Linux下一种高音质播放MID的方法

[复制链接]
发表于 2004-12-12 20:24:22 | 显示全部楼层 |阅读模式
(此文环境:alsa驱动环境
确保这些声卡模块已经加载
snd-pcm-oss
snd-seq-oss
snd-mixer-oss
snd-mpu401    #如果有midi 键盘,请加载这个模块。关于其设置可参看alsa doc
首先启动timidity 服务器
timidity -iA -B2,8 -Os -q0/0 -k0 &
或者
timidity -iA -B2,8 -Os -EFreverb=0 &
pmidi,aplaymidi等使用Timidity server播放本地文件
pmidi --port 128:0 <本地midfile>
或者
aplaymidi -p 128:0 <本地midifile>
或者
playmidi -e -D1<本地midifile>
这取决于你系统中安装了什么播放器。
如果你有个MIDI keyboard那就太爽了,稍微配置可以接在midi口上进行演奏了。
发表于 2004-12-13 07:46:22 | 显示全部楼层
顶一下先。
问问:
1.这种方法对于不带硬波表声卡的机子有效吗?
2.如何使用其他的soudfont?
3.这种方法是如何确保“高音质”的呢?

谢谢!
发表于 2004-12-13 09:39:56 | 显示全部楼层
同问同问。我在fans看到过有人用kmid来播放midi。用的是软波表。
 楼主| 发表于 2004-12-13 11:53:12 | 显示全部楼层

当然可以

软波表要加载内核中的snd_mpu401_uart模块。
对于使用其他声道得你的声卡在linux下有像5.1之内的相关驱动,详细情况可以参看alsa doc页面中的相关说明。
至于高音质是我实验的结果,而且服务器端可以设置环境音效。
发表于 2004-12-13 20:59:13 | 显示全部楼层
timidity 可以使用 soundfont 音色库,在它的配置文件中加入一行
soundfont /PATH_TO_SOUNDFONT_FILE/FILE_NAME

按楼主的方法在后台启动 timidity 后,就可以用 kmid 播放 midi 了。
如果自己编译 timidity ,在 configure 时要加入以下参数
--enable-audio=alsa --enable-alsaseq, 才能用楼主的 -iA -Os 这两个参数。
发表于 2004-12-14 12:34:32 | 显示全部楼层
多谢楼上的指点!多谢楼主!
原来用过timidity,但没想到能变成服务器,这回kmid能用了,效果不错。
发表于 2005-8-6 11:16:20 | 显示全部楼层
Post by sipingal

如果你有个MIDI keyboard那就太爽了,稍微配置可以接在midi口上进行演奏了。


请问楼主,用pmidi播放器可以在midi口(我用的是SB Live CT4830声卡)接midi键盘吗?如何配置?我看了pmidi源程序好象没有这个功能,但在pmidi.c中的playfile函数中有一选项,若播放文件名为“-”可以midi_read(stdin)但stdin不是声卡midi口,不知能否改写,我也不知如何改写,请高手指教,谢谢!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表