Octave 3.0.3 Windows版カスタマイズ

インストール直後にやっておくと便利なカスタマイズ

作業フォルダ

「 C:\Documents and Settings\ユーザー名フォルダ」直下に octave というフォルダが作成され、このパスは変数「 home_path 」に設定され、
 cd(home_path)
と入力すれば移動できる ( cd home_path では駄目 ) 。
( Octave 3.2.4 では home_path の代わりに home あるいは default_home )
しかしこのフォルダはマイドキュメントからはアクセスできず、さらに、Octave 起動直後のフォルダ ( pwd でカレントフォルダが表示できる ) C:\Program Files\Octave とも異なっていて使いづらい。

スタートアップファイル「 .octaverc 」

起動直後のカレントフォルダや、ユーザーフォルダを変更するには、「 C:\Documents and Settings\ユーザー名フォルダ」直下にファイル「 .octaverc 」を作成し、これに cd コマンドや 代入式を記述しておけばよい。
ただし、 Windows 標準のメモ帳やエクスプローラーではドット「.」が先行するようなファイルが作成できないので、 NotePad++ 等のテキストエディタで作成しなければならない。
.octaverc には例えば次の行のように記述する。
 home_path = 'C:\Documents and Settings\user_name\My Documents\Octave'
 cd(home_path)
ここでダブルクォーテーション「"」を使う場合は、次のように\を重ねなければならないことに注意。
 home_path = "C:\\Documents and Settings\\user_name\\My Documents\\Octave"
 cd(home_path)
Octave 3.2.4 では、シングルクォーテーションでも\を重ねないとダメのようです。

Windows で sound 関数を使う

Octave 3.0 以降には playrec という Windows 用のオーディオ出力アプリケーションが同梱されているが、sound 関数はこれに対応しておらず音が出ない。Octave\share\octave\packages\audio-1.1.2\sound.m の大体 66 行目辺りの引数チェックが終わったあたりに次のコードを追加すれば、Windows でも sound 関数で音が出力できる。

 ## Windows version has playrec utility.
 if tolower(substr(getenv("os"), 1, 7)) == "windows",
   if playrec("isInitialised"), playrec("reset"); endif
   playrec("init", rate, 2, 0);
   playrec("play", data, 2);
   return;
 endif

ただしステレオチャンネルなど多チャンネルには対応していない。また、playrec の引数の 2 は出力ポートであるが、これは各自 playrec("getDevices") の応答をみて自分の PC の設定に沿って書き直す必要がある。また、音出力の関数は他にもあるので、このカスタマイズは sound に限ったことではない。

playrec

Octave\libexec\octave\3.0.3\oct\i686-pc-msdosmsvc\playrec.mex
playrec("help", "知りたいコマンド")

簡単な使い方の流れ

playrec("getDevices")
で PC の構成を調べる。入出力ポート番号を確認する。
playrec("init", サンプリングレート, 出力ポート番号, 入力ポート番号);
でポートを初期化する。
playrec("play", ベクトルデータ, 出力ポート番号);
で音データを鳴らす。サンプリングレートを変える場合は、まず reset を行ってから init を発行しなければならない。二重に init は発行できない。init が済んでいるかどうかを調べるのが、
playrec("isInitialised")
である。
playrec は実際には多チャンネルを扱え、また非同期に入出力できるので、詳しいことは本家のドキュメントを参照してください。


タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年06月18日 16:06
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。