お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2008-09-19 17:30:05

fueryuejing
メンバ
From: アジア、南会津町。
登録日: 2007-11-03

【HowTo】TiMidity++の基本的な使い方とちょっとしたTips

TiMidity++ の Ubuntu パッケージ版の Tips の集積を考えています。質問はデスクトップ向けソフトウェアにトピックを立ていただけると助かります。このトピックの内容は順次 Wiki の Tips にあげる予定です。訂正加筆修正協力お願いします。

公式サイト
http://timidity.sourceforge.net
http://www.timidity.jp
http://sourceforge.net/mailarchive/forum.php?forum_name=timidity-talk

日本語情報
http://timidity.s11.xrea.com
http://www.i.h.kyoto-u.ac.jp/~shom/timidity
http://twsynth.sourceforge.jp
http://www.abcoroti.com/~bluewing/timidity/index.html

サウンドフォント関連
入手
http://www.hammersound.net
http://www.sf2midi.com
説明等
http://ja.wikipedia.org/wiki/SoundFont
http://viva-ubuntu.net/?p=724
http://d.hatena.ne.jp/kakurasan/20080407/p1
http://www3.ocn.ne.jp/~hix/soundfonts.html
※「SoundFont」や「サウンドフォント」をキーにweb検索すると沢山引っ掛かります。

help.ubuntu.com内の関連記事(少し古い)
https://help.ubuntu.com/community/Midi/SoftwareSynthesisHowTo

Launchpad 上のパッケージ timidity に報告されているバグや要望
https://bugs.launchpad.net/ubuntu/+source/timidity

筆者が JapaneseKaizenProject にのっけた要望
改善済
https://bugs.launchpad.net/ubuntu-jp-improvement/+bug/271605
https://bugs.launchpad.net/ubuntu-jp-improvement/+bug/271608
https://bugs.launchpad.net/ubuntu-jp-improvement/+bug/271607
↑shibata さんと persia さんが対応して下さいました。Intrepid 以降は改善版 TiMidity++ が使えます!多謝。

改善困難
https://bugs.launchpad.net/ubuntu-jp-improvement/+bug/271610
↑Tips #5 #6 で対応。

パッケージ timidity(Version 2.13.2-19ubuntu1) 由来のファイル /usr/share/doc/timidity/README.Debian

TiMidity++ for Debian
-----------------------------------------------------------

Installing Patchsets/soundfonts
for TiMidity (requisite for MIDI playing)
-----------------------------------------

For MIDI playing and sequencing, TiMidity _REQUIRES_ a patchset (or Sound
Font), which is a table with the waveforms produced by the instruments.  There
are no good quality patch sets or sound fonts available that are compatible
with the DFSG, AFAIK.  The incomplete (as of this writing) FreePats set is the
only DFSG-compliant set of patches available, and the default minimal config
file will try to use that.  See the freepats package for more details.

You have to find a sound font or patch set, and configure /etc/timidity/timidity.cfg
for that patchset.

Good soundfonts in .sf2 format are often available from sound-card makers.
For example the Soundblaster Live! driver CD contains the 8MBGMSFX.SF2 file.
TiMidity can use those.  There are also patchsets available for download on the
Internet that are usable for TiMidity.

You can find more information about patchsets and soundfonts in the
TiMidity homepage and mailinglist.  The homepage is at
http://timidity.sourceforge.net/


Fine-tining TiMidity for your system's CPU power
------------------------------------------------

TiMidity can, and will use your CPU time to do its level best to get
marvelous sound out of whatever you give it to work with.

If you find TiMidity too slow, simply configure it to use faster methods
of rendering sounds.  You can put command line options in timidity.cfg
by prefixing them with "opt".  Thus, you could use the following, to
reduce CPU usage to a minimum:

opt anti-alias=d
opt ext WPVSETOZ
opt fast-decay
opt interpolation linear
opt poliphony 16
opt ext Fchorus=d
opt ext Freverb=d
opt ext Fvlpf=d
opt ext Fresampl=d

Also, reduce the sampling-frequency as much as you can.

