ものづくり基礎工学(情報工学分野) J5.音の波形と分析 ソフトウェアの使い方

1.spwave

1.1 ウィンドウ上のボタンと表示

 図1.1に,spwaveを用いて音声信号のファイルを開き,波形を表示させた例を示す.また,各部の説明を表1.1に示す.

ウィンドウ上のボタンと表示

図1.1 波形を表示させた例

表1.1 各部の説明
番号 概要
(1) 既存のファイルを開く.操作法については1.2を参照のこと.
(2) 表示されている波形を上書きする.
(3) 表示されている波形を新たなファイル名で保存する.
(4) 再生を停止する.
(5) 指定した範囲(範囲が指定されていない場合は全範囲)を再生する.
(6) 波形を拡大して表示する.
(7) 波形を縮小して表示する.
(8) 現在開いているファイルについて,全範囲の波形を表示する.
(9) (10)で表示している波形の範囲を示す.
(10) 現在開いているファイルについて,波形の一部を拡大表示する.
(11) カーソル.マウスの左ボタンを押し,ドラッグすると,この位置を基点として波形の範囲を指定できる.範囲の選択法については,1.3.1を参照のこと.
(12) カーソルの位置を表示する.ファイルの先頭を基点とし,表示の単位は秒,ミリ秒,ポイント(サンプルの番号)などから指定できる.単位の変更法については,1.3.2を参照のこと.
(13) カーソル位置における波形の振幅を表示している.

1.2 ファイルの操作

1.2.1 WAVEまたはWMAファイルを開く

表1.2 WAVEまたはWMAファイルの開き方
番号 操 作 内 容 操  作 スクリーンショット(クリックで拡大)
1 起動時の状態

 spwave起動時には,右のスクリーンショットのように,波形が空白の状態でウィンドウが表示される.

 次の操作は,何らかのファイルを開いている状態で新たなファイルを開く場合でも同じである.

初期状態
2 ファイルを開くためのウィンドウ表示

 以下のいずれかの方法により,開くウィンドウを表示させる.

  • ファイル(F)開く(O)を選択する.
  • をクリックする.

「開く」ウィンドウの表示1

「開く」ウィンドウの表示2

3 開くファイルの選択

 ファイルの場所(I)に開くファイルのあるフォルダを,ファイル名(N)を入力し,開く(O)をクリックする.

 ファイルのある場所がマイドキュメントの場合は,ウィンドウ左側のアイコンからマイドキュメントを選択すると,ファイルの場所(I)に簡単に入力できる.

オープンダイアログ
4  ファイルを開くことができると,右図のような表示となる. 波形の表示

1.2.2 テキストまたはバイナリべたファイルを開く

表1.3 テキストまたはバイナリべたファイルの開き方
番号 操 作 内 容 操  作 スクリーンショット(クリックで拡大)
1 起動時の状態

 spwave起動時には,右のスクリーンショットのように,波形が空白の状態でウィンドウが表示される.

 次の操作は,何らかのファイルを開いている状態で新たなファイルを開く場合でも同じである.

初期状態
2 ファイルを開くためのウィンドウ表示

 以下のいずれかの方法により,開くウィンドウを表示させる.

  • ファイル(F)開く(O)を選択する.
  • をクリックする.

「開く」ウィンドウの表示1

「開く」ウィンドウの表示2

3 開くファイルの選択

 ファイルの場所(I)に開くファイルのあるフォルダを,ファイル名(N)を入力し,開く(O)をクリックする.

 ファイルのある場所がマイドキュメントの場合は,ウィンドウ左側のアイコンからマイドキュメントを選択すると,ファイルの場所(I)に簡単に入力できる.

オープンダイアログ
4 フォーマットの選択

 右のようなウィンドウが表示されるので,各項目を設定し,開く(O)をクリックする.ファイルの内容によって,各項目を以下のように設定する.

ファイルフォーマット
Text
振幅値のみが書き込まれたテキストファイル
Text wiht Time
サンプルが存在する時間と振幅値が書き込まれたテキストファイル
Little Endian
リトルエンディアンで振幅値のみが書き込まれたバイナリファイル
Big Endian
リトルエンディアンで振幅値のみが書き込まれたバイナリファイル
ビット/サンプル
ファイルに書き込まれたデータ1サンプル当たりのビット数.テキストファイルの場合は,データの読み込みに影響しない.ただし,テキスト,バイナリいずれのファイルの場合も,WAVE形式でファイルの保存を行なうときの量子化ビット数となる.
フォーマットの選択
5  ファイルを開くことができると,右図のような表示となる. 波形の表示

1.2.3 ファイル名を変更して保存する(形式の変換を含む)

表1.4 ファイル名を変更して保存する方法
番号 操 作 内 容 操  作 スクリーンショット(クリックで拡大)
1 ファイルを保存するためのウィンドウ表示

 以下のいずれかの方法により,名前を付けて保存ウィンドウを表示させる.

  • ファイル(F)名前を付けて保存(A)を選択する.
  • をクリックする.

「名前を付けて保存」ウィンドウの表示1

「名前を付けて保存」ウィンドウの表示2

