外出先で音楽作成



いつもでかいハード音源をつかって作曲しているので電源も必要だし、衝撃を与えてもいけないし・・・ということで自宅でしか作曲していなかったのですが、先日面白いものを見つけました。

1.TiMidity++ windows synthesizer(TWSYNTH)

2.Audacity

3.MinGW

4.LAMEのコンパイル










1.
TiMidity++ windows synthesizer(TWSYNTH)

TiMidity++ windows synthesizer(TWSYNTH)は外部音源がなくてもMIDI音楽を楽しむためのソフトです。もともとはMIDIからWAVファイルを作るのが目的だったようですが現在ではシンセサイザーソフトもついて本格的になっているようです。

まず、sourceforgeのページからTiMidity-CVS060714_setup_jp.exe(20060825現在)をダウンロードします。
EXEファイルをダブルクリック、手順にしたがってインストールします。途中午後のこーだをダウンロードするか聞かれるので持っていない場合はYesにします。以前午後のこーだを使ったことがあってgogo.dllを手元に持っている場合は、他のソフトでも使えるようにWindows2000の場合はWinNTフォルダに入れておきます。timw32gというアイコンがスタート→プログラム→timidityの中にできているのでクリックして起動。そこへ適当なMIDIファイルをドラッグ&ドロップするとMadiaPlayerよりちょっといい感じの音で再生されます。 次に、MidiループバックデバイスであるMidi Yokeをインストールします。
WindowsXP,2000系と98系でファイルが違うようですので間違えないようにダウンロードします。



インストール方法は
Windows98

Windows2000

WindowsXP

をそれぞれ参照してください。 もしXP,2000系のMSIファイルでうまくインストールできなかった場合はマニュアルインストールのEXEファイルでインストールします。 Windows2000の場合では適当なフォルダーでEXEファイルを解凍し、コントロールパネルのハードウエアの追加と削除でデバイスのトラブルシューティング→新しいデバイスの追加→いいえ、一覧からハードウェアを選択します→サウンド、ビデオ、およびゲームコントローラー→ディスク使用→参照で先ほど解凍したフォルダを選択してインストール、再起動。
次にスタート→プログラム→Timidityのtwsyngを起動するとタスクトレイにアイコンがでるのでクリック。設定のシンセサイザータブにポート情報でMIDI YokeがでていればOK。
これで他のソフトから外部音源の代わりにTWSYNTHを指定することができるようになりました。
次に、デフォルトで入っている音源もなかなかいいのですが、フリーの音源がたくさんインターネット上にアップされています。
まず最初にGUSパッチ(音源ファイル)である出雲氏作成の33MPatchをダウンロードします。Backup

指示に従ってインストールしてください。
次に好きなサウンドフォントというファイルを探しに行きます。

HammerSound(リンク切れ多し)

SF2MIDI.com(簡単な会員登録が必要)



お勧めのサウンドフォントは

・8MBGM E-Mu APS(軽くて音もなかなか。SF2MIDI.comから)Backup

・Fluid R3(やさしい音。ここから入手) Backup(1),(2)
Backupは1と2を両方同じ場所にダウンロードして
1のEXEファイルをダブルクリックして分割されたファイルを復元してください。


・atomic(軽快な音)Backup

・SGM-180 v1.50(無難な音。ここから入手) Backup(1),(2)
Backupは1と2を両方同じ場所にダウンロードして
1のEXEファイルをダブルクリックして分割されたファイルを復元してください。


・Titanic 200 GMGS v1.2 (深みのある音。本家(リンク切れ?)ここから入手)Backup(1),(2),(3)
Backupは1と2と3を両方同じ場所にダウンロードして
1のEXEファイルをダブルクリックして分割されたファイルを復元してください。


・club(ドラムパートのみ。なかなかいい。HammerSoundより入手)Backup

・dance(ドラムパートのみ。なかなかいい。HammerSoundより入手)Backup

・TR-909(ドラムパートのみ。なかなかいい。HammerSoundより入手)Backup