Usually, playing with -EFresampl (ext Fresampl) is enough to reduce
a lot of the CPU usage.


The timidity.cfg file
---------------------

See timidity.cfg(5) for all the details.  Command line options can be specified
prefixing them with "opt".  You'll probably want to "source <otherconfigfile>"
to load in config files distributed along with patchsets.

-- Henrique de Moraes Holschuh <hmh@debian.org>

Pulseaudio
----------

If you use a systemwide pulseaudio daemon, and you also want to run the timidity
sequencer systemwide, make sure the root user uses the correct alsa pulseaudio
configuration.  This can be done by creating a file /etc/asound.conf with the
following content:

#-- begin --
pcm.pulse {
            type pulse
}

ctl.pulse {
             type pulse
}

pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}
#-- end --

And also add the root user to the pulse-access group:

# adduser root pulse-access

This will cause timidity to use pulseaudio. This is only an example; more
advanced setups might require more or different configuration. Please
consult the pulseaudio documentation.

Alternatively you could run timidity in daemon mode as user.

-- Joost Yervante Damad <andete@debian.org>

soundfont の入手方法や PulseAudio への対応方法などが書かれています。

# 例によってユーザドキュメント読みながらなんとなく使っているだけです。記述には誤りを含むことでしょう。 :P

# TiMidity++ の開発は日本語話者が行っているので日本語情報が充実しています。このHowToの内容が充実したら英語フォーラムに輸出できれば、と野望を抱いています。

# 2004年から開発休止中?開発再開熱烈希望。:)
# ↑どうやら開発継続中のようで。はやとちり失礼。

追記
2008/10/04 timidity 付属 README.Debian の転載
2008/10/15 サウンドフォント関連URLを追記
2008/10/17 TiMidity++英語メーリスのアーカイブのURLを追記
2008/10/20 KaizenProject にて改善頂いた点を追記

最後の編集者: fueryuejing (2008-10-20 19:46:16)

オフライン

 

#2 2008-09-19 18:15:25

fueryuejing
メンバ
From: アジア、南会津町。
登録日: 2007-11-03

Re: 【HowTo】TiMidity++の基本的な使い方とちょっとしたTips

インストール
端末からなら

コード:

sudo apt-get install timidity

Timidity用のGUIのインストール

コード:

sudo apt-get install timidity-interfaces-extra

ソフトウェア音源としての使用
/etc/default/timidity を編集し

コード:

TIM_ALSASEQ=true

とする。



ソフトウェア音源としての使用、音切れ対策
1.RealTimePriority で動かす
例)
/etc/default/timidity の TIM_ALSASEQPARAMS を以下のように編集

コード:

TIM_ALSASEQPARAMS="-Os --realtime-priority=100"

※非力すぎるPCでこれをやるとmidiの再生中PCが制御不能になる場合もあるかも。

2.起動オプションの追加
例)
/etc/default/timidity の TIM_ALSASEQPARAMS を以下のように編集
遅いCPUの場合

コード:

TIM_ALSASEQPARAMS="-Os -EFresamp=d -EFvlpf=d -EFreverb=d -EFchorus=d -EFdelay=d --anti-alias=d -EWPVSETOZ -p32a -s32kHz --fast-decay"

あんまり速くないCPUの場合

コード:

TIM_ALSASEQPARAMS="-Os -EFresamp=l -EFreverb=g,42 -EFchorus=s -s32kHz -p64a"

※/etc/timidity/timidity.cfg の記述のコマンドラインへの応用。

3.1. + 2.
例)
/etc/default/timidity の TIM_ALSASEQPARAMS を以下のように編集

コード:

TIM_ALSASEQPARAMS="-Os -EFresamp=l -EFreverb=g,42 -EFchorus=s -s32kHz -p64a --realtime-priority=100 --sequencer-ports=1"

※--sequencer-ports=1で開くポートを1つにしている。同時に複数のmidiデバイスから繋ぐのでなければ1つで足りると思う。開いているポートは

コード:

aplaymidi -l

