Last updated on 11/20/2015 01:50:47
- 長野大介さん
(nagano@i.kyushu-u.ac.jp)
による skin データの GUI を利用したインターフェースを追加しました。
skin データは
http://www.x11amp.bz.nu/skins.html
などから入手できます。
- 竹川 視野 (sian@big.or.jp) 氏により
configure によるインストールを可能にしました。
- 青木大輔氏 (dai@y7.net) による Windows
のコンソール版 WRD を追加しました。
- 渡辺尊紀さん (takawata@shidahara1.planet.kobe-u.ac.jp)
による X Window 版 WRD を追加しました。-Wx オプションで WRD ファイル付きの
MIDI ファイルを演奏すると、WRD Window が現れます。WRD ファイルは、MIDI
ファイルと拡張子を除いた部分が同じ名前にならなければ認識されません。
なお、WRD は trace モードで実行しないとタイミングが合いません。
- 今井邦彦さん (imai@leo.ec.t.kanazawa-u.ac.jp)
による Noise Shaping Filter
の追加.以下,今井さんからの説明の一部を転載:
Noise Shaping Filter により 8 bit linear 出力時の decay
での歪みが改善されます.が,ノイズが高域にシフトし聴感上のノイズも
増えるので,コマンドラインでスイッチできるようにしてあります.
オプションは
-n 0|1|2|3|4
です.後ろの数値は noise shaping filter の次数を表します.
0 = フィルタ無しです.2 ぐらいが妥当なところだと思います.
- 以下のマップに対応しました.
SC-55 Map, SC-88 Map, SC-88Pro Map, XG-Normal, XG-SFX Voice, XG-SFX Kit,
XG-Drum kit
各マップに対応するパッチの定義は,設定ファイル (*.cfg) で map コマンドを
用いて,既存のパッチ番号を用いて定義されます.
例えば XG 用の設定は xgmap.cfg のように
なります.
注1:
システムエックスクルーシッブメッセージのない MIDI ファイルは,
GS か XG かを認識できないため,これらのマップは認識できません.
この場合,コマンドラインオプションでモードを指定する必要があります.
オプションに -Emgs と指定するとデフォルトで GS モード,
-Emxg とするとデフォルトで XG モードで演奏します.
なお,GS リセット,XG システムオン,GM システムオン/オフにより,
システムのモードは演奏時に切り替わります.そして,これらの命令は
TiMidity 内部の演奏状態も初期化します.
注2:
map の記述フォーマットは今後変更されるかもしれないので,注意して
おいてください.本バージョンの map 定義フォーマットはテストバージョン
であり,何か不都合があれば変更,あるいは拡張される可能性があります.
- -I n/c と -I オプションで指定するデフォルトプログラム番号
に続けて「/c」をつけると,チャネルパート c のデフォルト
プログラム番号を n とするようにしました.
「/c」を省略すると,全チャネルのデフォルトプログラム番号が
n になります.
- MIMPI の WRD ファイルに対応.ただし,現在はまだテスト段階で,
端末に WRD のコマンドを表示するのみです.-Wd オプションをつけて
実行すると,WRD ファイルを読み込み,そのコマンドと歌詞を表示します.
トレースモード時では,演奏と表示の同期をとります.
#タイミングの取り方が,なんか怪しい.
- Module file が演奏できるようになりました.ただし,*.mod ファイルのみ
サポートしており,基本的な命令しか対応していません.一部の Effect しか
サポートされていないため,変な感じになる可能性があります.
- GS システムエクスクルーシッブメッセージによるキーシフトをサポートしました.
- GS/XG において,演奏中のドラムパートの変更命令に対応しました.
- 起動時に,-EBn オプションでパッチのバンクを指定できるように
なりました.例えば -EB127 とすると,全てのチャネルでバンク 127
のパッチが用いられます.n を省略し,-EB とすると,
デフォルトの動作になります.
また,-Ebn とすると,デフォルトのバンクを n に
設定します.-EBn と異なり,MIDI の Bank Select 命令により
バンクが変更されます.-Eb で元に戻ります.
- cfg ファイルに
progbase 1
と記述すると,この命令以降,プログラム番号が 1~128 で設定,
表示するようになります.
- Windows 用に -w <mode> オプションを追加しました.
・-w r rcpcv.dll を使用します.
・-w R rcpcv.dll を使用しません(デフォルト).
- アーカイブファイルをパッチセットにすることができるようになりました.
例:
dir /usr/local/lib/timidity/inst/foo.zip#
bank 0
0 bar.pat
1 baz.pat
2 zoo.pat
まず,dir で通常のディレクトリのようにアーカイブファイル (上の例では
/usr/local/lib/timidity/inst/foo.zip)
を指定します.このとき,アーカイブファイル名
の最後に # をつけてください.この # があることで,アーカイブファイルで
あることを TiMidity は認識します.こうしておくと,dir で指定された
アーカイブファイルの中のパッチファイルも読み込み対象になります.
上の例では,foo.zip の中にある bar.pat, baz.pat, zoo.pat が読み込まれます.
- 複数の soundfont file を利用できるようになりました.
後で定義された soundfont が優先されます.
- *.cfg の
soundfont
のオプションに remove を指定すると,
指定されているファイルを未定義にします.
- Netscape MIDI Plugin (ump.so) をアーカイブキットに含めました.
ump.so の作り方とインストール
オリジナルに一部修正を加えています.
- 環境変数
TIMID_INTERFACE
により,
インターフェースが設定できます.例えば (csh)
setenv TIMID_INTERFACE k
とすると,プラグインに Tk のインターフェースが利用できます.
- 環境変数
TIMID_RATE
により,
サンプルレートが設定できます.例えば (csh)
setenv TIMID_RATE 44100
とすると,プラグインで 44100 Hz のレートで演奏できます.
- レコンポーザ形式(RCP)に対応しました.
RCP, R36, G18, G36 が演奏可能です.
ただし,まだ十分にテストしていないため,一部の機能にはバグがある可能性
があります.
- 32 チャネル対応になりました.config.h のパラメタを修正すれば最大 256
チャネルまで増やせます.SMF では Meta Event 0x21 (Port number) を用いる
ことより 16 チャネルを越える MIDI ファイルができます.この Port number
に対応しました.また,TiMidity インターフェースでは 16 チャネルまでしか
表示できないため,可能な限り
チャネルを移動して 16 チャネルに収まるように処理しています.
- リアルタイムパッチローディング
-j オプションで起動すると,音色パッチを演奏時に読み込みます.パッチを
すべて読み込まないうちに演奏が開始されるので,演奏が開始される時間が
短縮されます.ただし,パッチの読み込み中に演奏が途切れることがあります.
- NetNews 対応.形式は以下の通り.
news://news-server[:port]/Message-ID
news://news-server[:port]/newsgroup[/first-last]
newsgroup を指定すると,そのグループに投稿されている MIDI ファイルを
演奏します.
- MIME 形式ファイルに対応.
news://~で指定したファイルは MIME の Multi Part を認識し,そこに
投稿されている MIDI ファイルを展開して演奏することができます.また
通常のファイルであっても,*.mime という拡張子で保存するか,
あるいは,ファイル名に「mime:」というプレフィックスを指定して入力すると
MIME を認識します.現在以下のフォーマットが認識できます.
- uu-encoded file (begin という文字から始まっている行がなければならない)
- base64 encoded (Content-Transfer-Encoding: base64 が必要)
- quoted-string (Content-Transfer-Encoding: quoted-string が必要)
- Mac BinHex format (HQX のみ対応)
- ファインチューニング (RPN 0,1) とコースチューニング (RPN 0,2) をサポート
しました.
- NetBSD に対応(多分).
audriv_sun.c を NetBSD に対応させてみましたが,正常動作するかどうか
試すマシンがないので,まだ動作するかどうか分かりません.もし,動作を
確認した人がいましたら,是非,連絡ください.細かいワーニングとかでも
いいです.どう修正すればいいか教えて頂けるともっとありがたいです.
- -iN インターフェースで,セーブ機能を実現しました.
'S' キーで現在演奏中の
曲を他のファイルにセーブすることができます.
- -iN モードで ^U キーを入力することで,
コントロールの変化の量を変えることが
できるようになりました.Emacs のプレフィックスコマンドと似た働きをします.
^U キーを押す度に,変化の度合いが 2 倍になります.
^U 以外のキーが押された場合は,このプレフィックスは初期化され,
変化量は元に戻ります.
- バンクやプログラム番号が異なっていても,パッチファイルとそのパラメタが
同じであれば,そのデータ領域を共有してメモリを節約するようにしました.
- *.cfg の
#extension
を追加
#extension undef progno
と書くと,現在のバンクのプログラム番号progno
を
未定義にします.
- GS reset に対応しました.
- -iN インターフェースで,'
D
' キーでも演奏中に
ドラムチャネルを指定できるようにしました.
- Windows では rcpcv.dll を用いて rcp, r36, g36 が演奏できます.
青木大輔さんによって追加された機能です.
- 同一音が重っても,ただしく発音するようにしました.
同一音の NoteOn -> NoteOff が重なっても,古い Note の音は消えません.
ただし,NoteOff 後の同一音の NoteOn が発生した場合には,NoteOff された
音は即消えます(正確には,(VOICE_OFF|VOICE_SUSTEINED) を VOICE_DIE にする).
もしかしたら,不都合のある場合があるかもしれないので,-EO
オプションでオリジナルの TiMidity と同じように,同一音の古い Note は
即消えるようなモードで実行することができるようにしました.
- システムエクスクルーシブから XG と認識できた MIDI ファイルでは,
ドラムチャネルを自動認識するようにしました.
- KAR(Karaoke フォーマット,拡張子は *.kar)
の歌詞をトレースするようにしました.
Lyric Meta Event と同じように表示されます.
- NRPN コントロールイベントからドラムチャネルを推測し,
自動選択するようにしました.
- Reverb/Chorus は非常に CPU パワーを必要とします.同時発音数の多い曲は
リアルタイムで演奏することは困難です.そのため,デフォルトではこの機能は
有効にならないようになっています.
以下のオプションで有効/無効になります.
-Er Reverb Control を有効にする.
-ER Reverb Control を無効にする.
-Ec Chorus Control を有効にする.
-EC Chorus Control を無効にする.
(バージョン +W2 になって,多少 Reverb Control まわりの処理が高速になって,
SGI/O2 で 22kHz ステレオでもなんとか処理が追い付く程度になりました.
バージョン +X8 ではさらに Reverb Control まわりの処理が高速になって,
SGI/O2 で 32kHz ステレオでも処理が追い付く程度になりました.)
- Chorus Control MIDI 命令に対応しました.
(バージョン +W3 になってずいぶん音がよくなりました.
バージョン +W7 になって Chorus の音の感じが広がってさらに
良くなりました.)
- Reverb Control MIDI 命令に対応しました.
詳しくは http://w3mb.kcom.ne.jp/~mkiryu/ をご覧ください.
- Vibrato (NRPN:MSB=1,LSB=8~10) に対応しました.
実は,この NRPN データの値の解釈も分からなくて勘です.
なんとなく Vibrato rate が怪しいです.ちょっと実際の音とはレートが遅いかも
しれません.だれか計算の仕方を知っている人がいましたら,教えてください.
- Data entry +/-1 コントロールイベントに対応しました.
- Drum Panning (NRPN:MSB=28) に対応しました.
- GS のシステムエクスクルーシブメッセージ Random Panning に対応しました.
まだ,この Random Panning の使われている MIDI ファイルを見かけたことが
ないので,正しく動作しているかどうかは分かりません.
- GS/GM のシステムエクスクルーシブメッセージ Master Volume
に対応しました.
曲のフェードアウトなどに用いられています.
- システムエクスクルーシブメッセージ Text Insert を表示するように
しました(Only Roland SC-series ?).
- Portamento (ポルタメント,滑らかに音を移動させる MIDI の命令)
をサポートしました.
ただし,この Portamento time の値の解釈が分からないので,
音と音への移動時間は適当に勘をたよりに実装しました.
分かる人は教えてください.
- Channel Pressure イベントをサポートしました(-Es オプションで有効になります).
- Mono/Poly チャネルモードの切り替えコントロールに対応しました.
- Modulation Wheel コントールイベントに対応しました.
ただし,実際の方法が分からなかったので勘で実現しています.
もし Modulation Wheel のパラメタの意味を知っておられる方が
いらっしゃいましたら是非その計算方法を教えてください.
- Ncurses インターフェース(-iN) において,演奏するファイルをジャンプ指定する
機能を追加しました.(`J' を押すとジャンプモードになる)
- Ncurses インターフェース(-iN) において,ファイルをロードする機能,および
そのファイル名を入力するためのリスト表示や補完の機能を追加しました.
`L' を押すとファイル入力モードになります.このとき,TAB で補完,Enter
キーで決定です.^G または ESC でキャンセルです.
- コーラス初期化後に記述されているテキストを Lyrix
のように扱うようにしました.
- PAGER 環境変数を設定しておくと,help 表示に PAGER
が用いられるようにしました.(UNIX のみ)
- 青木大輔さん作「curses インターフェースにおいて
タイトル一覧を表示してファイルを選択演奏できる」機能をインターフェース
`N' に組み込みました.この機能は
jp-tim0.2i-p4.diff.gz
が元になっています.組み込みの際,インターフェースコマンドを一部変更
しました.
'g' = Open sound spectrogram window
's' = Toggle pause
Space = Select and play
となっています.
- コマンドライン引数から,出力テキストコード(日本語)を -t オプションで指定
できるようにしました.以下のオプションが有効です.
-t AUTO - Auto conversion (Using LANG environment)
-t ASCII - Convert unreadable characters to '.'(0x2e)
-t NOCNV - No conversion
-t EUC - EUC
-t JIS - JIS
-t SJIS - shift JIS
- 原田智和
harada@prince.pe.u-tokyo.ac.jp
さんによる X Athena Widget を用いたインターフェースの追加.
ランダム演奏が嬉しいです.
- 青木大輔さんによるパッチ
jp-tim0.2i-p4.diff.gz
を元に,日本語表示を可能にしました.
(ncurses で日本語を表示させるには,日本語をサポートしている ncurses
バージョンが必要)
- MIDI Lyric イベントをサポートしました.
Lyric イベント付の MIDI を演奏すると,歌詞が表示されます.
dir:
directory あるいは directory/
をファイル名に指定すると,directory 内全てのファイルを指定できます.
たとえば,
timidity some/where/
と起動すると,some/where/
ディレクトリ内全てのファイルが
演奏されます.
- BSD/OS 2.0 Sound Blaster の音源に対応しました.
(from 山手圭一郎
keiich-y@is.aist-nara.ac.jp)
- 設定ファイル (*.cfg) に以下の拡張命令を追加しました.
#extension comm program comment
Instrument 番号 program にコメント comment を指定します.
ここで設定した comment は -iNt や -iTt オプション
で起動した時に,インジケータラインに表示されます.
General MIDI Instrument 用の設定は
ここ
を参考にしてください.
#extension timeout program secound
Instrument 番号 program が secound 秒以上 Suspend 状態
が続いた場合,その音をオフにします.
#extension copydrumset drumset
drumset 番号の状態すべてを現在の drumset にコピーします.
#extension copybank bank
bank 番号の状態すべてを現在の bank にコピーします.
#extension HTTPproxy hostname:port
HTTP の proxy を設定します.proxy のホスト名を hostnameに,
ポート番号を port に指定します.
#extension FTPproxy hostname:port
FTP の proxy を設定します.proxy のホスト名を hostnameに,
ポート番号を port に指定します.
#extension mailaddr your-mail-address
ユーザのメールアドレスを your-mail-address に指定します.
このメールアドレスは
FTP 接続を proxy を介さずにダイレクトに繋ぐ場合に用いられます.
#extension opt [-]{option}[optarg]
起動時のオプションを指定します.
これらの拡張命令は #
から始まり,古い TiMidity では
単なるコメントと扱われ無視されるため,古い TiMidity
と互換性を保つことができます.
- TiMidity の設定ファイル (*.cfg) 中の source の引数に UNIX のコマンド
からの出力を利用できるようになりました(UNIX のみ).ファイル名の最後に
|
(ASCII 0x7c) を記述すると UNIX コマンドとみなされ,
そのコマンドの出力が source の引数になります.
source command|
のようにすると,command の出力が source の引数になります.
環境によって TiMidity の設定を選択したい場合などに便利です.なお,
command|
の途中にスペースが入ると,
設定ファイル読み込み時に
区切られてしまい,コマンドと見なされなくなってしまいます.
この機能はファイル名を指定できる全ての場所に適用できます.
timidity 'cat fild.mid|'
は cat fild.mid
の出力結果から読み取ります.
- TiMidity の設定ファイル (*.cfg) に記述したパラメタを,-x
オプションにより,コマンドライン上から変更して実行できるようにしました.
例えば
timidity -x 'bank 0\n0 violin.pat' file.midi
のようにすると,ピアノの音をバイオリンの音に変えて演奏することができます.
-x に続く文字列中の \
(ASCII 0x5c)
は特別文字として扱われます.
C 言語の文字列リテラルと同じ展開が行われ,
\n
は改行を意味します.
- 以下のアーカイブファイルから MIDI
ファイルを解凍しながら読めるようにしました.
- tar ファイル (*.tar)
- tar + gzip'ed ファイル (*.tar.gz, *.tgz)
- zip ファイル (*.zip)
- lzh ファイル (*.lzh)
(lh0, lh1, lh2, lh3, lh4, lh5, lh6, lzs, lz5, lz4 対応)
アーカイブファイル中の個々のファイルを指定するには,アーカイブファイル名の
後に続けて #
を記述し,その後に続けて
アーカイブ中のファイル名を指定します.
#
の後は
UNIX shell の正規表現のパターンに
なっています.ただし,UNIX shell の正規表現とは少し異なり,大文字/小文字
は区別されません.
例:
timidity 'file.zip#file.mid'
file.zip 中の file.mid ファイルを演奏します.
timidity 'file.lzh#*.mid'
file.lzh 中の *.mid にマッチするファイルを演奏します.
timidity 'file.tgz#*'
これは timidity 'file.tgz'
と等価です.
これらは自前で解凍していますので,Windows
でもこれらのファイルが読めると思います(未確認).
- gzip ファイル(*.gz)
を自前で展開しながら読み込めるようにしました.
Windows でも *.gz ファイルが読めると思います(未確認).
- G.711 A-Law 8-bit フォーマットをサポートしました.-O?
オプションに続けて A をつけることにより指定できます.例えば,
timidity -OuA -o output.au file.mid
のようにすると A-法則の Sun audio file が出力されます.
- Sun Audio file(*.au) と
AIFF file(*.aiff)
を出力できるように
しました.以下のオプションで指定できます.
-Ou Sun audio file format (*.au)
-Oa SGI AIFF file format (*.aiff)
- パッチファイルを読み込んでいる処理の途中でも MIDI ファイルの
変更ができるようにしました.オリジナルの TiMidity では
全てのパッチファイルを読み込み終えないと一度選んだ MIDI ファイルは
変更することができませんでした.例えば
timidity -in *.mid
のように実行して,前半部分をスキップするのに多くの時間を浪費して
いました.新しいハックバージョンでは,全てのパッチファイルを
読まなくても次の MIDI ファイルに移行することが可能となっています.
- -in, -iN, -iTモードで MIDI ファイルを複数
指定して実行したとき,途中の MIDI ファイルが壊れてて,読み込みエラー
を起こすと,エラーのあったファイルから Back できないというバグを
直しました.オリジナルの TiMidity では
timidity -in a.mid b.mid c.mid
と起動した場合,b.mid にエラーがあると c.mid から Back できなく
なってしまい,a.mid が演奏できなくなるというバグがありました.
- -in, -iN, -iTモードにおいて,
'g' キーでサウンドスペクトログラムウィンドウを開け閉めできるように
しました.
- サウンドスペクトログラムウィンドウ内で,左右のキーを用いて
スペクトログラムの描画更新時間を変更できるようにしました.
- Mac バイナリの MIDI ファイルに対応しました.
- Emacs 上で M-x timidity により起動される Emacs 用の
インターフェースを追加しました.
- -in, -iN, -iTモードにおいて,
ドラムチャネルを演奏時に変更できるようにした.
'c', 'C' キーでチャンネルを選び,
'd' キーでドラムチャネルを変更します.
- 頻繁に用いられる Sample を予め Resampling してキャッシュするように
しました.演奏時,キャッシュされている Sample は Resampling
処理をしなくてもコピーするだけですみます.数 % くらい処理
速度が向上しました(思ったほど高速化しなかった).
キャッシュは MIDI ファイルを読み込むたびに作りなおします.
なお,有限のキャッシュサイズ内で
キャッシュ使用率が最大になるように Sample を選ぶ場合,NP 完全の問題
になります.そこで,最適解ではなく,ある程度 *良い* 解を
O(n log n) で得るように実装しています.MIDI ファイルに
よってヒット率は大きく異なりますが,20 ~ 80 % 程度のキャッシュ使用率です.
- サウンドスペクトログラムウィンドウ内で,カースルキーの上下を使って
ズーム位置を変更できるようにしました.
- -in, -iN, -iTモードにおいて,
'O' キー(大文字のオー)で voices の上限を増加
'o' キー(小文字のオー)で voices の上限を減少
するようにしました.
- -in, -iN, -iTモードにおいて,
'>' で演奏をスピードアップ
'<' キーで演奏をスピードダウン
するようにしました.約 6% 単位でスピードが変化します.
- -in, -iN, -iTモードにおいて,
'+' キーでピッチの高さを上げる
'-' キーでピッチの高さを下げる
ようにしました.ピッチは半音単位で上げ下げできます.
- URL で指定した MIDI ファイルを演奏できるようにしました.
「
http://
」と「ftp://
」が使えます.例:
timidity http://www.goice.co.jp/member/mo/hack-progs/files/4seasons.mid
の様に,ネットワークを介して MIDI ファイルを演奏できます.
同様に,*.cfg ファイル内で URL を指定すればリモートのパッチファイルを
利用することもできます.
- Audio のサポートされていないマシン用に対応
基本的な Audio 操作を擬似的にサポートした audriv_none.c を
追加しました.
- 松本庄司さん作「うそうそりばーぶ」の取り込み
-R [0~3] オプションで有効になります.Release Envelope を修正して
ホールのような感じを出すことができます.
- ダイナミックリンクインターフェースの作成
シェアードライブラリ形式 (*.so) の TiMidity インターフェースを
実行時にリンクして利用できるようにするモードを作成しました.
-i オプションで指定したインターフェースが定義されて
いなければ,TiMidity のライブラリの中からインターフェースが定義されて
いるライブラリをダイナミックリンクして利用できるようになりました.
IRIX 6.3 のみ,動作確認をしています.その他,SunOS/Solaris, OSF1,
Linux, BSD, HPUX, Windows でも動作可能だと思いますが,テストして
いないので make 一発じゃ動作しないかもしれません.
誰かテストした人がいれば報告してください.
このダイナミックリンクインターフェースを作成した理由は,timidity 本体が
大きくなり,全てのインターフェースをリンクすると,1~2 M くらいになって
しまい,プログラムの読み込みに時間がかかってきたからです.NFS の重い
環境では,プログラムの読み込みに 10~20 秒もかかってしまうところも
あります.そこで,一部のインターフェースを timidity 本体から切り放し,
必要なときのみダイナミックリンクで使用できるようにしました.
- MIDI サウンドスペクトログラムモードを作成(X Window 版のみ)
サウンドスペクトログラムとは声紋のようなものだと思ってください.
こんな感じの Window がでてきます.(SoundSpectrogram.jpg, 146K)
パワーのあるマシンなら -g0.02
パワーがいまいちのマシンなら-g0.1
というオプションをつけて実行してみよう.
-gオプションの値は,サウンドスペクトログラムの更新時間です.
IRIX, DEC(MMS), SunOS/Solaris では表示と音の出力の同期をとる
トレースモードに対応しています.
- 小柳雅明さん作「TiMidity が GS 音源の各チャネルの
ノーマルモード、ドラムモード切替えのシステムエクスクルーシブ
メッセージに対応」の関数 GS_Drum_Part_Check() の組み込み.
- MIDI ファイル読み込み時の malloc/free の回数を激減させました.
- tk インターフェスに,音がでるのと描画との同期をとるトレース
をサポートしました.
- 木竜雅樹さんによる
TiMidity 用疑似リバーブ・パッチの組み込み
(-r オプションで有効になるように修正).
- 岩井隆さんの
Trace mode extension to Tk interface/SoundFont file extension patch level 1
の組み込み.
組み込む際に変更した点
- 以下のユーティリティプログラムを追加しました.
- lsmidiprog
midi ファイルが参照している patch の番号のリストを表示します.
- lspatch.pl
*.cfg が利用している patch ファイルのリストを表示します.
例えば,
lspatch.pl timidity.cfg
と実行すれば,TiMidity が使っている全パッチのリストを見ることが
できます.
- mididump
MIDI ファイル(*.mid) のコードを見える形で表示します.
- patinfo
パッチファイルの情報を表示します.
実は,このコマンドを使って,パッチファイルの何 byte 目に~が
ある...ってことを調べて,そのバイト位置の値を書き換えて,
patch ファイルを修正したりしています.
コマンドライン上から実行出来るってのがミソで,
ある MIDI 音源のデータを GUS/patch に自動変換するのに
便利だったりします.
- 個人用の設定を ~/.timidity.cfg に記述できるようにしました(UNIX のみ).
TiMidity が起動時に読み込む timidity.cfg の設定を ~/.timidity.cfg で
上書きできます.TiMidity を複数のユーザで共有して利用する場合に,
個人用の設定が可能なのでとても便利です.
- Toggle Pause 機能を実現させました.
ncurs_c.c を読みと分かると思いますが,RC_TOGGLE_PAUSE がコメントアウト
されてて,実現しようとして実現されてないことが分かります.
というわけで,この Toggle Pause 機能を実現しました.
- イアホンやヘッドホンで聞いた時に,臨場感あふれるようになるように
Hack しました.以下のオプションで,有効になります
-bl 主に左から音が聞こえてきます.
-br 主に右から音が聞こえてきます.
-bb ときどき,左右の音場が変化します.
-bc この機能は無効になります.
- いくつかのオリジナルの TiMidity の
バグを FIX しました.
- トレースモード時に,時間と表示の同期をとるように,
一部の新しいインターフェースに組み込みました.
楽器が ON となると同時に,そこにマークが表示されます.
- 新しいインターフェースの追加:
Yet another curses バージョン(-iNt オプション)と
VT100 用(-iTt オプション)
- IRIX 5.3/6.3 に移植しました.
- DEC(MMS) では,音がプツプツ途切れるので,共有メモリのブロックを
複数持ち,バッファリングすることで音が途切れないようにしました.