・HOUSE2(ドラムパートのみ。なかなかいい。HammerSoundより入手)Backup




特殊な圧縮方式で圧縮されている場合が多いので専用の解凍ソフトが必要な場合があります。

sfArk これをダウンロードしてインストール

sfpack これをダウンロードして解凍

RAR Vectorから+Lhacaをダウンロードしてインストール、その後unrar32010.exeをダウンロードしてSystem32フォルダーにインストール

拡張子が.sf2か.sbkというファイルがでてくればOKです。

それを適当なフォルダを作って入れ、そのサウンドフォントを使用するための設定ファイルをメモ帳で作成します。
-----------------------------------------------------------------
dir "C:\timidity\soundfont"

#soundfont "EmuAPS_8MB.sf2"
#soundfont "SGM-180 v1.5.sf2"
#soundfont "038.1mg The Atomic Soundfont V1.0 Bank.SF2"
soundfont "Titanic_200_GMGS_1.2.sf2"

#soundfont "FluidR3 GM.SF2"
#soundfont "FluidR3 GS.SF2"


#soundfont "TR-909 Drums.SF2"
soundfont "HOUSE2.sf2"
#soundfont "Club.SF2"
#soundfont "dance.SF2"





#soundfont "guitars.sbk"
#soundfont "Drty_MajPwr_chords.sf2"
#soundfont "GuitarSetPasisHeavyAndClean.sf2"

#soundfont "HonkyPno.SF2"

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

最初のdirでそのフォルダがある場所を指定します。
『#』はコメントアウトです。これの右側に書いてある文字は読み込まれません。
一行ずつ改行します。
サウンドフォントは後から書いてあるほうが有効になるので、今回のばあい、まず出雲氏作成の33MPatchが読み込まれ、Titanic_200_GMGS_1.2.sf2がその上から上書き、ドラムパートだけHOUSE2.sf2の音が鳴る・・・という具合になっています。 書き終わったら、適当なファイル名で保存します。今回は仮にsoundfont.cfgという名前で保存します。保存するときはShift-JISで保存します。
次に、timw32gを立ち上げます。そして設定、詳細設定のプレイヤータブの設定ファイル欄にそのファイルの場所を指定します。そして、下のOKボタンを押したのち、いったんtimw32gを終了します。そのほうが確実です。かなり不安定なので強制適用をすると固まって動かなくなることがあります。もう一度再起動して、新たにMIDIファイルをドラッグ&ドロップすると、すばらしい音が聞こえてきます。ちょっと感動ものです。
出力でWindows audio driverからMP3などに変更してからPlayボタンを押すと指定したファイル形式で音楽を吐き出します。雑音が紛れ込む余地がなく、きれいな音で出来上がります。


MIDIファイルの作成には、以前紹介したCY10 MIDI MUSIC SEQUENCER のほかに最近ではCherry 1.4.3 release や ミノ式MIDIシーケンサ 4.00 が人気があるようです。(Vector MIDI 人気順より)

また、WAVファイルをキーに割り当てられるという特徴を生かしてMIDIで歌ってしまおうというソフトもあります。

歌うTiMidity

ここのソースを確認するとどういう風に音を鳴らせているかわかります。

サウンドフォントはWAVファイルをパッケージしてあるファイルなので、デコンパイルすると元のWAVファイルが出てきます。また、自分で録音したWAVファイルをコンパイルして独自のサウンドフォントを作るということもやりたいです。そのソフトが

SF2Comp v1.0

です。

コマンドプロンプトで動きます。軽いです。Backup

これだけで伴奏を作る準備が整いました。




2.
Audacity

http://audacity.sourceforge.net/(日本語)

フリーで、クロスプラットフォームのサウンドエディタです。オーディオトラックを複数重ねることができます。

まず、Sourceforge.netのサイトからaudacity-win-1.2.4b.exe (20060825現在)をダウンロード、インストールします。