もしくは

コード:

pmidi -l

などで確認できる。


# コマンドラインオプションに間違いがあり訂正しました。
誤)-anti-alias
正)--anti-alias

誤)-fast-decay
正)--fast-decay

最後の編集者: fueryuejing (2008-09-19 18:25:09)

オフライン

 

#3 2008-09-24 20:32:13

fueryuejing
メンバ
From: アジア、南会津町。
登録日: 2007-11-03

Re: 【HowTo】TiMidity++の基本的な使い方とちょっとしたTips

TiMidity++でWebページ埋め込みのmidiを鳴らすには

関連トピック
http://forum.ubuntulinux.jp/viewtopic.php?id=1510

以下の3つのパッケージがインストールされていれば再生可能

mozplugger
timidity
freepats

※再生が重かったり途切れる場合は /etc/timidity/timidity.cfg をコメントアウトされている説明文に従って編集すると良い。

以下該当個所の引用

## If you have a slow CPU, uncomment these:
# opt EFresamp=d                #disable resampling
# opt EFvlpf=d          #disable VLPF
# opt EFreverb=d                #disable reverb
# opt EFchorus=d                #disable chorus
# opt EFdelay=d         #disable delay
# opt anti-alias=d      #disable sample anti-aliasing
# opt EWPVSETOZ         #disable all Midi Controls
# opt p32a              #default to 32 voices with auto reduction
# opt s32kHz            #default sample frequency to 32kHz
# opt fast-decay                #fast decay notes

## If you have a moderate CPU, try these:
# opt EFresamp=l
# opt EFreverb=g,42
# opt EFchorus=s
# opt s32kHz
# opt p64a

追記
不具合が出る場合は以下の Enuey さんの投稿を参照下さい
http://forum.ubuntulinux.jp/viewtopic.php?pid=5031#p5031

# -Os がらみの不具合って ALSA シーケンサインターフェイスのみの問題でもないのかな?ありゃりゃ。

最後の編集者: fueryuejing (2008-10-15 18:22:45)

オフライン

 

#4 2008-10-02 18:43:43

fueryuejing
メンバ
From: アジア、南会津町。
登録日: 2007-11-03

Re: 【HowTo】TiMidity++の基本的な使い方とちょっとしたTips

TiMidity++ の音切れ対策 改善版
TiMidity++ のオプションについて詳しく知る機会を得たので、以下はそれを元にした改善版です。
「TiMidity++ = 重い」って印象が覆りました。いやはやお恥ずかしい。 :P

全体的なこと
「重さ」を決定する主因は再生サンプルレート
下げれば低負荷に、上げれば高負荷に。
-s オプションで指定し、「kHz」の記述がなければ「Hz」での指定とみなされる。

エフェクトオプションと重さ
リバーブと補完処理に何をつかうかによっても「重さ」は大きく左右される。
ディレイ(-EFdelay=)
デフォルトで無効。通常の使用なら無効で。

マニュアルページ timidity からの抜粋

delay=(d|l|r|b)[,msec], --delay=(d|l|r|b)[,msec]
        イ ヤホンで聞いた時の音の臨場感を出すようにします。

        d, 0   ディレイを無効(Disable)にします(デフォルト)。

        l, 1   左(Left)ディレイを有効にします。主に左から音が聞こえてきます。

        r, 2   右(Right)ディレイを有効にします。主に右から音が聞こえてきます。

        b, 3   左右(Both)ローテートを有効にします。ときどき,左右の音場が変化します。

        msec は左右のディレイタイムを指定するオプションです。

リバーブ(-EFreverb=)
デフォルトは 3 の Freeverb 。再現性は高いものの無効に比べると感覚的に1.5倍程度重くなる。

1 の Normal にすれば無効の場合と比べ増える負荷はわずかですむ。低スペックマシン向け。

マニュアルページ timidity からの抜粋

