Pi3」には、さまざまな計算やグラフ表示ができる、「Mathematica」というソフトがインストールされています。今回はこのソフトを使って、「音の波形」をキャプチャしてから、「統計データ」をとってみます。Pi」は、デフォルトで「ライン入力」や「マイク録音」をすることはできませんが、「USBデバイス」を接続することで、可能になります。デバイスを接続し、「Menu」の設定からオーディオ設定を選択して、「ボリューム」などを変更します。設定したあと、「メイクデフォルト」のボタンを押すと、「録音」や「出力」がデバイスからできるようになります。「Mathematica」を使うと、「音」を作ることができます。「サイン波のWave」をエクスポート「サイン波」を表示して、「WAVEファイル」にエクスポートします。440t],{t,0,2}]Export["/home/pi/program/math/s.wav",%]エンターキーで「改行」、シフトキーとエンターキーで「結果」を表示します。上記のプログラムでは、「ラ」の音が2秒作られます。]」の「t」が、「時間」を表わします。]」で「出力先のディレクトリ」を指定します。「%」は、ひとつ上の式から数値を受け取るときに使います。「Waveform」でファイルのエクスポート「三角波」で周波数440Hz、2秒の音を作ります。]」が、出力するパターンです。「Waveファイル」を開く「ファイル・ダイアログ」からファイルを開くことができます。Import[sy]12sy=SystemDialogInput["FileOpen"]Import[sy]「Waveファイル」を開くと、「波形」が表示されます。音の統計プログラムを組みながら、統計の仕組みを見ていきましょう。まとめたものを「サンプルプログラム」として末尾に掲載しています。◆「ファイル・ダイアログ」から「Waveファイル」を開いて、いったん左右のチャンネルから音を取ります。「;」を付けると結果の表示を省略しますが、数値は入力されます。v=snd[[1,1]];1234sy=SystemDialogInput["FileOpen"];snd=Import[sy];Show[snd]v=snd[[1,1]];◆1から100の間でデータの数値を抽出します。t1=Take[v[[1]],{1,100}];1t1=Take[v[[1]],{1,100}];◆「フーリエ変換」を行なって、極座標形式の振幅を取ります。ft=Abs[Fourier[t1]];1ft=Abs[Fourier[t1]];◆「離散サイン変換」と「離散コサイン変換」です。ftdc=FourierDCT[t1];12ftds=FourierDST[t1];ftdc=FourierDCT[t1];◆「フーリエ変換」後の数値をプロットします。ListLinePlot[ft,PlotRange->All]1ListLinePlot[ft,PlotRange->All]◆「フーリエ変換」のデータから、「線形モデル」を構築します。データと最もフィットする直線をプロットします(因子分析のひとつです)。サイト⇒Amazon.co.jp⇒fujisan.co.jp⇒セブンネット⇒楽天ブックスI/OWEB版について※該当月の記事を読むには、その号に掲載してあるIDとパスワードが必要です。