また、VSTプラグインを読み込むdllをaudacityteam.orgのサイトからダウンロードします。そして、dllをaudacityをインストールしたフォルダーのなかのPlug-Insフォルダーの中に入れます。ほかの波形編集用などのVSTプラグインもこのフォルダーに入れるようです。(VSTはまだ使っていないのでよくわかりませんごめんなさい)VSTインスツルメンツ(VSTi)は使えないそうです。
次にLAME (Lame Aint an MP3 Encoder) http://sourceforge.net/projects/lame/のバイナリーを LAMEバイナリーサイトリンク http://lame.sourceforge.net/links.php#Binaries からダウンロードします。そして、中のlame_enc.dllをWindows2000の場合はWINNTに入れます。
そして、Audacityを起動し、編集→設定→ファイル形式タブのMP3書き出しセットアップ項目でlame_enc.dllの場所を指定します。



これで伴奏にボーカル、その他を重ねて録音する準備ができました。

外出先でも、ちょっとした空き時間があれば1曲ぐらい作れそうな気がしてきました。えへへ。



3.
MinGW

最新のDLLを入れたい場合はtar.gz形式のファイルをダウンロードして、MinGWとMSYS で自分でコンパイルしましょう。

MinGW-5.0.3.exeとMSYS-1.0.11-2004.04.30-1.exe(20060825現在)をSourceforgeのサイトからダウンロードして、まず、MinGWをカスタムでMakeだけはずしてインストール、その後MSYSをインストールして、MSYSからMinGWの場所を指定するとインストール完了です。すごい簡単です。そして、MSYSを立ち上げて、tar.gz形式のソースファイルをコンパイルします。

(参考サイト)

C-Compiler Wiki MinGW > インストール

MinGWを使う

MSYS & MinGW

Windowsフリーウェアのセットアップメモ

MinGW/MSYS をインストールする








4.LAMEのコンパイル

4-1 Microsoft Visual C++(以下、MSVC++)(当面無料)でコンパイル

Visual C++ 2005 Express Edition 日本語版





まず下記をダウンロード

Visual C++ 2005 Express Edition ISOイメージ

追加ドキュメント

Windows Server 2003 R2 Platform SDK (2006-03-14) ISOイメージ

DAEMON Tools 3.47

DAEMON Tools V3.47 勝手に日本語化

以上をダウンロード

まずDAEMON Toolsをインストール。次にDAEMON Tools勝手に日本語化のパッチを当てる。そして、DAEMON ToolsにまずWindows Server 2003 R2 Platform SDK (2006-03-14) ISOをマウントする(拡張子がimgになっているのでisoに変換するとマウントできる)。マイコンピュータから仮想ドライブが見えているのでWindows Server 2003 R2 Platform SDK (2006-03-14) ISOをマウントしたドライブをダブルクリックするとインストールが始まる。(たいていはマウントした時点でインストールが始まる。)

次にVisual C++ 2005 Express Edition 日本語版をインストールする。選択時にMicrosoft Windows Core SDKのみを選択する。他の選択は好みに合わせて。次に追加ドキュメントをインストールする。

Visual Studio 2005 Express Edition のユーザー登録について
http://www.microsoft.com/japan/msdn/vstudio/express/register/


Visual C++ 2005 Express Edition と Microsoft Platform SDK を一緒に使う
http://www.microsoft.com/japan/msdn/vstudio/express/visualc/usingpsdk/


手順 3. [オプション] ダイアログ ボックスの [プロジェクトとソリューション] セクションで [Visual C++ フォルダ] を更新します。
このセクションでは、適切なサブセクションにパスを追加します:

Executable ファイル - 「C:\Program Files\Microsoft Platform SDK\Bin」
Include ファイル - 「C:\Program Files\Microsoft Platform SDK\include」
Library ファイル - 「C:\Program Files\Microsoft Platform SDK\lib」
ノート:
代わりに、Visual C++ Express Edition がインストールされているフォルダのサブフォルダにある \vc\vcpackages に存在する VCProjectEngine.dll.express.config ファイルを修正することで、Visual C++ フォルダの更新を行うことも可能です。ただし、Visual C++ Express Edition を再度立ち上げる前に、「%USERPROFILE%\Local Settings\Application Data\Microsoft\VCExpress\8.0」 において "vccomponents.dat" が存在する場合は、その削除を行うことも忘れずに行ってください。