reverb=(d|n|g|f|G)[,level], --reverb=(d|n|g|f|G)[,level]

        d, 0   MIDI リバーブ制御を無効(Disable)にします。

        n, 1   標準的(Normal)な MIDI リバーブ制御を有効にします。

        g, 2   グローバル(Global)リバーブを有効にします。

        f, 3   Freeverb MIDI リバーブ制御を有効にします(デフォルト)。

        G, 4   グローバル Freeverb MIDI リバーブ制御を有効にします。

        level はリバーブレベル 0 から 127 を指定するオプションです。

ボイス単位LPF(-EFvlpf=)
デフォルトで有効。デフォルトの 1 が負荷に与える影響は殆ど無く、有効である方が再現性が高い。

マニュアルページ timidity からの抜粋

vlpf=(d|c|m), --voice-lpf=(d|c|m)

        d, 0   ボイス単位 LPF を無効(Disable)にします。

        c, 1   Chamberlin レゾナント LPF (12dB/oct)を有効にします(デフォルト)。

        m, 2   Moog レゾナントローパス VCF (24dB/oct)を有効にします。

ノイズシェービング(-EFns=)
デフォルトで有効。デフォルトは 4 。8ビットと16ビットで動作に違いがあるが負荷に差はない。デフォルトのままで良い。

マニュアルページ timidity からの抜粋

ns=n, --noise-shaping=n
        n 次ノイズシェーピングフィルタを有効にします。ディケイでの歪みが改善されますが,ノイズが高域にシフトし聴感上のノイズも増えます。8 ビット線形符号化のとき,n には 0 から 4 までの値を指定することができます。0 のときフィルタは機能せず,4 のとき最大の効き方となります。デフォルトでは 4 です。16 ビット線形符号化のとき,n には 0 から 4 までの値を指定することができます。値によって,下記の動作になります。デフォルトでは 4 です。

        0      ノイズシェーピングなし

        1      従来のノイズシェーピング

        2      過負荷風ソフトクリッピング + 新ノイズシェーピング

        3      真空管風ソフトクリッピング + 新ノイズシェーピング

        4      新ノイズシェーピング

補完処理(-EFresamp=)
デフォルトは 5 のガウス(Gauss)風補完アルゴリズム。しかし無効に比べると感覚的に2〜3倍程度重くなる。

1 の線形(Linear)補完アルゴリズムなら無効の場合と比べ増える負荷は無視できる程度。ALSAMIDIシーケンサモード(-iA)で使うならこれ。

マニュアルページ timidity からの抜粋

resamp=(d|l|c|L|n|g), --resample=(d|l|c|L|n|g)

        d, 0   補完処理を無効(Disable)にします。

        l, 1   線形(Linear)補完アルゴリズムを有効にします。

        c, 2   C スプライン補完アルゴリズムを有効にします。

        L, 3   ラグランジュ(Lagrange)補完アルゴリズムを有効にします。

        n, 4   ニュートン(Newton)補完アルゴリズムを有効にします。

        g, 5   ガウス(Gauss)風補完アルゴリズムを有効にします(デフォルト)。

        -EFresamp は -N オプションの挙動に影響します。

--realtime-priority=100 は「やりすぎ」
再生サンプルレートを下げればそれほど重くならない。よってプライオリティを他のアプリ全てに優先させる必要はない。( --realtime-priority=100 は Windows 版の -e (--evil) に相当する動作だと思う。)

その他のオプションについて
--anti-alias はパラメータ無し。短縮形は -a。
--fast-decay もパラメータ無し。短縮形は -f。
ファーストディケイもアンチエイリアシングも ON OFF でこれといって負荷が変わるわけではない。

/etc/timidity/timidity.cfg へのオプションの例

遅いCPUの場合

コード:

opt s11025
opt EFreverb=1
opt EFresamp=1

あまり速くないCPUの場合

コード:

opt EFresamp=1

再生サンプルレートのみ下げた例

コード:

opt s16kHz

再生サンプリングレートをかなり下げて折り返し雑音を考慮した例

コード:

opt s8kHz
opt a

ALSAシーケンサインターフェイス(ソフトウェア音源としての使用)に関すること
ALSAシーケンサインターフェイスでの音切れ対策
オプションに

