soundパッケージを使用してRで音声を再生する
先日のTokyo.R#21で発表した、Rでの音声の再生方法について解説します。
なお、最初に結論を言っておくと、音声を再生するならR以外でやってください。Rでやってもなんの得もしないです。
まず、RにおけるミュージックプレーヤーについてはR-bloggersでコードが公開されてます。Music player in R (Linux)
ただし、これらはLinuxであることを前提としているという問題があるので、面倒です。
そこで、もっとカジュアルにRで音楽を再生する方法として、以下のsoundパッケージを使用する方法を説明します。手順は以下の通りです。
1.コマンドで音声(wavファイル)を再生出来るように設定する。
コマンドプロンプトもしくはターミナルから音声を再生出来るようにする必要があります。windowsの場合は以下のページからソフトをダウンロードして、再生してください。
http://www.cepstrum.co.jp/download/recplay/recplay.html
2.パッケージをインストールする。
install.pakcages("sounde")
3.ライブラリーをロードする。
libarary(sound)
4.setWavPlayer関数で音声再生コマンドを登録する。
setWavPlayer("play")
5.play関数で音声を再生する。
play("./test2.wav")
これでRを通して音声を再生できます。
また、音声を編集することもできます。以下では音声編集用の関数の使い方をつまみ食いで紹介します。
loadSample("ファイル名.wav")
wavファイルをからサンプルクラスオブジェクトを生成する。サンプルオブジェクトとは音声のことだと思えばよい。
cutSample(サンプルオブジェクト, 開始秒数, 終了秒数)
サンプルオブジェクトからさらにサンプリングを行う。
appendSample(サンプルオブジェクト1, サンプルオブジェクト2, サンプルオブジェクト3...)
サンプルオブジェクトを結合して、一つのサンプルオブジェクトを返す関数。
サンプルオブジェクト1 + サンプルオブジェクト2
サンプルオブジェクトを合成して、重ね合わせる演算子操作。
といったように音声の編集も可能なので、興味のある人は試してみてください。
なお、以下のファイルにRを使用した音声分析の方法が詳しく記述してあるので、興味があればご覧になってください。
http://ornithology.jp/osj/japanese/katsudo/Letter/no32/files/gakko-2010-text.pdf