• 検索結果がありません。

高分解フーリエ変換による音声分析

N/A
N/A
Protected

Academic year: 2021

シェア "高分解フーリエ変換による音声分析"

Copied!
6
0
0

読み込み中.... (全文を見る)

全文

(1)

はじめに

音声の周波数分析は、単に音声を解析するだけ でなく、音声の圧縮や、音声認識、音声合成など の基礎として非常に重要な技術として使用されて いる。周波数分析の手段としては,数10年まえか ら使用されているバンドパスフィルターや、最近 計 算 能 力 が 上 が っ た

CPU

を 用 い た

Fourier

変 換、最大エントロピー法がある。

Fourier

変換は、計算量が多く実用化が遅れた

が、高速

Fourier

変換(Fast Fourier Transfor-

mation FFT

と略す)が考案され広く使われてき

1)。しかし、計算量の多さや、ハードウェアリ ソースを多く要求するために、データ個数を少量 に制限して使われてきた。音声の標本化周波数 は、44.1

kHz

または、48

kHz

であるか ら、デ ー タ個数を256ないし1024に制限すると、求めよう とする、周波数の分解能は、100

Hz

ないし20

Hz

ということになり楽音を解析するには問題を生ず る。また波形の接続によるスプリアスの問題もあ る。この問題を避けるために、窓関数が考えられ た3)。窓関数とは、Fourier変換がもともと無限

大までの周波数を仮定することと波形がスムース につながっていることを仮定していることを、擬 似的に窓関数で近似する事である。しかし近似に よって本来あるはずのない周波数が生じたり、周 波数分解能が変化したりする3)6)

これを避けるためにデータ量を増やし周波数分 解能を高めることにより欠点を軽減できる。ま た、低域が可聴周波数以下になるようにすれば、

位相のミスマッチによる寄生周波数をフィルター できる。しかし、データを増やすことにより、必 然的に計算量が増加して計算時間がかかる。ま た、周期を長くとることによる時間分解能が悪く なる欠点がある。計算量の増加は、最近の

CPU

の進歩により計算時間は飛躍的に短縮された。そ のうえ

MIT

により開発された

FFT

ライブラリー によって、飛躍的に計算時間の短縮がおこなわれ るようになった2)。その結果、多量のデータの処 理も、数秒で処理できるようになった。音楽

CD

は量子化数16

bit

標本化周波数44.1

KHz

で記録さ れており非圧縮の音源としては、簡単にファイル に読み込めるので、これを、例にとり音声周波数 の分析を再検討してみた。今回は、時間分解能

高分解フーリエ変換による音声分析

白川 利昭

要 約

音声分析にフーリエ変換を用いた。データ個数を256から1047586まで変化してフーリエ変 換を行い音声周波数スペクトルの変化を検討した。フーリエ変換のデータ個数が少ないと、

音声データの周波数分解能を十分取れなくて、256から1057486に増加すると音声に含まれる 微妙な変化が見つかった。

*大妻女子大学 社会情報学部

大妻女子大学紀要

―社会情報系― 社会情報学研究 172008 175

(2)

は、考えないこととした。

方法

使用した音声ファイルは、CDに録音されたも ので、これを

WAV

フォーマットにリッピングし た。

WAV

フォーマットは、Microsoftと

IBM

が提 唱した音声ファイルの形式で、Chunkと呼ばれ るデータの識別のためのヘッダをもっている4)。 このフォーマットは、RIFF(Resource

Inter- change File Format)の音声フォーマットの一つ

である。WAVフォーマットのファイルは、非圧 縮のバイナリーファイルなので、C言語で簡単に 読むことができる。そこで、ファイルを読むプロ グラムを作成した。

また音声の分析のために、プログラムを数本作 成した。使用言語は、C言語である。

このプログラムで呼び出す

FFT

ライブラリー は、以下の2つを選んだ。これらは、すべてオー プンソースのライブラリーである5)6)

1)奥村

FFT

2)

Matteo Frigo and Steven G. Johnson FFTW3

FFT1)は、標準的な、C

言語でかかれたよくで

きた、ソースである。

FFT2)は、公表された FFT

ライブラリーで最

速であるとドキュメントに書いてある。

これ等のライブラリーの使い方を以下に示す。

1)奥村

FFT

奥村

FFT

ライブラリーは、関数宣言と関数 呼び出しだけで使用できる。

//宣言

extern int fft(int n,double[],double[]);

x,y

を複素数のデータとする。

// FFT

関数呼び出し

fft(n,x,y);

x,y

に、FFTされた実部と虚部が代入される。

2)FFTW3

このライブラリーは、いくつかの段階が必要で ある。

まず入力、出力配列を確保するために以下の コードを書く。