コード:

-B2,9 -q0/0

を加えるとよい。

2ポート対応のMIDIファイルの存在
2ポート、計32チャンネルで演奏するMIDIファイルを再生するのに開いているポートが一つではまずい。

コード:

--sequencer-ports=2

としておくとよい
# そういうMIDIファイルの存在を知りませんでした。:P

環境変数の指定
ポートを2つ開いている場合 ~/.profile や ~/.xprofile に

コード:

export ALSA_OUTPUT_PORTS=128:0,128:1

と記入しておくと pmidi や aplaymidi でいちいちポートを指定せずともMIDIファイルを再生可能。

/etc/default/timidity への指定例

速いCPUの場合(基本形)

コード:

TIM_ALSASEQPARAMS="-Os --sequencer-ports=2 -B2,9 -q0/0"

あまり速くないCPUの場合

コード:

TIM_ALSASEQPARAMS="-Os --sequencer-ports=2 -B2,9 -q0/0 -EFresamp=1"

遅いCPUの場合

コード:

TIM_ALSASEQPARAMS="-Os --sequencer-ports=2 -B2,9 -q0/0 -s11025 -EFreverb=1 -EFresamp=1"

再生サンプルレートを下げた例

コード:

TIM_ALSASEQPARAMS="-Os --sequencer-ports=2 -B2,9 -q0/0 -s16kHz"

再生サンプルレートをかなり下げて折り返し雑音を考慮した例

コード:

TIM_ALSASEQPARAMS="-Os --sequencer-ports=2 -B2,9 -q0/0 -s8kHz -a"

遅いCPUの場合+RealTimePriority (最終手段。手許では再生時にテンポが崩れ乱れる場合に有効だった。)

コード:

TIM_ALSASEQPARAMS="-Os --realtime-priority=100 --sequencer-ports=2 -B2,9 -q0/0 -s11025 -EFreverb=1 -EFresamp=1"

追記と修正
2008/10/03
typo修正:
底負荷 > 低負荷
Wikipediaのサンプリング周波数へのリンクを追記
2008/10/04

エフェクトオプションが「重さ」に与える影響は小さい
再生するMIDIファイルがそれほど豪華なものではないなら、リバーブ制御や補完処理などで加わる負荷は無視できる程度。

↑勘違いでした。エフェクトオプションが豪華でないならそんなに重さに影響がでないってことでした。MIDIが派手って話じゃなしに。

最後の編集者: fueryuejing (2008-10-15 17:52:54)

オフライン

 

#5 2008-10-04 14:33:04

fueryuejing
メンバ
From: アジア、南会津町。
登録日: 2007-11-03

Re: 【HowTo】TiMidity++の基本的な使い方とちょっとしたTips

Fluid (R3) General MIDI SoundFont を TiMidity++で利用する

必要なパッケージ(公式リポジトリから入手可能になりました)
fluid-soundfont-gm
fluid-soundfont-gs

/etc/timidity/timidity.cfg の追記例
GM

コード:

# By default, try to use the instrument patches from freepats:

source /etc/timidity/freepats.cfg

# Fluid (R3) General MIDI SoundFont

soundfont /usr/share/sounds/sf2/FluidR3_GM.sf2 order=0

GM + GS Extensions

コード:

# By default, try to use the instrument patches from freepats:

source /etc/timidity/freepats.cfg

# Fluid (R3) General MIDI SoundFont + GS Extensions

soundfont /usr/share/sounds/sf2/FluidR3_GM.sf2 order=0
soundfont /usr/share/sounds/sf2/FluidR3_GS.sf2 order=0

マニュアルページ timidity.cfg からの抜粋