2 保存先とファイル名の入力

 保存する場所(I)に保存先のフォルダを選択し,ファイル名(N)にファイル名を入力する.次項で設定するファイル形式によっては,自動的に拡張子が付加されない場合があるので,拡張子も指定しておく.

 保存先がマイドキュメントの場合は,ウィンドウ左側のアイコンからマイドキュメントを選択すると,ファイルの場所(I)に簡単に入力できる.

名前を付けて保存ダイアログ1
3 保存する形式の選択

 保存するファイル形式に応じてファイルの種類(T)を選択する.選択できる主なファイル形式は以下のとおりである.

By Extensiont
ファイル名(N)で入力した拡張子によって決定する.「.wav」とした場合は,Microsoft PCM,「.txt」とした場合は,Textとした場合と同じ形式になる.
Microsoft PCM
非圧縮のWAVE形式.
Text
振幅値のみを時系列順に書き込んだテキストファイル.時点ごとの振幅値は改行で,各時点におけるチャネルごとの振幅値は空白で区切られる.
Text with Time
各時点の時間と振幅値を時系列順に書き込んだテキストファイル.時点ごとの時間と振幅値は改行で,各時点における時間とチャネルごとの振幅値は空白で区切られる.
Little Endian
振幅値のみを時系列順に書き込んだバイナリべたファイル.振幅値はリトルエンディアンで書き込まれる.
Big Endian
振幅値のみを時系列順に書き込んだバイナリべたファイル.振幅値はビッグエンディアンで書き込まれる.

 保存する形式を選択した後,保存(S)をクリックする.

名前を付けて保存ダイアログ2

(Text with Timeを選択した例)

1.2.4 周波数分析の結果を保存する

表1.5 周波数分析の結果の保存法
番号 操 作 内 容 操  作 スクリーンショット(クリックで拡大)
1 ファイルを保存するためのウィンドウ表示

 周波数分析の結果が表示されたウィンドウにおいて,以下のいずれかの方法により,名前を付けて保存ウィンドウを表示させる.

  • ファイル(F)名前を付けて保存(A)を選択する.
  • をクリックする.

周波数分析結果の名前をつけて保存1

周波数分析結果の名前をつけて保存2

2 保存先とファイル名の入力

 保存する場所(I)に保存先のフォルダを選択し,ファイル名(N)にファイル名を入力する.次項で設定するファイル形式によっては,自動的に拡張子が付加されない場合があるので,拡張子も指定しておく.

 保存先がマイドキュメントの場合は,ウィンドウ左側のアイコンからマイドキュメントを選択すると,ファイルの場所(I)に簡単に入力できる.

名前を付けて保存ダイアログ1
3 保存する形式の選択

 保存するファイル形式に応じてファイルの種類(T)を選択する.選択できる主なファイル形式は以下のとおりである.

Text
振幅(位相スペクトルの場合は位相)値のみを周波数(ケプストラムの場合はケフレンシー)の昇順で書き込んだテキストファイル.周波数またはケフレンシーごとの振幅(位相)値は改行で区切られる.
Text with Time
ケプストラムを保存する場合の選択項目.ケフレンシーと対応する振幅値をケフレンシーの昇順で書き込んだテキストファイル.ケフレンシーごとの値は改行で,各ケフレンシーにおけるケフレンシーと振幅値は空白で区切られる.
Text with Frequency
スペクトル,スペクトル包絡及び振幅スペクトルを保存する場合の選択項目.周波数と対応する振幅(位相)値を周波数の昇順で書き込んだテキストファイル.周波数ごとの振幅(位相)値は改行で,各周波数における周波数と振幅(位相)値は空白で区切られる.
Little Endian
振幅(位相)値のみを周波数またはケフレンシーの昇順で書き込んだバイナリべたファイル.振幅(位相)値はリトルエンディアンで書き込まれる.
Big Endian
振幅(位相)値のみを周波数またはケフレンシーの昇順で書き込んだバイナリべたファイル.振幅(位相)値はビッグエンディアンで書き込まれる.

 保存する形式を選択した後,保存(S)をクリックする.

名前を付けて保存ダイアログ2

(Text with Frequencyを選択した例)

1.3 編 集

1.3.1 波形の選択

表1.6 波形の選択法
番号 操 作 内 容 操  作 スクリーンショット(クリックで拡大)
1 表示波形の拡大または縮小  必要であれば,図1.1の(6)または(7)のボタンを用いて,表示されている波形を拡大または縮小する. 表示範囲変更ボタン
2 始点の指定  選択したい範囲の始点にカーソルを合わせ,マウスの左ボタンを押す(そのまま離さない). 基点の指定
3 終点の指定  2の操作から続けて,マウスを選択したい範囲の終点までドラッグし,マウスの左ボタンを離す.これで範囲の指定が完了する. 終点の指定

1.3.2 時間軸の単位の変更

表1.7 時間軸の単位の変更法
番号 操 作 内 容 操  作 スクリーンショット(クリックで拡大)
1  表示(V)表示と選択し,更に表示されたサブメニューの中から,単位を選択する.右図は,ミリ秒を選択した場合の状況である. 時間軸の変更

