コマンドラインとは

←Back

◇Windows以前のMS-DOS時代は全てがコマンドラインで記述されていました。現在もDOSモードとして機能する事が可能です。しかし、それは単なるDOS時代の名残ではなく、BATファイルによる自動実行が可能というWindowsでは出来ない特技を持つのです。

◇実行できるのはコマンドラインで動くものだけ。Windows専用アプリは不可です。

◇BATファイルはテキストファイルです。拡張子がBATである事で認識されます。専用の作成ソフトがあるわけではなく、エディター類(メモ帳)で作成します。

◇BATファイル内では様々は命令文がありますが、ここでは、それを理解する必要はありません。1行で1命令という決まりで、コマンドライン実行ソフトと、そのソフトに対する命令文をスペースを挟んで記述します。

◇1行1命令という事で、複数のソフトを連続して実行する事が、非常に便利な機能なのです。

◇コマンドライン用の実行ソフトとBATファイルは、Sound Fontと同じフォルダに入れてください。複数のフォルダで作業したい場合は、フォルダごとに実行ソフトとBATファイルを置きます。つまり、命令が及ぶ範囲がフォルダ内に限られます。
(PATH指定場所にという方法もありますが難しくなるのでスキップ)

 

 

SF2LOAD
http://www.hammersound.net/hs_software.html

Sound FontをPCに読み込むのは通常、SoundFontコントロール-AudioHQを使って、それぞれのバンクに割り当てます。
このソフトはコマンドラインで同じ事をします。

何故コマンドライン?
複数のsf2を連続して読み込めるからです。
どんなsf2が現在PC上に読み込まれているのかは、BATファイルの中身、という事になります。後日、あの時の状態に、というときは、このBATファイルを実行するだけです。
たった一つしか読み込まない場合でも、一発クリックで、メモリ内を消去、新たにSound Font設定ができるので便利です。

(注)Bank 0 の指定ができませんでした。 Bank 1 から指定できます。

 

それではBATファイル内の1行記述の方法を..

記述:

SF2LOAD [<option>] [<bank number> <soundfont filename>]

【例】
SF2LOAD 3 TEST.sf2
------------------------------------
SF2LOAD : 実行ファイル名。
3 : バンクナンバー。
TEST.sf2 : ロードするSound Fontファイル。

------------------------------------

それぞれは、必ずスペースで区切ります。
ファイル名を例えば、test.bat のようにして保存すれば完了。
拡張子がBATである事以外制約はありません。Windows上でBATファイルをクリックするなら、ファイル名8文字という制約もありません。
これでロード完了です。

現在読み込まれているものを消去するなら、

SF2LOAD -c 3

以下の3つの文ですね。

SF2LOAD
-c
3

(注)これ以外にsf2ファイル名などを記述するとエラーになります。

 

全てを消去する
SF2LOAD -C

大文字のCだけを−の後に記述で、全てクリアされます。
Sound Blaster−Aのみ、B側は、そのまま生きています。
 

 

バンク3を消去して、新たにSound Fontをバンク3に入れる場合は、SF2LOADを2回実行することになります。BATファイルで自動実行するなら、2行で記述すればよいわけです。

SF2LOAD -c 3
SF2LOAD 3 TEST.sf2

となります。

 

コマンドライン・オプションは以下の通り。取敢えず必要なものは色違いで。

-h
Help

-d <filename>
Create a bat-file for loading all soundfonts currently in memory. Use full pathnames.

-dist <filename>
Create a bat-file for loading all soundfonts currently in memory. Use filenames only (suitable for distribution)

-distm <filename>
Create a bat-file (filename.bat) for loading all soundfonts in memory. Use filenames only and include a line to play the MIDI file (filename.mid) using mediaplayer

-c <bankno>
Clear the specified soundbank (remove it from memory)
(メモリクリア→バンク指定)

-C
Clear all soundbanks currently in memory
(メモリをクリアする!)

-n <deviceno>
Set AWE device number (for users with multiple cards)

-l
List all soundfonts currently in memory
-L
List all soundfonts currently in memory (with filenames)
(リストを出力する事ができる)

-p <bankno>
List all (melodic) presets in bank

-i
Print information about the AWE card

-v
Enable verbose mode

-nt
Do not print the program title

-t
Print the program title


残念なのは、Sound FontのA/B切り換えができない事。全てAのみです。

 

SF2Comp
http://www.hammersound.net/mirrors/last_night/sf.htm


SF2Compは、sf2ファイルからWAVファイルを出力します。同時に生成されるTXTファイルを元に、sf2ファイルへ書き戻す事が可能です。

記述:

sf2comp d -agl d:\test.sf2 d:\temp\sf

【例】


sf2comp d -agl G:\sf2cmp\Strings-mono_FF.sf2 G:\sf2cmp

sf2comp : プログラム名
d : 命令
-agl : オプション命令
d:\test.sf2 : Sound Font名
d:\temp\sf : 出力フォルダ名

それぞれに命令はスペースで区切ります。

-agl
Add Global Layer to every preset Creates in a text file a GlobalLayer entry with full set of generator entries for every preset even if this preset have no such layer in source

以上がWAVを出力する場合です。この時、Sound Fontのファイル名と同じTXTファイルができます。上記の例だと、Strings-mono_FF.txt となります。
これは出力されたWAVファイルのリストを含みます。後に書き戻す時に必要です。

◇この時点でWAVファイルが出来ましたので、WAV編集ソフトで加工します。同じファイル名で上書きしてください。

さて、それをsf2に書き戻します。↓この1行でBATファイルを作ります.

sf2comp c -i G:\sf2cmp\Strings-mono_FF.txt G:\sf2cmp\StFF_new.sf2

となります。
(注)もちろん、実際には、自分のフォルダ、Sound Font名を記述します.

WAV出力のとき d だった命令が c になりました。これが書き戻す時です。

-i compile using [Info] part (except for "Version" field)
Places information from the "[Info]" section into target font. The only field that is not used is "Version".

様々な命令・スイッチがありますが、取敢えずはこれだけでOK。

一度作ったBATファイルは、それを雛形として、sf2ファイル名だけを変更すればよいです.

 

【応用】

何種類もBATファイルを作るのは、繁雑になるので、1つのBATファイルで幾通りかのSound Fontを指定する場合。

 

TEST.BAT

SF2LOAD 1 TEST-1.SF2
SF2LOAD 2 TEST-2.SF2
SF2LOAD 3 TEST-3.SF2
この状態だと、SF2LOADが3回実行され、Sound Fontも3つロードされます。

実行しないものの先頭に”コロン”を入れます。

SF2LOAD 1 TEST-1.SF2
SF2LOAD 2 TEST-2.SF2
SF2LOAD 3 TEST-3.SF2
これで、2番目の TEST-2.SF2だけがロードされます。

REM SF2LOAD 1 TEST-1.SF2
SF2LOAD 2 TEST-2.SF2
REM SF2LOAD 3 TEST-3.SF2

本来のコメント行は上のようにREMと記述しますが、コロンでも結果的に同じ事になり、この方が楽です。


追加、消去など幾通りも作っておいて、必要なもののコロンを外して実行すれば、楽に変更できます。

←Back 

 

Main | Today's Sound Font | Pro Tools Free | 海外の音楽サイト | VST-synth | VST-effect | Free Soft | Sound-Edit | BBS | Blog | Music | Pass