手順 4. corewin_express.vsprops ファイルを更新します。
Visual C++ 2005 Express Edition で Win32 テンプレートを使えるようにするための作業です。
corewin_express.vsprops ファイル (「C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults」にあります) を編集し、次の文字列を修正してください。

修正する文字列

AdditionalDependencies="kernel32.lib"

修正後の文字列

AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"


手順 5. Win32 アプリケーションを生成、ビルドして、指定したパスの動作確認を行います。 Visual C++ 2005 Express Edition では、Win32 アプリケーション ウィザードで「Windows アプリケーション」が無効となっています。これを有効にするには、"%ProgramFiles%\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1041\" フォルダにある AppSettings.htm ファイルを以下のように編集する必要があります。

テキスト エディタで上記ファイルを開き、441 行目から 444 行目の先頭に // を追加してコメント アウトしてください。

// WIN_APP.disabled = true;
// WIN_APP_LABEL.disabled = true;
// DLL_APP.disabled = true;
// DLL_APP_LABEL.disabled = true;

ファイルを保存のうえ閉じて、Visual C++ 2005 Express Edition を起動します。

[ファイル] メニューから [新しいプロジェクト] をクリックします。[新しいプロジェクト] ダイアログ ボックスにある、[プロジェクトの種類] ツリーの [Visual C++] ノードを展開し、[Win32] をクリックします。[Win32 コンソール アプリケーション] テンプレートをクリックし、任意のプロジェクト名を指定して [OK] をクリックします。[Win32 アプリケーション ウィザード] ダイアログ ボックスで、アプリケーション タイプとしてWindows アプリケーションが選択されていること、ATL は選択されていないことを確認してください。最後に [完了] ボタンをクリックして、プロジェクトを生成します。

最後の手順として、生成されたプロジェクトをテストします。IDE の [開始] ボタンをクリックするか [F5] キーを押下します。Win32 アプリケーションがビルドされ、実行されるはずです。




手順3でInclude ファイルにはC:\Program Files\Microsoft Platform SDK\includeに加えてC:\Program Files\Microsoft Platform SDK\include\mfc及びC:\Program Files\Microsoft Platform SDK\Include\crtも追加する。


準備が終わったら、LAMEに取り掛かる。
プロジェクトのサイトからlame-3.97.tar.gz をダウンロードする。+Lhacaで展開し、フォルダの中のlame_vc7.slnをダブルクリックする。Visual C++ 2005 Express Editionが起動する。変換ウィザードが起動するので変換する。変換し終わったらいったんVisual C++ 2005 Express Editionを終了する。次にそのフォルダの下の階層のDllフォルダに移動する。Example_vc6.dswをダブルクリックするとまたVisual C++ 2005 Express Editionが起動する。「変換しますか」という問いには「すべてはい」。左上のソリューションエクスプローラでLameMp3EncDllを選択。右クリックで「ビルド」。ビルドに失敗するが、最後までやってからまたいったんVisual C++ 2005 Express Edition終了。上の階層に戻ってまたlame_vc7.slnをダブルクリック。左上のソリューションエクスプローラでLameMp3EncDllを選択。右クリックでビルド。 出力に「ライブラリ .\Debug/lame_enc.lib とオブジェクト .\Debug/lame_enc.exp を作成中」とでて、ビルド成功。outputというフォルダができる。中に、lame_enc.dllが作成される。





4-2 MinGWでコンパイル

NASMをダウンロード

http://sourceforge.net/projects/nasm

Win32 binaries の項目から、最新のものをダウンロードする。nasm-2.06rc1-win32.zip が20090309現在最新。