1.3.3 サンプリング周波数の変換

表1.8 サンプリング周波数の変換法
番号 操 作 内 容 操  作 スクリーンショット(クリックで拡大)
1 ファイルを開く  1.2.1または1.2.2の方法で,対象となるファイルを開く. 対象となるファイル
2 サンプリング周波数の変換ウィンドウの表示  編集(E)サンプリング周波数変換(F)と選択し,サンプリング周波数の変換を表示させる. サンプリング周波数変換ウィンドウを開く
3 サンプリング周波数の選択

 サンプリング周波数の変換において,サンプリング周波数で希望する値を選択し,OKをクリックする.右図は,11025[Hz]を選択した場合の状況である.

 オーバーフローが生じた旨のエラーメッセージが表示された場合は,以下の手順で変換をし直す.

  • 編集(E)取り消し(U)と選択し(またはCtrl+Zを押し),直前の操作を元に戻す.
  • 2の操作を再度行ない,サンプリング周波数の変換を表示させる.
  • サンプリング周波数で希望する値を選択し,かつ,ゲインを0.9や0.8など,1.0より少し小さい値にして,OKをクリックする.
サンプリング周波数の選択

1.4 分 析

1.4.1 周期の測定

表1.9 周期の測定法
番号 操 作 内 容 操  作 スクリーンショット(クリックで拡大)
1 表示波形の調整  図1.1の(6)または(7)のボタンを用いて,表示されている波形が右図の程度になるように調整する. 表示波形の調整
2 範囲の選択

 1.3.1の方法で,表示されている波形から数周期を選択する.右図は,6周期を選択した例である.

 選択する範囲の始点及び終点は,右図のように,波形が最大または最小に達した位置とするとよい.

測定範囲の選択
3 周期の計算

 所定の位置(右図の青色枠の位置)に選択した範囲の長さが表示される.この値を前項で選択した周期の数で割り,波形の周期とする.

 右図の場合は,40.635/6=6.77[ms]が波形の周期となる.

周期の表示

1.4.2 周波数分析

表1.10 周波数分析の方法
番号 操 作 内 容 操  作 スクリーンショット(クリックで拡大)
1 横軸の単位の変更  1.3.2の方法により,時間軸の単位をポイントにする.
2 分析の設定ウィンドウの表示

 メニューから編集(F)分析の設定(A)を選択し,分析の設定を表示させる.

分析メニューの設定
3 分析の設定

 分析の設定で,必要な設定を行なう.主な設定項目について,以下に示す.

パラメータタブ

分析の種類

行なう分析の種類を選択する

Spectram
スペクトル
Smoothed Spectram
スペクトル包絡
Phase
位相スペクトル
Cepstrum
ケプストラム
分析窓の種類

選択した区間の信号にかける窓関数の種類を選択する

Rectangle
方形窓(選択した区間のデータをそのまま用いる)
Hamming
ハミング窓
Hanning
ハニング窓
Blackman
ブラックマン-ハリス窓
リフタ長
スペクトル包絡を計算する際に,ケプストラムに適用するリフタの長さ.この値を小さくすると,平滑化の度合いが大きくなる.母音のスペクトル包絡を計算する場合には,分析する母音の周期より小さい値とする.

 OKまたは適用をクリックすると,4以降の操作によって,設定した内容に従った分析が行なわる.適用をクリックした場合は,分析の設定が表示されたままとなり,設定値を変えながら分析を試みることができる.

分析の設定
4 分析範囲の選択

 1.3.1の方法で,表示されている波形からサンプリング周波数と必要とする周波数分解能に応じて,分析に用いる区間を選択する.

 周波数分解能は,分析に用いるサンプル数より大きく,かつ最も近い2のべき乗でサンプリング周波数を割った値となる.従って,分析に用いる区間のサンプル数は,必要とする分解能が得られる2のべき乗より少し小さい数とするとよい.

 右の図は,サンプリング周波数が44.100[kHz]の音声に対して,周波数分解能を2.692[Hz](=44100/16384)とする場合である.

 母音の分析を行なう場合には,先頭部または終端部の振幅が小さくなっている部分や無音部を選択しないようにする.

分析範囲の選択
5 分析メニューの選択

 カーソルを選択した範囲に置き,右クリックする.表示されてメニューから分析(A)指定範囲の分析(M)を選択する.

 ここで広帯域分析(W)狭帯域分析(N)を選択すると,2で選択した範囲を無視し,定められた範囲で分析を行なうため,周波数分解能が想定した値と異なることなる.そのため,周波数の測定において大きな誤差を生じることになるので注意する.

分析メニューの選択
6 スペクトルの表示

 スペクトルが表示される.右上図は母音/a/のスペクトルを計算した例である.

 波形の場合と同様に,カーソル位置の周波数やその成分の大きさが表示される.右下図では,882.861[Hz]の成分の大きさが表示されている.

 ボタンの使用法も波形表示の場合と同様である.

母音のスペクトル

母音/a/のスペクトル

周波数成分の大きさ

周波数とその大きさの表示