説明
       timidity.cfg は,timidity(1) の実行時の様々な設定を行うための設定ファイルです。音色データの置き場所,音色自体の設定,その他諸々を設定するこ とができます。
       TiMidity++   は , 起 動時にコマンドラインオプションを見る前に, timidity.cfg を探索します。このファイルにアクセスできない場合,またライブラリパスがコマンドラインで -L オプションによって変更されている場合は,すべてのオプションを見た後に,新しいライブラリパスに従ってデフォルトファイルを(-c オプションで別の設定ファイルが指定されていないならば)再探索します。
       設定ファイルは,MIDI プログラムのインスツルメントファイルへのマッピングを定義します。もし,複数のファイルが指定された場合には,後に読み込まれた設定によって前の設定が上書きされます。

soundfont file [options]
              SoundFont を最初から最後まで読み込みます(部分的に読み込むには ,number %font を使います)。options は,次のものが使用可能です。

              order=number
                     音 色データを探す順番を設定します。order=0 のときは,まず SoundFont を読み込んで,その後に足り な いサンプルを GUS/patch から探します。order=1 のときは,GUS/patch を読み込んだ後に SoundFont を読み込みます。

              amp=amplification
                     SoundFont 全体の音量を amplification% にします。もし値 が指定されていない場合,100% に設定されます。

              cutoff=number
                     SoundFont  に設定された LPF の有効(1)/無効(0)を指定します。もし値が指定されていない場合,有効となります。

              reso=number
                     SoundFont に設定されたレゾナンスの有効(1)/無効(0)を指定します。もし値が指定されていない場合,有効となります。

              remove 対象の SoundFont を逆にメモリ上から廃棄します。

参考
TiMidity++ 設定ファイル詳解

最後の編集者: fueryuejing (2008-10-15 18:29:12)

オフライン

 

#6 2008-10-04 14:37:52

fueryuejing
メンバ
From: アジア、南会津町。
登録日: 2007-11-03

Re: 【HowTo】TiMidity++の基本的な使い方とちょっとしたTips

saitoさん作の Fluid SoundFont 向け設定ファイルの導入
音色毎に音量調整がなされているので、#5 の方法で利用するよりも再生時のMIDIファイルの再現性が高いと思われます。

入手先
http://timidity.s11.xrea.com/cfg.htm の「バンク」の「Fluid R3」の隣の「設定」のリンク先から fliud3.zipを入手。

導入方法
fluid3gm.cfgの編集と導入
1.ファイルの冒頭に以下のように dir の行を記述

コード:

dir /usr/share/sounds/sf2

2.ファイル内の「FluidR3GM.SF2」の記述全てを「FluidR3_GM.sf2」に置換

3.改行コードをLF、文字コードをUTF-8として保存

4.保存したファイルを /etc/timidity/ 以下に「fluid3gm.cfg」の名前で配置

5. /etc/timidity/timidity.cfg 末尾に以下の1行を追記

コード:

source /etc/timidity/fluid3gm.cfg

fluid3gs.cfgの編集と導入
※先に「fluid3gm.cfgの編集と導入」を済ませておくこと

1.ファイルの冒頭に以下のように dir の行を記述

コード:

dir /usr/share/sounds/sf2

2.ファイル内の「FluidR3GS.SF2」の記述全てを「FluidR3_GS.sf2」に置換

3.改行コードをLF、文字コードをUTF-8として保存

4.保存したファイルを /etc/timidity/ 以下に「fluid3gs.cfg」の名前で配置

5./etc/timidity/timidity.cfg の

コード:

source /etc/timidity/fluid3gm.cfg

の記述のある行の下に以下の1行を追記

コード:

source /etc/timidity/fluid3gs.cfg

最後の編集者: fueryuejing (2008-10-15 17:23:01)

オフライン

 

#7 2008-10-17 19:26:45

fueryuejing
メンバ
From: アジア、南会津町。
登録日: 2007-11-03

Re: 【HowTo】TiMidity++の基本的な使い方とちょっとしたTips

MIDIから各種オーディオファイルフォーマットへの変換
MIDIFLAC

コード:

timidity -OF -o 出力.flac 入力.mid

MIDI → WAVE

コード:

timidity -Ow -o 出力.wav 入力.mid

MIDI → Vorbis

コード:

timidity -Ov -o 出力.ogg 入力.mid

