Google Colaboratory:音処理04.スペクトログラムのグラフ操作02



(今回の疑問)

スペクトログラムの色は音の大きさ(音圧?)により変化するのだろうか?

音量の違いをスペクトログラムで区別できるのだろうか?

3段階の大きさ(音量)の電子音が鳴らせる器具を使用して、いくつかのWAVファイルを作成。それを材料にしたスペクトログラムを生成し、音量の差が画像の差として表現されるのかどうかを検討した。

準備:3段階(大・中・小)の音量の電子音を組み合わせて4つのWAVファイルを作成。

音量の大-中-小の順を2回録音した3種類ファイル、大音量を2回録音した大ファイル、中音量を2回録音した中ファイル、小音量を2回録音した小ファイルの4つのファイルを作成した。

作成した4つのWAVファイルをデスクトップに設置した。



デスクトップに置いた4つのWAVファイルをGoogle Colaboratoryで利用するためには、Googleドライブにアップロードしなければならない。

Googleにログインした後、アプリボタンから、“ドライブ”を選択。



Googleドライブが開いたら、[新規]ボタンクリック。

メニューから“ファイルのアップロード”をクリック。



デスクトップのWAVファイル(図では3種類.wavというファイル名)を選択し、[開く]をクリック。少し待っているととアップロード完了が通知される。



ここで気付いた。ファイル名が日本語ではColaboratoryで利用できないのでは?

(ドライブ内ファイルの名前変更)

アップデートしたWAVファイルを選択して、右クリック。

出てきたメニューから“名前を変更”をクリック。

変更する名前を入力して[OK]ボタンクリックすると、名前が変更された。

アップロード前の他のWAVファイル(大、中、小.wav)は、デスクトップ上の時点でファイル名を変更した。



デスクトップ上の残り3つのWAVファイル(名前はlargeSound, midSound, smallSoundに変更した)も、同様にGoogleドライブにアップロードした。Googleドライブの準備は完了。



Google Colaboratoryを開く。

スペクトログラムの検討を行うため、コードは“sound02.jpynb”を利用する。

クリックして選択。



ノートブック“sound02.jpynb”が開いたら、メニューの“ファイル”から“ドライブにコピーを保存”を選択する。

コピーのノートブックが開いたら、ノートブック名を変更した後、忘れずに画面左の“フォルダ”型のアイコンをクリック。さらに“ドライブをマウント”アイコンをクリックして、Googleドライブとリンク。



コードを一部だけ変更(後述するが、ほぼSound02と同じ)し、実行。

実行結果のスペクトログラムが表示された。この画像はGoogleドライブに保存される。



コードで変更したのは赤四角部分のみ。入力に指定するWAVファイル名、出力名、出力画像のタイトル(つまり今回処理の変更はない)。

そして、この部分を“3TypeSound”➡“largeSound”➡“midSound”➡“smallSound”と変更して、それぞれで計4回実行を行い、結果画像を保存した。



4つのWAVデータでのコード実行後、メニューの“ファイル”から、“保存”をクリックして“sound04.jpynb”を保存した。



コード実行により出力した画像ファイルをパソコンに保存する。

再度、Googleの“アプリ”アイコンからGoogleドライブを開く。

ダウンロードするPNGファイルを選択し右クリック。

出てきたメニューから“ダウンロード”を選択すると、パソコンにダウンロードされる。



4つの画像をダウンロードした後、パソコンのデスクトップに戻り、“エクスプローラー”➡“PC”➡“ダウンロード”を選択して開く。

フォルダ内には4つのPNGファイルが格納されているので、選択して保存する。

終了。



ここから、今回生成した画像(スペクトログラム)を検討する。

まず、4つのWAVデータによるスペクトログラムを並べて表示する。

3段階の音量を順に録音した画像(3Type、図の左上)では3つの音量での色の変化には差があるように見える。

それぞれの音量だけで録音した3つのスペクトログラム(large,mid,small、右上・左下・右下)も、それぞ異なっているように見える。



では、3段階を順に録音したスペクトログラムでの各音量の画像(カラーマップ)は単独で録音された画像(カラーマップ)と同じなのだろうか?

比較するにあたって、縦軸のスケールは4つ全ての画像で同じものの、横軸(時間)はすべての画像で異なる(それぞれで違う録音時間が横軸の表示範囲となっているため)ため、このままでは比較できない。

コードを変更してスケールを一致させた画像を再度生成するのが正しい方法なのだろうが、手っ取り早く結果が知りたかったので、画像の拡大・縮小を用いることにした。

各単独音量の画僧から該当する部分を2秒ずつ切り取り、横幅を拡大・縮小させて一致させ疑似的な6秒画像を作成。これを3段階画像の6秒比較(ここでも拡大・縮小により横幅を一致させた)した。

結果:疑似画像の方が大分ぼやけているのと、縦の赤い線が疑似像で多い感じがするが、色の配分(分布?)は同じように見える。



しかし、この比較図を見て疑問が出現。

音量によるカラーマップ画像の違いが、高周波数領域の量(数?)の差のように見える。

音量の差とは音圧の差のはずなので、各音量のそれぞれの周波数帯で異なる色が表示されると思っていたのだが、そうではないのか?

周波数が大きい音とは高い音のはず。であるならば、大きな音というのは高い音が沢山含まれている音・・・ということになるのか?何か釈然としない。

今回使用した音源が電子音であるために、このような結果(スペクトログラム)となった可能性は考えられる。次回は音源を変えて検討する。

タイトルとURLをコピーしました