Skip to content

Latest commit

 

History

History
111 lines (87 loc) · 3.79 KB

timidity.md

File metadata and controls

111 lines (87 loc) · 3.79 KB

timidity安装

吐槽

鉴于这个工具实在折磨人,教程太老,我放个踩坑记录给后人用,我看了一堆博客,其中不乏各种抄袭,还有一些格式混乱,步骤复杂,最后,我觉得按这个博客走下去可以了,没其他博客描述的这么复杂。

步骤

1. timidity下载

timidity需要从timidity官网上下载,百度搜timidity++,我直接wget没wget下来,最后本地下好传上去的。

参考代码

wget https://master.dl.sourceforge.net/project/timidity/TiMidity%2B%2B/TiMidity%2B%2B-2.13.2/TiMidity%2B%2B-2.13.2.tar.gz

tar -zxvf TiMidity++-2.13.2.tar.gz

cd TiMidity++-2.13.2

./configure --prefix=/usr/local/timidity --enable-audio=oss
make
make install

记得把/usr/local/timidity/bin添加到环境变量

2. 下载sound font

这个很多教程里说的都网站都挂了,最后我去搜了一下sound font,找到一个贴子里有资源

mkdir -p /usr/local/share/sondfont

mv FluidR3_GM.sf2 /usr/local/share/sondfont

3. 编辑配置文件

mkdir -p /usr/local/timidity/share/timidity
cd /usr/local/timidity/share/timidity
vim timidity.cfg

# 文件内容
dir /usr/local/share/sondfont
soundfont FluidR3_GM.sf2

4. 格式转化

timidity test.mid -Ow -o test.wav

5. 注意

因为我是在supervisor上跑go程序,supervisord启动时继承的是当时的环境变量,而新安装了timidity,配置了timidity环境变量,原来的环境变量不适用了。

需要将supervisor重启(supervisord -c /etc/supervisord.conf)来加载新的环境变量,来使用timidity命令

6. 参考脚本

timidity linux安装脚本

#!/bin/sh
wget https://master.dl.sourceforge.net/project/timidity/TiMidity%2B%2B/TiMidity%2B%2B-2.13.2/TiMidity%2B%2B-2.13.2.tar.gz
tar -zxvf TiMidity++-2.13.2.tar.gz
cd TiMidity++-2.13.2
./configure --prefix=/usr/local/timidity --enable-audio=oss
make
make install
mkdir -p /usr/local/share/sondfont
cd /usr/local/share/sondfont
wget https://gitcode.net/anto_july/midi/-/raw/master/FluidR3_GM.sf2
mkdir -p /usr/local/timidity/share/timidity
touch /usr/local/timidity/share/timidity/timidity.cfg
cat  /usr/local/timidity/share/timidity/timidity.cfg << EOF
dir /usr/local/share/sondfont
soundfont FluidR3_GM.sf2
EOF
echo 'export PATH=$PATH:/usr/local/timidity/bin' >> /etc/bashrc
source /etc/bashrc
cd ~
wget https://gitcode.net/anto_july/midi/-/raw/master/test.mid
timidity test.mid -Ow -o test.wav

timidity windows安装脚本

md "D:\Program Files\timidity"
cd /D "D:\Program Files\timidity"
powershell (new-object System.Net.WebClient).DownloadFile('https://gitcode.net/anto_july/midi/-/raw/master/timidity.exe','timidity.exe')
powershell (new-object System.Net.WebClient).DownloadFile('https://gitcode.net/anto_july/midi/-/raw/master/timidity.cfg','timidity.cfg')
powershell (new-object System.Net.WebClient).DownloadFile('https://gitcode.net/anto_july/midi/-/raw/master/FluidR3_GM.sf2','FluidR3_GM.sf2')
powershell (new-object System.Net.WebClient).DownloadFile('https://gitcode.net/anto_july/midi/-/raw/master/test.mid','test.mid')

::setx -m PATH "%PATH%;D:\Program Files\timidity"
wmic ENVIRONMENT where "name='PATH' and username='<system>'" set VariableValue="%PATH%;D:\Program Files\timidity"
timidity test.mid -Ow -o test.wav
pause