※ Ogg コンテナにオーディオを入れた場合の拡張子はoga や ogx が望ましいらしいが、それら拡張子を使った場合にプレイヤ側が未対応で再生できない場合もある(手元の Audacious 1.5.0 でそれが起きた)。

MIDI → MP3

コード:

timidity -Ow -o - 入力.mid | lame - 出力.mp3

※ Warning: -: Illegal seek: Can't make valid header と警告メッセージが出るものの変換は行われる。
例えば、

コード:

timidity -OrUS1 -s 44.1kHz -o - 入力.mid | lame -r -m s --bitwidth 16 -s 44.1 - 出力.mp3

とすると警告メッセージは出ない。
※「午後のこ〜だ」をソースからビルドして使うのも一興。

MIDI → AAC

コード:

timidity -Ow -o - 入力.mid | faac -w -o 出力.mp4 -

※ Warning: -: Illegal seek: Can't make valid header と警告メッセージが出るものの変換は行われる。
例えば、

コード:

timidity -OrUS1 -s 44.1kHz -o - 入力.mid | faac -P -w -o 出力.mp4 -

とすると警告メッセージは出ないが音が割れた。何故? :(
※ mp4/m4v/m4a のタグの編集には AtomicParsley が便利。
※ faac は出力コンテナを拡張子で自動判別してくれるので -w オプションは付けなくとも可。

音量の補正は -A オプションで行う
例:

コード:

timidity -A90a -Ow -o 出力.wav 入力.mid

マニュアルページ timidity からの抜粋:

-A [n][,m](a)
       --amplification=n
       --drumpower=m
       --[no-]volume-compensation
              全体の音量を n% にします。デフォルトでは 70 です。大きな値を指定
              するほど大きな音になります。また,通常音色の音量とドラム音色の音
              量の比率(ドラムパワー)を m% にします。デフォルトでは 100 です 。
              それぞれ,0 (無音)から 800 までの値が有効です。
              さ ら に,-a オプションに ‘a’ の文字を付加するか, --volume-com‐
              pensation オプションを指定することにより,音量自動補正機能を有効
              にします。この機能は,MIDI データの MAINVOLUME を最大音量 (0x7f)
              に正規化するもので,できるだけダイナミックレンジを稼ぐ,曲間での
              音量格差を小さくする,などの目的で使用されます。

              例:

              -A90   音量 90%,ドラム比 100%,補正無

              -A,120 音量 70%,ドラム比 120%,補正無

              -A90,120
                     音量 90%,ドラム比 120%,補正無

              -Aa    音量 70%,ドラム比 100%,補正有

              -A90a  音量 90%,ドラム比 100%,補正有

              -A,120a
                     音量 70%,ドラム比 120%,補正有

              -A90,120a
                     音量 90%,ドラム比 120%,補正有

-o オプションについて
マニュアルページ timidity からの抜粋:

-o file, --output-file=file
              出力ファイル名を指定します。出力先がファイルでない場合はこのオプ
              ションは無視されます。file を ‘-’ にすると標準出力に出力されます
              。

-O オプションについて
マニュアルページ timidity からの抜粋:

-O mode, --output-mode=mode
       --flac-verify
       --flac-padding=n
       --flac-complevel=n
       --oggflac
       --speex-quality=n
       --speex-vbr
       --speex-abr=n
       --speex-vad
       --speex-dtx
       --speex-complexity=n
       --speex-nframes=n
              出力モードやフォーマットを指定します。
              Ogg FLAC 出力モードでは,別 途  --flac-verify ,  --flac-padding
              ,--flac-complevel,--oggflac オプションにより,それぞれ元波形と
              のべリファイ(圧縮速度が少し遅くなる),ファイルヘッダのパディング
              長( デ フォルトでは4096),0 から 8 までの圧縮レベル(デフォルトで
              は5),OggFLAC ストリームで出力を指定できます。
              Ogg Speex 出力モードでは,別 途  --speex-quality ,  --speex-vbr
              ,--speex-abr ,--speex-vad, --speex-dtx,--speex-complexity オ
              プションにより,それぞれ0 から 10 までの圧縮品質(デフォルトで は
              8) ,  VBR   で 出力,レート n の ABR で出力,VAD(voice activity
              detection) で出力,DTX(discontinuous transmission) で出力,0  か
              ら  10 までの解析の複雑さ(デフォルトでは 3),0 から 10 までのOgg
              パケット内のフレーム数(Speex の処理単位)(デフォルトでは 1) を 指
              定できます。
              以下の mode が有効です。

              -Od    オーディオデバイスに出力します(デフォルト)。

              -Os    ALSA オーディオデバイスに出力します。

              -Or     ヘッダのないオーディオのデータ部分のみを出力します。下記
                     のすべてのフォーマットオプションが使えます。一般的なフ ォ
                     ーマットは以下の通りです。

                      -OrU   -Law

                      -Or1sl 16 ビット符号あり線形符号化

                      -Or8ul 8 ビット符号なし線形符号化

              -Ou    Sun Audio (au)ファイルを出力します。

              -Oa    AIFF(Audio  Interchange File Format) ファイルを出力します
                     。

              -Ow    RIFF WAVE ファイルを出力します。出力がシーケンシャルフ ァ
                     イ ルだったり, TiMidity++ がファイルを閉じる前に中断され
                     た場合,ファイルヘッダは 0xffffffff の RIFF およびデー タ
                     ブ ロック長フィールドを含みます。著名なサウンド変換ユーテ
                     ィリティ sox は,そのような規格外のファイルを読めるので,
                     別 フォーマットへのオンザフライ変換として,sox に直接デー
                     タをパイプできます。

              -Ol    MIDI イベントのリストを出力します。

              -OM    MOD ファイルから MIDI ファイルに変換して出力します。

              -Oe    EsounD

              -Op    PortAudio

              -Oj    JACK

              -OR    aRts

              -OA    Alib

              -Ov    Ogg Vorbis

              -OF    Ogg FLAC

              -OS    Ogg Speex

              -OO    libdao

              フォーマットオプション
                     上記オプションに続けて,以下の文字を追加することで出力 フ
                     ォーマットを指定できます(複数可)。

                     S, --output-stereo
                             ステレオ

                     M, --output-mono
                             モノラル

                     s, --output-signed
                             符合あり出力

                     u, --output-unsigned
                             符合なし出力

                     1, --output-16bit
                             16 ビットサンプル精度

                     2, --output-24bit
                             24 ビットサンプル精度

                     8, --output-8bit
                             8 ビットサンプル精度

                     l, --output-linear
                             線形符合化

                     U, --output-ulaw
                             -Law 符合化

                     A, --output-alaw
                             A-Law 符合化

                     x, --[no-]output-swab
                             バイト反転出力

                     一 部のモードでは,指定しても効果がないオプションがありま
                     す。例えば,バイト反転した RIFF WAVE ファイルを作ることは
                     で きませんし,-Law 出力は Linux PCM デバイスに対しては使
                     用できません。

更新履歴:
2008/10/20
MIDI → mp4 を MIDI → AAC に修正。各コーデックについてWikipediaの該当項目へのリンクを追記。

最後の編集者: fueryuejing (2008-10-20 19:35:57)

オフライン

 

#8 2009-09-19 15:49:18

Mocchi
管理者
登録日: 2009-05-17

Re: 【HowTo】TiMidity++の基本的な使い方とちょっとしたTips

端末で「timidity -ig」としてインターフェース・オプションをつけて実行するとプレーヤーが起動します。単にMIDIプレーヤーとして利用するなら、こちらが手軽でおすすめです。設定の変更などは相変わらず端末でコマンド操作する必要がありますが。

オフライン

 

#9 2009-09-19 16:01:36

Mocchi
管理者
登録日: 2009-05-17

Re: 【HowTo】TiMidity++の基本的な使い方とちょっとしたTips

上記プレーヤは、パッケージ「timidity-interfaces-extra」をインストールしている際に有効でした。。。

オフライン

 

Board footer

Powered by FluxBB