(2017/11/29 加筆: 従来は、 単に Import[ファイル名] としてサウンド・ファイルを読み込んでいたが、 Mathematica 11 からは、 Import[ファイル名, "Sound"] と "Sound" を指定しないと、 以下の説明の多くが当てはまらなくなった。)
Import[] で画像ファイルやサウンド・ファイルの入力が可能である。
例えば WAVE ファイルを読み込んで、 サウンド・データとして変数に格納できる。
SetDirectory["C:/Document and Settings/mk/デスクトップ"] snd = Import["piano.wav","Sound"] |
サウンドである snd は、Show[snd] などで再生できる (単に snd を評価しても良い)。
図示すると |
snd = { { { {l1,l2,...,lN}, <- snd[[1,1,1]] {r1,r2,...,rN} <- snd[[1,1,2]] }, SampleRate <- snd[[1,2]] } } |
これは出来ない |
{{{leftChannel,rightChannel},samplingRate}} = snd; |
leftChannel=snd[[1,1,1]]; rightChannel=snd[[1,1,2]]; samplingRate=snd[[1,2]]あるいは {{leftChannel,rightChannel},samplingRate}={snd[[1,1]],snd[[1,2]]} |
ListPlay[] で再生してみる |
snd=Import["WAVEファイル名","Sound"]; ListPlay[snd[[1,1,1]],SampleRate->snd[[1,2]]] あるいは ListPlay[snd[[1,1]],SampleRate->snd[[1,2]]] |
最近の Mathematica では、項目 (要素名) を指定した読み込みが可能である。
どういう項目があるか |
Import["piano.wav","Elements"]とすると {"AudioChannels", "AudioEncoding", "Data", "SampledSoundList", "SampleRate", "Sound"}という結果を返す。 |
チャンネルの数 |
numofchannels=Import["piano.wav","AudioChannels"]これは多分 numofchannels=Length[Import["piano.wav"][[1,1]]] と同じ。 |
エンコードの方法 |
Import["piano.wav","AudioEncoding"] |
サンプリング周波数 |
samplingrate=Import["piano.wav","SampleRate"]これは多分 samplingrate=Import["piano.wav"][[1,2]] と同じ。 |
snd = Import["piano.wav","Sound"]これは多分 snd = Import["piano.wav"] と同じ。 |
data=Import["piano.wav","Data"];これは多分 data=Import["piano.wav"][[1,1]]; と同じ。 |
s=Import["piano.wav","SampledSoundList"];これは多分 data=Import["piano.wav"][[1]]; と同じ。 |
「同じ」と言ったものは、Equal[] で確認できる。
あまり使用経験はないが、ほぼ裏返しの Export[] が使える。