Composeの標準言語OMLからPythonの関数を利用するには
Pythonの関数を簡単に呼び出せるスクリプト'python_call.oml'を作成しました。
一行でPythonの関数'py_wav_read.py'が呼び出せます。
[fs,wavdata]=python_call('py_wav_read',filename);
サンプルは'stc_wav_read.oml'というスクリプトで、音声ファイルを読み込み、FFTで周波数分析を行った後、1/3オクターブバンド処理を行っています。
現状Composeの標準言語のomlには音声ファイルを読み込む機能が無いので、代わりにPythonの関数を利用しました。
サンプルスクリプトのダウンロードはこちら。
使用製品:Altair Compose
よくあるエンジニアからの質問はこちら
Answers
-
一部不具合がありましたので、修正した'python_call.oml'を添付します。
また、新しいサンプル'stc_xlsheet.oml'を添付します。
Python関数'py_get_xlsheetname.py'を使って、エクセルのシート名を取得するサンプルです。
omlにもエクセルを読み込む関数は標準で幾つかあるのですが、機能が十分でなく、現在エクセルシート名が取得できません。その代替手法となります。
'stc_xlsheet.oml'には、'python_call.oml'を利用した場合と、利用せずに直接コマンドを記述した2パターンを記載しています。
利用しないと
exporttopython
evalpythonfile
evalpythonscript
getpythonvar
の4つのコマンドを実行する必要がありますが、python_callを用いれば一行でPython関数を実行できます。
サンプルスクリプトのダウンロードはこちら。
0 -
先に紹介したエクセルシート名を取得するサンプルですが、Pythonのライブラリであるopenpyxlのインストールが必要です。
コマンドプロンプとで下記コマンドを実行して、ライブラリを追加してください。
'C:\Program Files\Altair\2019\Compose2019\common\python\python3.4\win64\python.exe' -m pip install --upgrade pip
'C:\Program Files\Altair\2019\Compose2019\common\python\python3.4\win64\python.exe' -m pip install openpyxl
0