查看“MidiSoftwareSynthesisHowTo”的源代码
来自Ubuntu中文
←
MidiSoftwareSynthesisHowTo
跳到导航
跳到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
---- 原文出处: 原文作者:fishfork 授权许可:[http://www.gnu.org/copyleft/fdl.html GNU FDL]<br> 翻译人员:firehare<br> 校对人员:MillenniumDark spider5<br> 贡献者:spider5<br> 适用版本:<br> 文章状态:[[等待校正]] ---- 本手册用于使MIDI音乐发声,下列情况可以不用做此操作: a. 您的[[SoundcardsWithHardwareSynth|声卡硬件声音合成(硬波表&FM)能被Linux支持]] a. 您使用外置的MIDI设备 大多数人的MIDI音乐播放需要软件(声音)合成。 {|border="1" cellspacing="0" |<#8080FF> 下面这句话由spider5追加。 |} 由于c-media和soundmax等声音芯片的卓越性能,现在使用板载声卡已经非常普遍,软波表很有必要。Ubuntu不区分内置和外置声卡,因此默认是采用软波表方法的。如果您用的是外置声卡,那么本文的大部分内容都对您没有什么用处--当然使用Timidity也是个不错的选择,您只要参照[[probe 将Timidity设为MIDI服务器]]部分的modprobe设置,应该就能使您的外置声卡的MIDI序列器工作。 有两种主要的程序可以实现软件合成,Timidity和Fluidsynth。本节此时只是展示如何安装和使用Timidity。 === 安装Timidity++ === 您需要启用Universe软件库(参见AddingRepositoriesHowto)。 开始安装TiMidity++(参见SynapticHowto)。 接下来你需要一组例子。最容易的方式就是安装‘freepats’包(下载需28MB),或者为了能得到更好的声音,把下列的软件库信息写到您的/etc/apt/sources.list文件中: <pre><nowiki> deb http://www.fbriere.net/debian/dists/etch misc/ </nowiki></pre> 然后您可以安装'timidity-patches-eaw'包(大约要下载31MB),并改变/etc/timidity/timidity.cfg文件里的这行: <pre><nowiki> source /etc/timidity/freepats.cfg </nowiki></pre> 改成这样: <pre><nowiki> dir /usr/share/timidity/patches-eaw source /etc/timidity/eawpats.cfg </nowiki></pre> 接着下载配置文件: <pre><nowiki> cd /etc/timidity sudo wget http://timidity.s11.xrea.com/files/cfgs/eawpats.cfg </nowiki></pre> 要使用其他的声音采样,可参考接着的'Finding and setting up a soundfont'部分。 当你安装好了之后,你可以尝试播放一个MIDI文件: <pre><nowiki> timidity myfile.mid </nowiki></pre> 如果一切正常的话,你可以听到合成音乐的优美旋律。如果你有问题,请阅读下面的“减少CPU的使用”。 [[Anchor(probe)]] === 将Timidity设为MIDI服务器 === 执行下列命令: <pre><nowiki> sudo modprobe snd-seq-device sudo modprobe snd-seq-midi sudo modprobe snd-seq-oss sudo modprobe snd-seq-midi-event sudo modprobe snd-seq </nowiki></pre> 这样会加载缺少的模块。你也许不需要全部的模块(我发现只需要前面二个就可以正常工作了)。然后输入: <pre><nowiki> timidity -iA -B2,8 -Os1l -s 44100 </nowiki></pre> 该命令使Timidity++成为MIDI服务器并打开2个MIDI端口,128:0 ad 128:1。在你运行它之后,你就可以运行MIDI播放器了。你可以打开另一个终端并运行命令: <pre><nowiki> pmidi -p 128:0 music.mid kmid music.mid </nowiki></pre> 关闭Timidity,可以在它运行的终端里按CTRL-C。 以根用户来运行服务也许能提高性能,因为它能给进程更高的权限。 {|border="1" cellspacing="0" |<#8080FF> 原文的Notedit疑为作者笔误,可能是NoteEdit,一个五线谱编辑器。 |} NoteEdit或者您自选的乐谱编辑器将被载入并自动识别MIDI端口。 如果计算机除了播放音乐外还在忙于处理其他事情,你也许会听到一些刮擦音或者有一些潜在的问题。这可以通过打实时内核补丁来解决,但这已经超出了本指南的范围。 === 引导时自启动Timidity === 当你安装Timidity时,Ubuntu Hoary会在/etc/init.d目录中设置启动脚本。为了能在引导时启动,编辑/etc/default/timidity文件并反注释下列行: <pre><nowiki> TIM_ALSASEQ=true </nowiki></pre> 你也需要添加需更早引导的模块到/etc/modules目录中。 === 找到并设置soundfont === {|border="1" cellspacing="0" |<#8080FF> 注:SoundFont就是一组经过设定、可下载、并能运用到你的音乐里的声音。 |} 网站: http://www.personalcopy.com (尝试 Unison.sf2) [WWW] http://www.hammersound.net/ 或在搜索引擎中查找Soundfonts。在http://timidity.s11.xrea.com/files/readme_cfgp.htm可以找到一个很长的列表,其中正数第15个 (SGM-whatever) 对一般情况下使用TiMidity已经足够了。 如果你的文件是以.sfArk结束的话,那么它是用讨厌的专利格式压缩的。你也许需要用Windows系统根据所用版本来解压它。详情请参见http://melodymachine.com/sfark.htm ,那儿提供一个Linux版本的工具。 接下来,你需要创建文件/etc/timidity/timidity.cfg,并将下列行添加其中(适当编辑) <pre><nowiki> soundfont /pathtothesoundfontfile/soundfontfile.sf2 </nowiki></pre> === Linux上的sfArk === 如果您无法用Linux版的解压工具读取sfArk压缩格式的Soundfonts,您可以使用WINE在Linux中安装Windows版的sfArk。如果您的机器里没安装WINE,您可以用下列命令安装: <pre><nowiki> sudo apt-get install wine </nowiki></pre> 接着,您必须从上面列出的链接中获得sfArk。一旦装好了WINE,您要做的就是切换到下载的路径,并执行下列命令: <pre><nowiki> wine nameoffile </nowiki></pre> sfArk也可以在Crossover Office 5上很漂亮地运行。 === 减少CPU的使用 === 如果Timidity++在你低配置机器上占用太多CPU的话,试着将下列几行添加到/etc/timidity/timidity.cfg文件的开头(你也许需要创建该文件) <pre><nowiki> opt EFresamp=l #use linear resampling opt EFvlpf=d #disable VLPF opt EFreverb=d #disable reverb opt EFchorus=d #disable chorus opt EFdelay=d #disable delay </nowiki></pre> 在Breezy Badger and Dapper Drake里,只需要简单地反注释文件中处理低速CPU的部分。可是,其中一行有错误,"opt no-antialias"应该改成"opt --no-anti-alias"。另外,"opt p32a"换成"opt p64a"比较好,因为32个声部太少了。 === 讨论 === 请到[http://ubuntuforums.org/showthread.php?p=336935]提问。 ----
返回
MidiSoftwareSynthesisHowTo
。
导航菜单
页面操作
页面
讨论
阅读
查看源代码
历史
页面操作
页面
讨论
更多
工具
个人工具
登录
导航
首页
最近更改
随机页面
页面分类
帮助
搜索
编辑
编辑指南
沙盒
新闻动态
字词处理
工具
链入页面
相关更改
特殊页面
页面信息