1: 2020-06-25 (木) 01:38:30 yuji | 現: 2020-12-26 (土) 16:08:03 yuji Attached file: install1.png |
||
---|---|---|---|
Line 1: | Line 1: | ||
* TiMidity++ [#d687bec2] | * TiMidity++ [#d687bec2] | ||
- | [[TiMidity++>https://ja.wikipedia.org/wiki/TiMidity%2B%2B]]は,MIDIデータをPCMに変換しながら演奏するためのソフトウェア・シンセサイザー。~ | + | [[TiMidity++>https://ja.wikipedia.org/wiki/TiMidity%2B%2B]]はMIDIプレーヤーで,MIDIデータをPCMに変換しながら演奏する。~ |
- | あらかじめ用意された音色ファイルとMIDIデータファイルから,リアルタイムに音を合成しながら再生することが出来る。~ | + | |
+ | あらかじめ用意された音色データ・ファイル([[SoundFontとGUS Patch>../SoundFontとGUS Patch]])とMIDIファイルから,リアルタイムに音を合成しながら再生することが出来る。~ | ||
再生だけではなく,各種の音声フォーマットのファイルとして書き出すことも出来る。 | 再生だけではなく,各種の音声フォーマットのファイルとして書き出すことも出来る。 | ||
- | 使用する音色ファイルによるが,市販されている音源モジュールに匹敵する音を出すことも可能。~ | + | 使用する音色データ・ファイルによるが,市販されている音源モジュールに匹敵する音を出すことも可能。~ |
- | 音色ファイルも,インターネットで無料で使用できるデータや有料の高品質のデータなど多くの音色データを使用できる。 | + | 音色ファイルもインターネットで無料で使用できるデータや,有料の高品質のデータなど多くの音色データを使用できる。 |
- | TiMidity++は,Tuukka Toivonen氏が作ったTiMidity 0.2iをベースにしているMIDIプレーヤー。~ | + | 元はTuukka Toivonen氏が作ったTiMidity 0.2iで1995年にリリースされたが,それ以降TiMidityの開発は行われなくなった。~ |
- | TiMidity 0.2iは1995年にリリースされたが,それ以降TiMidityの開発は行われていない。~ | + | その後出雲正尚氏らに開発が引き継がれ,プロジェクト名もTiMidity++と変更された。 |
- | その後,Tuukka Toivonen氏から出雲正尚氏らに開発が引き継がれ,プロジェクト名もTiMidity++と変更された。 | + | |
以下のような特徴がある。~ | 以下のような特徴がある。~ | ||
- | - 外部のハードウェアを一切使わずにMIDIファイルを演奏することが出来る~ | + | - 外部のハードウェアを一切使わずにMIDIファイルを演奏することが出来る~ |
- | - さまざまな形式のファイルが読み込める~ | + | - いろいろなフォーマットのファイルの読み込みに対応している~ |
-- SMF (Format 0, 1, 2) | -- SMF (Format 0, 1, 2) | ||
-- MODファイル | -- MODファイル | ||
-- RCP, R36, G18, G36 (レコンポーザ形式) | -- RCP, R36, G18, G36 (レコンポーザ形式) | ||
- | -- MFi (Version 3; iモードの着メロ) | + | -- MFi (Version 3) |
- | - 対応書き出しフォーマットは | + | - 対応している出力フォーマット |
-- RIFF WAVE (*.wav) | -- RIFF WAVE (*.wav) | ||
-- SUN AU (*.au) | -- SUN AU (*.au) | ||
Line 24: | Line 25: | ||
-- Ogg Vorbis (*.ogg) | -- Ogg Vorbis (*.ogg) | ||
-- MPEG-1 Audio layer 3 (*.mp3) | -- MPEG-1 Audio layer 3 (*.mp3) | ||
- | - 音源ファイルとして以下の形式が使える~ | + | - 音色データして以下のフォーマットが使える~ |
-- Gravis Ultrasound互換パッチファイル | -- Gravis Ultrasound互換パッチファイル | ||
-- SoundFont | -- SoundFont | ||
Line 32: | Line 33: | ||
- 演奏をトレースして表示~ | - 演奏をトレースして表示~ | ||
- マルチプラットフォーム対応~ | - マルチプラットフォーム対応~ | ||
- | Windowsだけでなく,Linux(パッケージ名timidity,timidity-interfaces-extra)やMacOS Xでも使用できる。 | + | Windows,Linux,MacOS Xでも使用できる。~ |
+ | GUIとコマンドライン版がある。~ | ||
- URIを指定することでのネットワーク上のMIDIファイルを直接演奏出来る~ | - URIを指定することでのネットワーク上のMIDIファイルを直接演奏出来る~ | ||
- アーカイブファイルから解凍せずに直接演奏出来る~ | - アーカイブファイルから解凍せずに直接演奏出来る~ | ||
Line 38: | Line 40: | ||
-- gzip圧縮済みtarアーカイブ (*.tar.gz, *.tgz)~ | -- gzip圧縮済みtarアーカイブ (*.tar.gz, *.tgz)~ | ||
-- Zip圧縮ファイル (*.zip)~ | -- Zip圧縮ファイル (*.zip)~ | ||
- | -- LHa圧縮ファイル lh0,lh1,lh2,lh3,lh4,lh5,lh6,lz4,lzs,lz5 (*.lzh)~ | + | -- LHa圧縮ファイル (*.lzh)~ |
+ | |||
+ | TiMidity++のMIDIプレーヤーから,発音部を独立させて音源モジュールとしても使用できるようにしたソフトウェアも派生版として開発されている。~ | ||
** TiMidity++のインストール [#ec2896c6] | ** TiMidity++のインストール [#ec2896c6] | ||
- | WindowsにTiMidity++をインストールする方法。 | + | Windowsで動作する[[TiMidity++>https://www.timidity.jp/]]は出雲氏オリジナルのもの,その派生版のMIDI音源モジュール対応のもの,さらにそれらの派生版のものなど,いくつかある。~ |
- | *** TiMidity++開発サイトでの最終版をインストールする場合 [#p6084572] | + | *** TWSYNTHプロジェクトの最終版をインストールする場合 [#p6084572] |
- | [[twsynthプロジェクトのリリースファイルのページ>https://ja.osdn.net/projects/twsynth/releases/]]から,TiMidity-CVS081206_setup_JPN.exeをダウンロードする。 | + | オリジナルのTiMidity++から単独の音源モジュールとして使用できるようにした派生版。~ |
+ | [[twsynthプロジェクトのリリースファイルのページ>https://ja.osdn.net/projects/twsynth/releases/]]から,''TiMidity-CVS081206_setup_JPN.exe''がダウンロードできる。~ | ||
- | ダウンロードしたTiMidity-CVS081206_setup_JPN.exeを実行し,インストールする。~ | + | ダウンロードしたTiMidity-CVS081206_setup_JPN.exeを実行しインストールする。~ |
- | #ref(install1.png) | + | #ref(install1.png,,60%) |
- | 全てチェックしてもよいが,Windows10では「Timidity++ Driver」は動作が不安定なので,マークを外してインストールしない。~ | + | Windows 10だと''Timidity++ Driver''(MIDI Driver)はデジタル署名されていないので,マークを外してインストールしないようにする。~ |
- | 終了すればインストールは完了。 | + | 次へをクリックして終了すれば,インストールは完了。 |
- | MIDIプレーヤーの''timw32g.exe''を起動して,MIDIファイルをドラッグ&ドロップして演奏されればOK。 | + | MIDIプレーヤーの''timw32g.exe''を起動して,MIDIファイルをドラッグ&ドロップして演奏されればインストールはうまくいっている。(インストール時にサイズ9MBの''A320U.sf2''のSoundFontがインストールされているので,音がでる。) |
- | ''twsyng.exe''は,MIDIプレーヤーから発音部を独立させたシンセサイザーモジュール。MIDIマッパー等に接続すれば音源モジュールとして他のアプリケーションから使用できる。 | + | ''twsyng.exe''は,TiMidity++のMIDIプレーヤーから発音部を独立させたシンセサイザー音源モジュール。~ |
+ | [[MIDIマッパー>/PC/Windows/WindowsでMIDI音源を使う#v7bbf070]]や[[loopMIDI>/PC/Windows/WindowsでMIDI音源を使う#y77b6d1c]]等のMIDI Driver(Virtual MIDI Cable)を使って接続すれば,音源モジュールとして他のアプリケーションから使用できる。~ | ||
+ | |||
+ | 好きなSoundFontを読み込むように''timidity.cfg''で設定する。~ | ||
*** TiMidity++ 41版をインストールする場合 [#l0f6b93b] | *** TiMidity++ 41版をインストールする場合 [#l0f6b93b] | ||
- | [[TiMidity++ 41版サイト>https://ja.osdn.net/projects/timidity41/downloads/72647/tim41.4.3.zip]]から,tim41.4.3.zipをダウンロードする。 | + | TiMidity++ 41版は,TiMidity++の非公式フォーク版。時々更新されている。~ |
+ | 開発は[[こちらのサイト>https://github.com/starg2/timidity41]]で続けられているので''おすすめ''。~ | ||
- | 任意のディレクトリに解凍する。~ | + | インストールするには,[[TiMidity++ 41版開発サイトのreleases>https://github.com/starg2/timidity41/releases/]]から,使用しているPCに合っているファイル(例: |
- | x86(32bit版)とx64(64bit版)があり,それぞれのMIDIプレーヤーの''timw32g.exe''を実行して,MIDIファイルをドラッグ&ドロップして演奏されればOK。~ | + | tim41.7.2-x64-sse42.zip)をダウンロードして任意のディレクトリに解凍する。~ |
+ | |||
+ | ''timw32g.exe''をダブルクリックして起動すると,初期設定ファイルの''timpp32g.ini''ファイルが作成される。~ | ||
+ | 設定>設定ファイルで''timidity.cfg''ファイルの場所の指定ができるので,timidity.cfgファイルを作成して,指定しておく。~ | ||
+ | ''timidity.cfg''ファイルの例:~ | ||
+ | dir "C:\WinApl\Sound\SoundFont\SGM" | ||
+ | soundfont "SGM.sf2" | ||
+ | |||
+ | x86(32bit版)とx64(64bit版)があり,それぞれのMIDIプレーヤーの''timw32g.exe''を実行して,MIDIファイルをドラッグ&ドロップして演奏されればインストールは完了。~ | ||
+ | |||
+ | 発音部を独立させたシンセサイザーモジュール''twsyng.exe''も入っている。~ | ||
+ | Timidity++ Driver(MIDI Driver)はサポートされていないが,[[loopMIDI>/PC/Windows/WindowsでMIDI音源を使う#y77b6d1c]]等を使えば各種アプリから利用できる。~ | ||
+ | |||
+ | //&ref(../Windows/Audacity/audacity_x64_3.3.1.zip,,ASIO対応にビルドしたAudacityのportaudio_x64.dll); に入れ替えるたらASIO対応になった。~ | ||
*** UbuntuにTiMidity++をインストール [#wd6133c7] | *** UbuntuにTiMidity++をインストール [#wd6133c7] | ||
Line 73: | Line 95: | ||
とすれば,音色データにFluid R3を使うようになる。 | とすれば,音色データにFluid R3を使うようになる。 | ||
- | ** 参考リンク [#h414b402] | + | * Timidity++の設定ファイル [#necd5b5c] |
- | 本家 Tuukka Toivonen氏のサイト: | + | Timidity++の動作設定は,timpp32g.iniで指定されている設定ファイル''timidity.cfg''で行います。~ |
- | https://sca.uwaterloo.ca/sca/www.cgs.fi/tt/timidity/ | + | 音源モジュール・シンセサイザーでもtwsyng32.iniで指定されていて通常は同じ''timidity.cfg''で行います。~ |
- | ソースコード timidity-0.2i.tgz をリリース後開発終了。 | + | |
+ | ''timidity.cfg''では,音色データ(SoundFontやGUS Patch)の置き場所,音色自体の設定,その他の設定することが出きます。~ | ||
+ | |||
+ | TiMidity++は起動時にコマンドラインオプションを見る前に,''timidity.cfg''を参照しに行きます。~ | ||
+ | このファイルにアクセスできない場合,またライブラリパスがコマンドラインで''-L''オプションによって変更されている場合は,すべてのオプションを見た後に,新しいライブラリパスに従ってデフォルトファイルを(-c オプションで別の設定ファイルが指定されていないならば)再度参照しに行きます。~ | ||
+ | |||
+ | 設定ファイルでは,MIDIプログラムのインスツルメントへのマッピングを定義します。~ | ||
+ | もし複数のファイルが指定された場合には,後に読み込まれた設定によって前の設定が上書きされるようです。~ | ||
+ | ''timidity.cfg''の例~ | ||
+ | dir "C:\WinApl\Sound\soundfont" | ||
+ | |||
+ | #soundfont "FluidR3 GM.SF2" | ||
+ | #soundfont "FluidR3 GS.SF2" | ||
+ | #soundfont "GeneralUser GS.sf2" | ||
+ | soundfont "SGM.sf2" | ||
+ | |||
+ | 最初のdirで,SoundFontがあるディレクトリを指定する。~ | ||
+ | ''#''は通常はコメントとして処理される。~ | ||
+ | ファイルは,Shift-JISで保存する。~ | ||
+ | |||
+ | ** 変数 [#w968ddf9] | ||
+ | ドル記号''$''に続けて英数字やアンダースコア''_''が続いている場合その文字列は変数と見なされて,設定ファイルを処理する際に別の文字列に置き換えられます。~ | ||
+ | この変数名は後続の文字と区別するために,中括弧付きで表記することもできます。~ | ||
+ | 例:~ | ||
+ | $variable | ||
+ | ${variable} # $variable と同義 | ||
+ | 変数を新たに定義する命令は特に用意されていません。未定義の変数は空文字に置き換えられます。~ | ||
+ | 規定の変数として定義されている変数は,次の1つだけです。~ | ||
+ | $basedir | ||
+ | |||
+ | これは設定ファイルが存在するディレクトリを表します。設定ファイルからの相対パスを指定する目的で使います。~ | ||
+ | ''$basedir''に空白が含まれるかも知れない場合は,""で括る必要があります。~ | ||
+ | |||
+ | 例:~ | ||
+ | ''C:\WinApl\Sound\timidity\timidity.cfg''が,~ | ||
+ | dir $basedir\inst | ||
+ | とした場合は,~ | ||
+ | dir C:\WinApl\Sound\timidity\inst | ||
+ | と解釈される。~ | ||
- | TiMidity++の開発者 出雲氏のサイト: | + | ** 文法 [#p0a9d6c1] |
- | https://www.timidity.jp/ | + | 設定ファイル中には以下の書式が指定出来る。~ |
- | Tuukka Toivonen氏のTiMidityからTiMidity++として開発を引き継いだ。 | + | |
- | TiMidity++ 2.11.3が最終バージョン。 | + | |
- | ここのサイトからはDownload等は出来なくなっている。 | + | |
- | 公式開発サイト? TiMidiTy++ダウンロード: | + | - dir directory [...]~ |
- | https://sourceforge.net/projects/timidity/files/ | + | directoryを探索パスに加えます。加え方は''-L''オプションと同様です。~ |
- | TiMidity++ 2.15.0 TiMidity++-2.15.0-w32.zip(2018-08-29)が最新バージョン。(Driver版は入っていない。) | + | TiMidity++では,アーカイブファイルを音色データのファイルに指定できます。~ |
- | ソースコード TiMidity++-2.15.0-181006-2000.tar.xz,TiMidity++-2.13.2.tar.gz | + | 例: |
+ | dir C:\WinApl\Sound\timidity\inst\foo.zip# | ||
+ | bank 0 | ||
+ | 0 bar.pat | ||
+ | 1 baz.pat | ||
+ | 2 zoo.pat | ||
+ | まずdirで通常のディレクトリのようにアーカイブファイル(上の例ではC:\WinApl\Sound\timidity\inst\foo.zip)を指定します。~ | ||
+ | このときアーカイブファイル名の最後に''#''を付けるようにする。''#''があることでアーカイブファイルであることをTiMidity++は認識するようだ。~ | ||
+ | こうしておくとdirで指定されたアーカイブファイルの中のパッチファイルも読み込み対象になります。~ | ||
+ | 上の例では,foo.zipの中にあるbar.pat,baz.pat,zoo.patが読み込まれます。~ | ||
+ | - source file [...]~ | ||
+ | 他の設定ファイルをその場所に挿入し,続行します。~ | ||
+ | sourceのネストは50段まで可能。~ | ||
+ | - progbase number~ | ||
+ | これ以降,プログラム番号をnumberからnumber+128で設定・表示します。~ | ||
+ | 例えば,progbase 1とした場合は,それ以降プログラム番号は1から128で設定・表示されます。~ | ||
+ | - bank [MapID1] number~ | ||
+ | これ以降,変更するトーンバンクを選択します。~ | ||
+ | これ以後のpatchの対応付けは,指定されたトーンバンクに対して行われます。~ | ||
+ | MapID1にgm2,sc55,sc88,sc88pro,sc8850,xg,xgsfx64 のいずれかを指定することで,特定のマップを対象にできます。~ | ||
+ | - drumset [MapID2] number~ | ||
+ | 変更するドラムセットを選択します。~ | ||
+ | これ以後のpatchの対応付けは,指定されたドラムセットに対して行われます。~ | ||
+ | MapID2にgm2drum,sc55drum,sc88drum,sc88prodrum,sc8850drum,xgdrum,xgsfx126 のいずれかを指定することで,特定のマップを対象にできます。~ | ||
+ | - number file [options]~ | ||
+ | - number %font file bank prog [key] [options]~ | ||
+ | - number %sample file [options]~ | ||
+ | 現在のトーンバンクやドラムセットで,MIDIプログラムナンバーnumberで使用するpatchファイルを指定します。~ | ||
+ | fileがSoundFontの場合は,number %font の書式で特定のbank,prog,keyの音色データを取り出します。~ | ||
+ | fileが無圧縮のWAV形式またはAIFF形式のサンプルファイルの場合は,number %sampleの書式で指定します。~ | ||
+ | ~ | ||
+ | optionsは,次のものが使用可能です。~ | ||
+ | -- amp=amplification~ | ||
+ | インスツルメントのボリュームをamplification%にします。~ | ||
+ | もし値が指定されていない場合,インスツルメントが読み込まれる時に自動的に設定されます。~ | ||
+ | -- note=note~ | ||
+ | インスツルメントを演奏する時に決まったMIDIノート(音階)を使用します。~ | ||
+ | noteを0にすると,最初にNote Onイベントが発生した時点でのノートを使用します。~ | ||
+ | パーカッションインスツルメントに対しては,もし設定ファイルで値が設定されていなければ,patchファイルに入っている値を使用します。~ | ||
+ | -- pan=panning~ | ||
+ | インスツルメントのデフォルトのパンニングを設定します。~ | ||
+ | panningは,''left'',''right'',''center'',あるいは-100から100までの整数値を指定できます。~ | ||
+ | -100が最も左,100が最も右になります。~ | ||
+ | 値が与えられていない場合には,patchファイルに入っている値を使用します。~ | ||
+ | もちろん,MIDIファイル中のパンニングコントロールの方が優先されます。~ | ||
+ | -- tune=tuning[,...]~ | ||
+ | インスツルメントのルート周波数を調整します。~ | ||
+ | tune=1とすれば1半音上がります。~ | ||
+ | tuningには小数が利用可能なので,tune=-0.2などの微調整も可能です。~ | ||
+ | 二つ目以降の引数は音域別に複数のサンプルデータが含まれている場合に,それぞれ別の値を指定できます。~ | ||
+ | -- rate=attack:decay:sustain:release1:release2:release3[,...]~ | ||
+ | インスツルメントのADSRレートを設定するオプションです。~ | ||
+ | 0から255までの値が指定できます。~ | ||
+ | サステインレートだけを補正したい場合など,~ | ||
+ | 6 GUS/hrpschrd.pat rate=::60 | ||
+ | のような特定な設定も可能です。~ | ||
+ | また,アタックタイムを速くしたいだけであれば,~ | ||
+ | 6 GUS/hrpschrd.pat rate=255 | ||
+ | という書き方ができます。~ | ||
+ | 二つ目以降の引数は音域別に複数のサンプルデータが含まれている場合に,それぞれ別の値を指定できます。~ | ||
+ | -- offset=attack:decay:sustain:release1:release2:release3[,...]~ | ||
+ | インスツルメントのADSRオフセットを設定するオプションです。~ | ||
+ | 0から255までの値が指定できます。~ | ||
+ | 書式についてはほぼrate=と同様です。~ | ||
+ | -- keep={loop|env}~ | ||
+ | パーカッションインスツルメントでは,デフォルトでループ情報とエンベロープ情報が破棄されます。~ | ||
+ | またメロディーインスツルメントに異常なエンベロープが存在した場合にも,エンベロープ情報は自動的に破棄されます。~ | ||
+ | ''keep=''を指定することで,ループ情報やエンベロープ情報が破棄されるのを防ぎます。~ | ||
+ | 例えば,Short,Long Whistle パーカッションインスツルメント(General MIDIの71,72 番)に対しては,設定ファイルで''keep=loop keep=env''としておく必要があります。~ | ||
+ | -- strip={loop|env|tail}~ | ||
+ | インスツルメントとして使用するpatchのループ情報やエンベロープ情報やテール(ループの後にあるデータ)をすべて強制的に破棄します。~ | ||
+ | サードパーティーのインスツルメントには,ループの後にゴミが付いているものがあり,インスツルメントを演奏する度にクリッキングノイズが入ってしまうことがあります。~ | ||
+ | その場合,''strip=tail''オプションを指定すれば音質が改善されます。~ | ||
+ | -- tremolo=sweep_increment:control_ratio:depth[,...]~ | ||
+ | トレモロを設定するオプションです。~ | ||
+ | 0から255までの値が指定できます。~ | ||
+ | ''rate=''同様,狙い撃ち設定や不要部分の省略が可能です。~ | ||
+ | ''sweep_increment''は発音してからトレモロが掛かり始めるまでの時間,''control_ratio''は振幅が変化する速さ,''depth''は振幅が変化する深さです。~ | ||
+ | ''rate=''同様,複数のサンプルに対する設定が可能です。~ | ||
+ | -- vibrato=sweep_increment:phase_increment:depth[,...]~ | ||
+ | ビブラートを設定するオプションです。~ | ||
+ | 0から255までの値が指定できます。~ | ||
+ | ''rate=''同様,狙い撃ち設定や不要部分の省略が可能です。~ | ||
+ | ''sweep_increment''は音してからビブラートが掛かり始めるまでの時間,''phase_increment''は周波数が変化する速さ,''depth''は周波数が変化する深さです。~ | ||
+ | ''rate='' 同様,複数のサンプルに対する設定が可能です。~ | ||
+ | -- sclnote=note[,...]~ | ||
+ | インスツルメントのスケールチューニングの基準とするノートを設定します。~ | ||
+ | 例えば,''sclnote=60''とすれば,真ん中のドを中心にスケールチューニングが行われます。~ | ||
+ | 二つ目以降の引数は音域別に複数のサンプルデータが含まれている場合に,それぞれ別の値を指定できます。~ | ||
+ | -- scltune=tune[,...]~ | ||
+ | インスツルメントのスケールチューニングの度合いを''cent''単位で設定します。~ | ||
+ | 例えば,''scltune=50''とすれば,ノート間隔が''50 cent''になります。~ | ||
+ | 二つ目以降の引数は音域別に複数のサンプルデータが含まれている場合に,それぞれ別の値を指定できます。~ | ||
+ | -- comm=comment~ | ||
+ | commentが指定できます。~ | ||
+ | ''#extension comm''と同じ効果です。~ | ||
+ | -- modrate=attack:decay:sustain:release1:release2:release3[,...]~ | ||
+ | -- modoffset=attack:decay:sustain:release1:release2:release3[,...]~ | ||
+ | モジュレーション・エンベロープの変化の仕方を設定します。~ | ||
+ | 設定方法や値は基本的にボリューム・エンベロープと同じです。~ | ||
+ | 一部のSoundFontを除けば,このオプションだけを指定しても何も起こりません。~ | ||
+ | -- envkeyf=attack:decay:sustain:release1:release2:release3[,...]~ | ||
+ | ボリューム・エンベロープ・キーフォローを設定します。~ | ||
+ | ''note=60''を基準として,ノートに従いエンベロープ・タイムを変化させます。~ | ||
+ | 単位は''+-cent/key''です。~ | ||
+ | 例えば''envkeyf=100''と指定すると,1オクターブ上がるたびにアタック・タイムが2倍になります。~ | ||
+ | ''rate=''同様,複数のサンプルに対する設定が可能です。~ | ||
+ | 一部のSoundFontでは,''decay''と''sustain''のパラメータが予め設定されている場合があります。~ | ||
+ | -- envvelf=attack:decay:sustain:release1:release2:release3[,...]~ | ||
+ | ボリューム・エンベロープ・ベロシティフォローを設定します。~ | ||
+ | ''velocity=64''を基準として,ベロシティに従いエンベロープ・タイムを変化させます。~ | ||
+ | 単位は''+-cent/velocity''です。~ | ||
+ | 例えば''envvelf=100''と指定すると,''velocity=127''でアタック・タイムが約38倍になります。~ | ||
+ | ''rate=''同様,複数のサンプルに対する設定が可能です。~ | ||
+ | このオプションは近い将来仕様変更される可能性があります。~ | ||
+ | -- modkeyf=attack:decay:sustain:release1:release2:release3[,...]~ | ||
+ | モジュレーション・エンベロープ・キーフォローを設定します。 | ||
+ | ''note=60''を基準として,ノートに従いエンベロープ・タイムを変化させます。~ | ||
+ | 単位は''+-cent/key''です。~ | ||
+ | 例えば''modkeyf=100''と指定すると,1オクターブ上がるたびにアタック・タイムが2倍になります。~ | ||
+ | ''rate=''同様,複数のサンプルに対する設定が可能です。~ | ||
+ | 一部のSoundFontでは,''decay''と''sustain''のパラメータが予め設定されている場合があります。~ | ||
+ | -- modvelf=attack:decay:sustain:release1:release2:release3[,...]~ | ||
+ | モジュレーション・エンベロープ・ベロシティフォローを設定します。~ | ||
+ | velocity=64 を基準として,ベロシティに従いエンベロープ・タイムを変化させます。~ | ||
+ | 単位は +-cent/velocity です。~ | ||
+ | 例えば modvelf=100 と指定すると,velocity=127 でアタック・タイムが約38倍になります。~ | ||
+ | rate= 同様,複数のサンプルに対する設定が可能です。~ | ||
+ | このオプションは近い将来仕様変更される可能性があります。~ | ||
+ | -- trempitch=num[,...]~ | ||
+ | トレモロに従って,ピッチを変化させる深度を設定します。~ | ||
+ | 効果そのものはビブラートと一緒ですが,別系統で動作させたいときに利用します。~ | ||
+ | 単位は +-cent です。~ | ||
+ | rate= と同様,複数のサンプルに対する設定が可能です。~ | ||
+ | -- tremfc=num[,...]~ | ||
+ | トレモロに従って,フィルタ・カットオフ周波数を変化させる深度を設定します。~ | ||
+ | いわゆる「グロウル効果」を表現できます。~ | ||
+ | 単位その他は trempitch= と同一です。~ | ||
+ | -- modpitch=num[,...]~ | ||
+ | モジュレーション・エンベロープに従って,ピッチを変化させる深度を設定します。~ | ||
+ | アタック時だけ一時的に音程が上がるなどの表現が可能です。~ | ||
+ | 単位その他は trempitch= と同一です。~ | ||
+ | -- modfc=num[,...]~ | ||
+ | モジュレーション・エンベロープに従って,フィルタ・カットオフ周波数を変化させる深度を設定します。~ | ||
+ | 単位その他は''trempitch=''と同一です。~ | ||
+ | -- fc=num[,...]~ | ||
+ | フィルタ・カットオフ周波数の基準値を設定します。~ | ||
+ | 単位は''Hz''です。~ | ||
+ | ''rate=''と同様,複数のサンプルに対する設定が可能です。~ | ||
+ | -- q=num[,...]~ | ||
+ | フィルターのQ(レゾナンス)を設定します。 | ||
+ | 単位は''cB''です。 | ||
+ | ''rate=''と同様,複数のサンプルに対する設定が可能です。 | ||
+ | -- fckeyf=num~ | ||
+ | フィルタ・キーフォローを設定します。 | ||
+ | note=60 を基準として,ノートに従いカットオフ周波数を変化させます。 | ||
+ | 単位は +-cent/key で,例えば100を指定すれば,音程と同じだけ変化します。 | ||
+ | -- fcvelf=num~ | ||
+ | フィルタ・ベロシティフォローを設定します。 | ||
+ | velocity=127 を基準とし て,ベロシティに従いカットオフ周波数を変化させます。 | ||
+ | 単位は +-cent で,SoundFontでは -2400 が固有値として設定されています。 | ||
+ | -- qvelf=num~ | ||
+ | レゾナンス・ベロシティフォローを設定します。 | ||
+ | velocity=0 を基準として,ベロシティに従いレゾナンスを変化させます。 | ||
+ | 単位は +-cB です。 | ||
+ | - default file~ | ||
+ | 他のどこにも設定がないような音に出合った場合,このファイルが代理として発音されます。~ | ||
+ | - map MapID1 from-bank from-prog to-bank to-prog~ | ||
+ | GS/XG各マップのトーン音色として既存のトーン音色を割り当てます。~ | ||
+ | MapID1には,gm2, sc55,sc88,sc88pro,sc8850,xg,xgsfx64が指定できます。~ | ||
+ | - map MapID2 from-drumset from-keynote to-drumset to-keynote~ | ||
+ | GS/XG各マップのドラム音色として既存のドラム音色を割り当てます。~ | ||
+ | MapID2には,gm2drum, sc55drum,sc88drum,sc88prodrum,sc8850drum,xgdrum,xgsfx126が指定できます。 | ||
+ | - 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を逆にメモリ上から廃棄します。 | ||
+ | - font exclude bank [prog [key]]~ | ||
+ | SoundFontの検索を,bank上のprogで行わないように指定します。~ | ||
+ | ドラムの場合はバンクが128でドラムセットがprog,キー番号がkeyになります。~ | ||
+ | - font order number bank [prog [key]]~ | ||
+ | SoundFontの検索順序(上記参照)を,個別に指定するためのものです。~ | ||
+ | 引数の意味は''font exclude''と同じです。~ | ||
- | TWSYNTHプロジェクトのリリースファイルのページ: | + | TiMidity++では,以下の拡張命令があります。~ |
- | https://ja.osdn.net/projects/twsynth/releases/ | + | - #extension altassign program1 program2 ...~ |
- | TiMidity++をシンセサイザモジュールとして使用できるようにしたバージョン。 | + | ドラムセットについて,オルタネートアサインを設定します。~ |
- | WindowsのDriver版も入っているが,Windows10では不安定で使用できない。 | + | drumset 0 |
- | TiMidity-CVS081206_setup_JPN.exe(2008/12/06)が最新バージョン。(Driver版も入っている。) | + | altassign 42 44 46 |
+ | と書くと,drumset 0の42,44,46が排他的に鳴ります。~ | ||
+ | drumset 0で定義されたオルタネートアサインはデフォルトで使用されます。~ | ||
+ | - #extension comm program comment~ | ||
+ | インスツルメント番号 program にコメント''comment''を指定します。~ | ||
+ | ここで設定した''comment''は,''-int''や''-iTt''オプションで起動した時に表示されます。~ | ||
+ | - #extension timeout program second~ | ||
+ | インスツルメント番号''program''で,''second''秒以上サスペンド状態が続いた場合,その音をオフにします。~ | ||
+ | - #extension copydrumset drumset~ | ||
+ | drumset番号の状態すべてを,現在のdrumsetにコピーします。~ | ||
+ | - #extension copybank bank~ | ||
+ | bank番号の状態すべてを,現在のbankにコピーします。~ | ||
+ | - #extension copymap to-MapID from-MapID~ | ||
+ | マップ''from-MapID''に定義されたバンクの状態すべてを,マップ''to-MapID''にコピーします。~ | ||
+ | - #extension HTTPproxy hostname:port~ | ||
+ | HTTPのプロキシを設定します。プロキシのホスト名をhostnameに,ポート番号をportに指定します。~ | ||
+ | - #extension FTPproxy hostname:port~ | ||
+ | FTPのプロキシを設定します。プロキシのホスト名をhostnameに,ポート番号をportに指定します。~ | ||
+ | - #extension mailaddr your-mail-address~ | ||
+ | ユーザーのメールアドレスを,''your-mail-address''に指定します。~ | ||
+ | このメールアドレスは,FTP接続をプロキシを介さずにダイレクトに繋ぐ場合に用いられます。~ | ||
+ | - #extension opt option~ | ||
+ | 起動時のオプションを指定します。~ | ||
+ | - #extension undef progno~ | ||
+ | 現在のバンクのプログラム番号''progno''を未定義にします。 | ||
+ | - #extension legato progno {0|1}~ | ||
+ | ''progno''でレガートを掛ける(1),掛けない(0)を指定します。~ | ||
+ | - #extension level progno tva_level~ | ||
+ | NRPNのDrum Instrument TVA Levelを処理する際,音量を変化させる基準となる値を設定します。~ | ||
+ | 曲中でDrum Instrument TVA Levelが指定されない限り,音量には一切影響しません。~ | ||
+ | あくまで基準値です。~ | ||
+ | prognoは'',''や''[start]-[end]''で一括指定できます。~ | ||
+ | start,endは省略すると,それぞれ0,127と見なされます。~ | ||
+ | - #extension damper progno {0|1}~ | ||
+ | prognoでリダンパー効果およびハーフダンパーを有効にする(1), 無効にする(0)を指定します。 | ||
+ | - #extension playnote progno note~ | ||
+ | ドラムセット音色の出音周波数を''note''とします。~ | ||
+ | GS SysEx Play Noteで出音周波数が指定された場合に,この設定値を元にピッチを適切に変化させます。~ | ||
+ | prognoは'',''や''[start]-[end]''で一括指定できます。~ | ||
+ | start,endは省略すると,それぞれ0,127と見なされます。~ | ||
+ | 例:~ | ||
+ | drumset 0 | ||
+ | #extension playnote -37,39,44-46,55-60 | ||
+ | - #extension delaysend progno level | ||
+ | - #extension chorussend progno level | ||
+ | - #extension reverbsend progno level | ||
+ | ドラムパート・エフェクトがオンの場合のセンドレベルを設定します。~ | ||
+ | 初期値はすべて127ですが,delay,chorus,reverbのどれか一つでも設定されていれば,その音色に設定されていないエフェクトは初期値0になります。 | ||
+ | prognoは'',''や''[start]-[end]''で一括指定できます。~ | ||
+ | start,endは省略すると,それぞれ0, 127と見なされます。~ | ||
+ | - #extension rnddelay progno msec~ | ||
+ | 最大msec以内のディレイを,発音毎にランダムで付加します。~ | ||
+ | ランダム値の分布はホワイトノイズというより,むしろピンクノイズ(1/fゆらぎ)です。~ | ||
- | TiMidity++ (Experimental version): | + | これらの拡張命令は''#''から始まっており,古いTiMidityでは単なるコメントと扱われ無視されます。~ |
- | http://timidity.s11.xrea.com/index.htm | + | これで古いTiMidityとの互換性を保つことがで きます。~ |
- | tm040516.zip(2004/05/16)が最新バージョン。 | + | なお,TiMidity++では''#extension''は空白として扱われるようになっています。~ |
- | 他に,設定ファイル等がある。 | + | |
- | TiMidity BW版: | + | TiMidity++の設定ファイル(*.cfg)中のsourceの引数にUNIXのコマンドからの出力を利用できます(UNIX のみ)。~ |
- | http://bluewing.usamimi.info/timidity/index.php | + | ファイル名の最後に''|''(ASCII 0x7c)を記述するとUNIXコマンドとみなされ,そのコマンドの出力が''source''の引数になります。 |
- | timidity_bwv_20120103_vc9_x32.zip,timidity_bwv_20120103_vc9_x64.zip(2012/01/03)が最終バージョン。(32bit/64bit Driver版も入っている。) | + | source command| のようにすると,''command''の出力がsourceの引数になります。~ |
+ | 環境によってTiMidity++の設定を選択したい場合などに便利です。 | ||
+ | なお,command | のように,途中にスペースが入ると,設定ファイル読み込み時に区切られてしまい,コマンドと見なされなくなってしまいます。 | ||
+ | この機能はファイル名を指定できるすべての場所に適用できます。 | ||
+ | timidity 'cat fild.mid|' | ||
+ | は,cat fild.midの出力結果から読み取ります。 | ||
- | TiMidity++ 41版: | + | //* 参考サイト |
- | https://ja.osdn.net/projects/timidity41/ | + | //https://yppts.adam.ne.jp/music/timidity.html |
- | TiMidity++の非公式フォーク。 | + | |
- | tim41.4.3.zip(2020/05/20)が最新バージョン。(32bit,64bit版あり。Driver版は入っていない。) | + | |
- | ソースコード(https://ja.osdn.net/projects/timidity41/scm/git/timidity41/) | + | |
- | TiMidity++ 設定ファイル詳解: | + | * リンク [#h414b402] |
- | http://timidity.s11.xrea.com/files/doc-cfgj.htm | + | - ''本家 Tuukka Toivonen氏のサイト''~ |
+ | https://sca.uwaterloo.ca/sca/www.cgs.fi/tt/timidity/ (アーカイブ)~ | ||
+ | ソースコード timidity-0.2i.tgz をリリース後開発終了。~ | ||
+ | - ''TiMidity++の開発者 出雲氏のサイト''~ | ||
+ | https://www.timidity.jp/~ | ||
+ | Tuukka Toivonen氏のTiMidityからTiMidity++として開発を引き継いだ。~ | ||
+ | TiMidity++ 2.11.3が最終バージョン。(GUI版とコンソール版)~ | ||
+ | ここのサイトからはDownload等は出来なくなっている。~ | ||
+ | - ''公式開発サイト TiMidiTy++''~ | ||
+ | [[出雲氏のTiMidity++を引き継いで開発している?>https://timidity.sourceforge.net/]]~ | ||
+ | ダウンロードは,https://sourceforge.net/projects/timidity/files/ から出来る。~ | ||
+ | TiMidity++ 2.15.0 TiMidity++-2.15.0-w32.zip(2018-08-29)が最新バージョン。(GUI版とコンソール版)~ | ||
+ | - ''TWSYNTHプロジェクトのリリースファイルのページ''~ | ||
+ | 末永さんが開発されている https://ja.osdn.net/projects/twsynth/releases/~ | ||
+ | TiMidity++から発音部を独立させたシンセサイザモジュールとして使用できるようにしたバージョン。~ | ||
+ | WindowsのMIDI Driver版も入っているが,デジタル署名がないのでWindows 10だとインストールが面倒。~ | ||
+ | TiMidity-CVS081206_setup_JPN.exe(2008/12/06)が最新バージョン。(GUI版,コンソール版,音源モージュール版,MIDI Driver版)~ | ||
+ | vorbis,flac出力対応。~ | ||
+ | - ''TiMidity++ (Experimental version)''~ | ||
+ | SaitoさんのTiMidity++の試験版。http://timidity.s11.xrea.com/index.htm~ | ||
+ | tm040516.zip(2004/05/16)が最新バージョン。(GUI版,コンソール版,音源モージュール版)~ | ||
+ | 他に,役立つ設定ファイル等がある。~ | ||
+ | - ''TiMidity BW版''~ | ||
+ | 公式開発版の独自カスタマイズバージョン? http://bluewing.usamimi.info/timidity/index.php~ | ||
+ | timidity_bwv_20120103_vc9_x32.zip,timidity_bwv_20120103_vc9_x64.zip(2012/01/03)が最終バージョン。(GUI版,コンソール版,音源モージュール版,MIDI Driver版)~ | ||
+ | VST対応。~ | ||
+ | MIDI Driver版はデジタル署名されていないためWindows 10だとインストールが面倒。~ | ||
+ | - ''私家版 TiMidity++ for Windows Vista''~ | ||
+ | ytaさんのTiMidity++にBW版他の独自カスタマイズされたバージョン。http://www.maroon.dti.ne.jp/yta/win32utl/timiditypp/~ | ||
+ | tim181027(2018-10-27)が最新バージョン。(GUI版,コンソール版,音源モージュール版,MIDI Driver版)~ | ||
+ | vorbis,flac,speex,opus出力,ASIO対応。VST対応。~ | ||
+ | MIDI Driver版はデジタル署名されていないためWindows 10だとインストールが面倒。~ | ||
+ | [[KbMedia Player>https://kobarin.sakura.ne.jp/]]のプラグイン版もある。~ | ||
+ | - ''TiMidity++ 41版''~ | ||
+ | starg2さんのTiMidity++の非公式フォーク。~ | ||
+ | https://github.com/starg2/timidity41/~ | ||
+ | https://ja.osdn.net/projects/timidity41/~ | ||
+ | version 41.7.2(2024-03-16)が最新バージョン。(GUI版,コンソール版,音源モージュール版)~ | ||
+ | vorbis,flac,speex,opus出力,ASIO対応。VST対応。~ | ||
+ | - ''TiMidity++ 設定ファイル詳解''~ | ||
+ | http://timidity.s11.xrea.com/files/doc-cfgj.htm~ |