//配列の確保 double *in1;

fftw_complex *out1 ; fftw_plan p ;

in1=(double*)fftw_malloc(sizeof(double)*N) ; out1=(fftw_complex*)fftw_malloc(sizeof(fftw_

complex)*N) ;

次に

plan

を作成し、実行させる。

//データのコピーと実行 終了 for(k=0;k<N ; k++)

in1[k]=xL[k] ;

p = fftw _ plan _ dft _ r 2 c _ 1 d ( N , in 1, out 1, FFTW_FORWARD) ;

fftw_execute(p) ; fftw_destroy_plan(p) ;

最後に、planを廃棄する。

配列

out1[0]に実部と out1[1]に虚部が代入 さ

れる

コンパイラは、gcc4.2を使用した。

データの個数は、2の20乗(1048576)を選ん だ。周波数の分解能は、0.02

Hz

となった。時間 分解能は、25秒となった。

グラフ描画ソフトは、100万個のデータ の プ ロットができる

gnuplot

を使用した。

使 用 し た

PC

は、CPUが

Phenom

9950、メ モ リーが8GB、OSは、Fedora9 64

bit

バージョ ンである。メモリーが多量にあるため、すべてオ ンメモリーでプログラムを動かす事ができた。2 分23秒の音声ファイルをすべて変換するに費やし た時間は、6.2秒であった。

使用した音楽データは、以下の2枚の

CD

であ る。

大妻女子大学紀要

―社会情報系― 社会情報学研究 172008 176

(3)

1)

Kenichiro Tokunaga AND GREAT MAKERS C346−2

2)

YO−YO−MA inspired by Bach SRCR 1955−6

結果と考察

図1、2にドミソの和音(293.664

Hz、329.

632

Hz、370.

000

Hz)を人工的にサイン波から作り

データ個数を変化させてフーリエ変換したスペク トルをしめした。3個のスペクトルが所定の周波 数に現れるはずであるが、256個のデータによる 音声スペクトルには、ほとんどこの3個の周波数 が現れていない。データの個数を65536に変える と、スペクトルが明瞭にあらわれ3個の周波数が 分離することが分かる。256個のデータのフーリ エ変換では、音声の周波数分析が不可能であるこ

とが分かる。周波数分解能を求めるならば、ある 程度以上の個数のデータが必要であることがわ かった。そこで、個数を2の20乗にとって解析を 進めた。

図3に

Yo−yo−ma

の演 奏 し た

Bach

の 無 伴 奏 チェロソナタ3番(BWV1007)をフーリエ変換 して周波数スペクトルにした図を示した。図3か ら、音声周波数スペクトルが音律以外に多数ある ことが分かる。このスペクトルを拡大して詳細部 分 を 調 べ て み た。100〜500

Hz

を 拡 大 し た も の を、図4に示した。表1には、音律から求めた、

音階とピークの周波数が示してある。表1から

Yo−yo−ma

は、調 律 を、約4分 の1全 音 低 く し

図1 ド、ミ、ソ和音の周波数スペクトル

データ個数256

図2 ド、ミ、ソ和音の周波数スペクトル

データ個数65536

図3 Bach BWV1007 No.3 Yo-yo-ma 演 奏 の 周 波 数スペクトル

表1 Yo-yo-ma の音階と周波数

音階 平均率

Hz Yo−yo−ma Hz

音声強度

c

130.82 126.34 28.76

d

138.60 143.81 85.23

155.70 24.64

e

164.82 159.71 77.05

163.14 29.40

f

174.62 169.43 50.14

g

196.00 192.24 53.29

c

261.60 253.67 32.09

d

293.66 286.18 74.98

f

249.23 336.94 42.06

g

392.00 382.49 105.28

a

440.00 430.69 31.02

c

523.26 508.51 24.98

白川:高分解フーリエ変換による音声分析 177

(4)

ていることがわかった(スコルダツーラと呼ばれ ている)。Bachの無伴奏チェロ曲では、低い音 を強調し、響きをよくするために、過去には普通 に行われていたことである。音律によるスペクト ルが、音階周波数のみに集中せず、広がりを持っ ていることが分かる。広がりは、±3%ほどある ことが分かる。12平均律の音階の差は、約5%で あるから、となりの音と重なっていることがわか る。この広がりを削った音を聴取してみると、音 が痩せたように感じる(別途発表予定)。このこ とからスペクトルの広がりが音楽として重要であ ることが分かる。このスペクトルを詳しく見ると 音階以外に近接したピークがある。たとえば、

159.7

Hz

と163.1

Hz

に あ る。こ れ は、ビ ブ ラ ー トであろう。

Yo−yo−ma

は、ビブラートを約3Hz