展開して、でてきた nasm.exe ndisasm.exe をMinGWのbinフォルダーへ入れる。もう一度展開して、 nasm.exe ndisasm.exe をそれぞれ  nasmw.exe ndisasmw.exe と名前を変えて、また MinGWのbinフォルダーへ入れる。

nasmw.exe ndisasmw.exe は

http://homepage2.nifty.com/kei-i/というサイトの

Pathed NASM patch and Windows binaryでもよい。

MSYSのフォルダーの中で、LAMEのソースを展開する。lame-398-2.tar.gz が20090309現在最新。

configure ファイルのある階層に移動し、下記を打ち込む

make -f Makefile.unix UNAME=MSDOS HAVE_NASM=YES --win32


frontend フォルダーに lame.exe が出来上がるので、frontend フォルダに移動する。

strip lame.exe


上の階層に戻って libmp3lame フォルダーの中に、libmp3lame.a が出来上がっているか確認する。

次に、 DLL フォルダに移動する。

Makefile.mingw32 というファイルをテキストエディタなどで開き、一番最後の方の

example.exe : Example.cpp BladeMP3EncDLL.h
	gcc Example.cpp -o example.exe

clean :
	rm -f $(DLL_NAME).dll $(OFILES) example.exe



example.exe : Example.cpp BladeMP3EncDLL.h
	g++ Example.cpp -o example.exe

clean :
	rm -f $(DLL_NAME).dll $(OFILES) example.exe


に変更する。どうやら gcc ではなくて g++ でないとうまくいかないようだ。

そして訂正したら、下記を入力する。

make -fMakefile.mingw32 UNAME=MSDOS HAVE_NASM=YES


lame_enc.dll と example.exe が出来上がる。

DLLフォルダーに適当なWAVファイルを持ってきて

example.exe tekitou.wav
と入れると、tekitou.wav.mp3 というMP3に変換される。





ACMのMinGWでのコンパイルは未確認。

Windows Server 2003 DDK

1830_usa_ddk.iso

が必要になる模様。








余談

最近では、iTunes 、 Windows Media Player 10 、RealPlayer などでも MP3 に変換できるようです。WAV さえ作成すれば、MP3 に変換するのは簡単な時代になってきました。

MP3 などのフォーマットは特許の制限を受けるため、それらの代替として OGG というフリーの音声ファイルフォーマットを使う人も多くなってきました。
パソコンゲームの音楽にはよく OGG が使用されています。

Audacity 、TiMidity++ windows synthesizer(TWSYNTH) では、デフォルトで OGG が出力できますし、Rip!AudiCO というソフトもお勧めです。










(参考ファイル)
ダウンロード TiMidity-CVS060714_setup_en.exe (12371.5K)

ダウンロード TiMidity-CVS060714_setup_jp.exe (12371.5K)

ダウンロード TiMidityCVS060714_bin.zip (1691.5K)

ダウンロード TiMidityCVS060714_src.tar.bz2 (1530.9K)

ダウンロード timiditydrv060714_bin.zip (382.0K)

ダウンロード lame-3.96.1.tar.gz (1226.2K)

ダウンロード lame-3.97.tar.gz (1296.9K)

ダウンロード daemon347.exe (492.5K)

ダウンロード daemon347_jp.lzh (167.2K)



LAMEバイナリー

http://lame.sourceforge.net/links.php#Binaries



ISO マウント

窓の杜 仮想ドライブ

http://www.forest.impress.co.jp/lib/sys/hardcust/virtualdrv/

WinCDEmu

http://wincdemu.sourceforge.net/

仮想CD-ROMイメージをマウントする(vcdrom.sys編)

http://www.atmarkit.co.jp/fwin2k/win2ktips/536vcdrom/vcdrom.html

Virtual CD-ROM Control Panel for Windows XP

http://download.microsoft.com/download/7/b/6/7b6abd84-7841-4978-96f5-bd58df02efa2/winxpvirtualcdcontrolpanel_21.exe