(1秒に約3回)の頻度で周波数を変化させてい ると言うことが分かった。

図5、6に、同 じ 曲 を、Yo−yo−maと 徳 永 兼 一郎が演奏した周波数スペクトルを示した。この 図から分かることは、同じ曲であるが、スペクト ル的には、かなり相違があることである。その理 由は、まず楽器の違いであろう。徳永の使ってい る 楽 器 は、Stradivariusで あ る。で は、楽 器 を 揃えてみよう。徳永は、この

CD

において、作者 の違う4種類のチェロで同一曲を演奏している。

図7にチェロを

Montagnana

にかえて徳永が演 奏した同じ曲を示した。Stradivariusの周波数 スペクトルは、非常に細かい倍音が含まれている

ことが分かる。それに比して、Montagnanaは、

割 合 単 純 で あ る。Yo−yo−maの 演 奏 し た

Bach

は、スペクトルが明らかに

Stradivarius

制作の チェロとことなっており、巷間に言われているよ 図4 Yo-yo-ma BWV1007 No. 3 音声スペクトル

100〜500Hz

図5 Bach BWV1007 No. 3 演奏 徳永兼一郎 楽器 Stradivarius

図6 Bach BWV1007 No. 3 演奏 Yo-yo-ma

図7 Bach BWV1007 No. 3 演奏 徳永兼一郎 楽器 Montagnana

大妻女子大学紀要

―社会情報系― 社会情報学研究 172008 178

(5)

うに、Yo−yo−maは

Montagnana

制作のチェロ を使用していると推測された。

結論

音声を

Fourier

変換する時に、使用するデータ

の個数が重要であることがわかった。音声の高分 解

FFT

は、非常に細かい楽音のニュアンスまで 分析することが出きることが分かった。音楽の3 要素(音階、強度、音色)以外に、音声の豊かさ が、基音のスペクトルの広がりに依存しているこ とが分かった。楽音の圧縮ソフトのおおくはデー タ個数が256ないし512でスペクトルを求めている が、音声の微妙な変化を反映させるためには、

データ個数を変化させて圧縮を試みる必要性があ るものと思える。

references

1)Cooly, J. W and Tukey, J. W, 1965, “An al-

gorithm for the machine calculation of com- plex Fourier series, Mathematics of Com- putation, Vol. 19, No. 90, 297−301.

2)Matteo Frigo, Steven G. Johnson, “FFTW

Manual”, (c)2003 Massachusetts Institute of Technology. FFTW (version3.1, 16 Janu- ary2006).

3)河田 聡編,2002, 科学計測のためのデー タ処理入門 ,CQ出版社,P49。

4)The Programmer’s File and Data Resource,

http : //www.wotsit.org/

5)奥村 晴彦,1991,

C

言語によるアルゴリ ズム辞典 ,技術評論社,P346.

6)日野 幹雄,1977, スペクトル解析 ,朝倉 書店,P193.

白川:高分解フーリエ変換による音声分析 179

(6)

High Resolution Fourier Transformation for Sound Analysis

T OSHIAKI S HIRAKAWA

Social Information processing, School of Social Information, Otsuma Women’s University.

Abstract

The Fourier transform was used for sound analysis. The sound data changed from256 to one million, with the Fourier transform, and it examined the sound frequency spectra.

If there was few data number of the Fourier transform, I cannot take the frequency re- solving power of sound data enough, and a delicate change in the sound was found when I increased from 256 to 1057486.

Key Words

(キーワード)

Fourier Transformation(フーリエ変換),Sound(音声),High Resolution(高分解),

YO−YO−MA, Frequency Spectra

(周波数スペクトル),FFTW,

Montagnana, Stradivar- ius.

大妻女子大学紀要

―社会情報系― 社会情報学研究 172008 180

参照

関連したドキュメント

音節の外側に解放されることがない】)。ところがこ

﹁ある種のものごとは︑別の形をとる﹂とはどういうことか︑﹁し

従って、こ こでは「嬉 しい」と「 楽しい」の 間にも差が あると考え られる。こ のような差 は語を区別 するために 決しておざ

 音楽は古くから親しまれ,私たちの生活に密着したも

④日常生活の中で「かキ,久ケ,.」音 を含むことばの口声模倣や呼気模倣(息づかい

WAV/AIFF ファイルから BR シリーズのデータへの変換(Import)において、サンプリング周波 数が 44.1kHz 以外の WAV ファイルが選択されました。.

Classroom 上で PowerPoint をプレビューした状態だと音声は再生されません。一旦、自分の PC

具体音出現パターン パターン パターンからみた パターン からみた からみた音声置換 からみた 音声置換 音声置換の 音声置換 の の考察