JP4419486B2 - 音声分析生成装置、及びプログラム - Google Patents

音声分析生成装置、及びプログラム Download PDF

Info

Publication number
JP4419486B2
JP4419486B2 JP2003320312A JP2003320312A JP4419486B2 JP 4419486 B2 JP4419486 B2 JP 4419486B2 JP 2003320312 A JP2003320312 A JP 2003320312A JP 2003320312 A JP2003320312 A JP 2003320312A JP 4419486 B2 JP4419486 B2 JP 4419486B2
Authority
JP
Japan
Prior art keywords
frequency amplitude
amplitude component
frequency
component
shift
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003320312A
Other languages
English (en)
Other versions
JP2005084661A (ja
Inventor
克 瀬戸口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2003320312A priority Critical patent/JP4419486B2/ja
Publication of JP2005084661A publication Critical patent/JP2005084661A/ja
Application granted granted Critical
Publication of JP4419486B2 publication Critical patent/JP4419486B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、音声波形を分析し、その分析結果から音声波形を生成(合成)するための技術に関する。
音声波形を分析し、その分析結果を用いて音声波形を合成する音声分析合成装置は、入力した音声波形に対し声質を変化させるといった音響効果を付与する用途でも利用されている。
その声質の変化は、例えば音声(例えば人声)のフォルマントを操作したり、或いは音声をバンドパスフィルタ(BPF)に通してバンド別に振幅値を特定し、特定した振幅値から構成したフィルタに音声を通すことで行われる。前者の方式を採用した音声分析生成装置としては、例えば特許文献1に記載されたものがある。
その特許文献1に記載された従来の音声分析生成装置では、音声波形を分析して抽出したLPC(線形予測)係数をLSP(Line Spectrum Pare)係数に変換し、そのLSP係数に対して周波数変換を行うことにより、フォルマント位置を移動させていた。しかし、LPC係数からLSP係数への変換やLPCによるフィルタの極の算出では、高次代数方程式を解く必要から演算量が膨大となる。このため、処理が非常に重いという問題点があった。
その問題点により、処理時間を実用的なレベルにするには高性能な高価な処理システムを用意しなければならなかった(これは、特にリアルタイムで分析、生成(合成)を行う場合に強く要求される)。このことから、全体の製造コストを抑える意味からも、処理の負荷をより軽くすることが望まれていた。
特開2003−66982号公報
本発明の課題は、フォルマント位置の操作をより軽い負荷で実現させるための技術を提供することにある。
本発明の第1及び第2の態様の音声分析生成装置は共に、第1の音声波形を分析し、該分析結果を用いて第2の音声波形の生成を行うことを前提とし、それぞれ以下の手段を具備する。
第1の態様の音声分析生成装置は、第1の音声波形を分析して第1の周波数振幅成分、及び位相成分を抽出する分析手段と、高域周波数振幅成分のフィルタリングを行う低域通過フィルタ手段と、第1の周波数振幅成分に対するフォルマントのシフト量を指示する指示手段と、指示手段により指示されたシフト量に従いシフトを行うシフト手段と、第1の周波数振幅成分に対し低域通過フィルタ手段がフィルタリングすることで得られる第2の周波数振幅成分で該第1の周波数振幅成分を除算することにより周波数振幅残差を算出する算出手段と、シフト手段がシフトした第1の周波数振幅成分に対する低域通過フィルタ手段によるフィルタリング、及び第2の周波数振幅成分に対するシフト手段によるシフトのうちの一方を行うことで得られる第3の周波数振幅成分に周波数振幅残差を乗算する乗算手段と、乗算手段が乗算を行うことで得られる第4の周波数振幅成分、及び位相成分を用いて第2の音声波形を生成する音声波形生成手段と、を具備する。
第2の態様の音声分析生成装置は、第1の音声波形を分析して第1の周波数振幅成分、及び第1の位相成分を抽出する分析手段と、高域周波数振幅成分のフィルタリングを行う低域通過フィルタ手段と、周波数振幅成分に対しフォルマントのシフトを行う第1のシフト手段と、第1の周波数振幅成分に対し低域通過フィルタ手段がフィルタリングすることで得られた第2の周波数振幅成分で該第1の周波数振幅成分を除算して得られる周波数振幅残差を算出する残差算出手段と、第1の位相成分から瞬時周波数を算出する瞬時周波数算出手段と、ピッチのシフト量を指示するピッチ指示手段と、ピッチ指示手段が指示したシフト量に従って、瞬時周波数、及び周波数振幅残差をシフトする第2のシフト手段と、第1のシフト手段がシフトした第1の周波数振幅成分に対する低域通過フィルタ手段によるフィルタリング、及び第2の周波数振幅成分に対する第1のシフト手段によるシフトのうちの一方を行うことで得られる第3の周波数振幅成分に、第2のシフト手段によりシフトされた周波数振幅残差を乗算して第4の周波数振幅成分を算出する振幅成分算出手段と、第2のシフト手段によりシフトされた瞬時周波数から第2の位相成分を算出する位相成分算出手段と、第4の周波数振幅成分、及び第2の位相成分を用いて第2の音声波形を生成する音声波形生成手段と、を具備する。
なお、上記第1及び第2の態様において、上記分析手段は、第1の音声波形の分析を高速フーリエ変換を用いて行い、音声波形生成手段は、逆高速フーリエ変換を用いて第2の音声波形を生成する、ことが望ましい。上記低域通過フィルタ手段については、移動平均フィルタとして機能するものである、ことが望ましい。
また、第2の音声波形を第1の音声波形に重畳して出力できる、ことが望ましい。
本発明の第1及び第2の態様のプログラムは、上記第1及び第2の態様の音声分析生成装置をそれぞれ実現させるための機能を搭載している。
本発明は、第1の音声波形を分析して第1の周波数振幅成分、及び位相成分を抽出し、第1の周波数振幅成分をフィルタリングすることで得られる第2の周波数振幅成分で該第1の周波数振幅成分を除算することにより周波数振幅残差を算出し、シフトした第1の周波数振幅成分に対するフィルタリング、及び第2の周波数振幅成分のシフトのうちの一方を行うことで得られる第3の周波数振幅成分に周波数振幅残差を乗算して第4の周波数振幅成分を算出し、その第4の周波数振幅成分、及び位相成分を用いて第2の音声波形を生成する。
第3の周波数振幅成分を得るまでに行われる周波数振幅成分に対するシフトに伴い、フォルマント位置もシフトされる。位相成分に対する操作は行わないために、ピッチは実質的に維持される。このため、ピッチを変化させることなく、フォルマント位置を操作することができる。LPCによる極の移動やLSP係数への変換のために高次方程式を解くような膨大な演算量が必要な処理は行わなくて済むため、そのような処理を行う場合と比較して、処理全体の負荷は大幅に低減させることができる。その低減により、高価な高性能な処理システム(CPU或いはDSP、などを含むもの)を採用しなくとも十分な処理速度が得られることとなる。
上記位相成分から瞬時周波数を算出し、その瞬時周波数、及び周波数振幅残差をシフトし、シフトした周波数振幅残差を第3の周波数振幅成分と乗算して第4の周波数振幅成分を算出し、第4の周波数振幅成分、及びシフトした瞬時周波数から得られる位相成分を用いて第2の音声波形を生成するようにした場合には、フォルマント位置の操作とともにピッチの操作(シフト)も同時に行うことができる。そのようにしても膨大な演算量が必要な処理は行わなくとも済むため、処理全体の負荷の増大は抑えられることとなる。
以下、本発明の実施例について、図面を参照しながら詳細に説明する。
<第1の実施例>
図1は、本実施例による音声分析生成装置を搭載した電子楽器の構成図である。
その電子楽器は、図1に示すように、楽器全体の制御を行うCPU1と、複数の鍵を備えた鍵盤2と、各種スイッチを備えたスイッチ部3と、CPU1が実行するプログラムや各種制御用データ等を格納したROM4と、CPU1のワーク用のRAM5と、例えば液晶表示装置(LCD)や複数のLEDなどを備えた表示部6と、特には図示しない端子に接続されたマイク7から入力されるアナログの音声信号のA/D変換を行いその音声データを出力するA/D変換器8と、CPU1の指示に従い楽音発音用の波形データを生成する楽音生成部9と、その生成部9が生成した波形データのD/A変換を行い、アナログのオーディオ信号を出力するD/A変換器10と、そのオーディオ信号の増幅を行うアンプ11と、そのアンプ11が増幅を行った後のオーディオ信号を音声に変換するスピーカ12と、各種スライダを備えたスライダ部13と、を備えて構成されている。それらの構成において、CPU1、鍵盤2、スイッチ部3、ROM4、RAM5、表示部6、A/D変換器8、楽音生成部9、及びスライダ部13の間はバスによって接続されている。
上記スライダ部13は、図2に示すように、マイク7により入力された音声のピッチのシフトを指示するためのピッチスライダ21と、そのフォルマント位置(周波数)のシフトを指示するためのフォルマントスライダ22と、を備えている。それにより、本実施例による音声分析生成装置は、マイク7により入力された音声のピッチ、或いはフォルマント位置を操作する音響効果を付加できるものとして実現されている。
そのスライダ部13は、図2に示すスライダ21、22の他に、それらのつまみの位置を検出するための検出回路を備えたものである。これはスイッチ部3でも同様である。
マイク7から出力されたアナログの音声信号は、A/D変換器(ADC)8によってデジタルの音声データに変換される。そのA/D変換器8は、例えばサンプリング周波数22,052HzでAD変換(サンプリング)を行う。以降、それがAD変換して得られる音声データについては便宜的に「元音声データ」、或いは「元波形データ」と呼び、マイク7に入力された音声については「元音声」と呼ぶことにする。音声の入力は、CD−ROMやDVD、或いは光磁気ディスク等の記憶媒体を介して行っても良く、LAN、或いは公衆網等の通信ネットワークを介して行っても良い。
図3は、本実施例による音声分析生成装置の機能構成図である。
A/D変換器(ADC)8が出力する元音声データは、例えばRAM5に確保された領域である入力バッファ301に格納される。フレーム抽出・窓かけ部302は、入力バッファ301から1フレーム分の元音声データを切り出し、それに窓関数、例えばハニング窓(Hanning Window)を乗算する。
高速フーリエ変換(FFT)部303は、窓関数乗算後のフレームを対象にFFTを行い、周波数振幅成分と位相成分を算出する。移動平均フィルタ部304は、その周波数振幅成分の平均値を出力するフィルタリングを行うものである。そのフィルタ点数はサンプリング周波数が22,052Hzでは7点が最適である。その場合、移動平均フィルタ部304は、7個の周波数振幅成分単位でフィルタリングを行うことになり、そのようなフィルタリングにより、周波数振幅成分の概形を示す値が出力されることとなる。その値がフォルマント成分に相当する。
逆数演算部306は、フィルタリング後の周波数振幅成分(以降「周波数振幅概形」と呼ぶ)の逆数を算出する。乗算器307は、その逆数にフィルタリング前の周波数振幅成分を乗算する。その乗算結果は、フィルタリングの前後における周波数振幅成分の比を表す値である。ここでは、それを周波数振幅残差と呼ぶことにする。
その周波数振幅残差は、ピッチ移動部310のシフト部310bによってシフト(周波数領域上のシフト)される。そのシフト後の周波数振幅残差が乗算器312に送られる。
フォルマント移動部305のシフト部305aは、FFT部303から受け取った周波数振幅成分をシフト(周波数領域上のシフトである)する。この操作は、音声のピッチをシフトする操作に相当し、そのシフトに伴い、元音声のフォルマント位置もシフトすることになる。しかし、位相成分の操作は行わないので、厳密にはピッチシフトとはならない。それにより、実質的にはフォルマント位置のみが操作されることとなる。
フォルマント移動部305は、その操作後の周波数振幅成分に対し、移動平均フィルタ部305bによりフィルタリングを更に行う。それにより得られる周波数振幅成分概形が乗算器312に送られる。
操作パネル311は、図2に示すスライダ21、22のつまみの位置に応じて、フォルマント位置、及びピッチのそれぞれのシフト量を指示するものである。例えばスライダ部13、CPU1、ROM4、及びRAM5により実現される。本実施例では、それらのシフト量は、元音声のフォルマント位置、ピッチを基準として表す比率で指示するようにしている。以降「フォルマント位置、及びピッチのシフト量を表す比率はそれぞれ「フォルマントシフト比率」及び「ピッチシフト比率」と呼ぶことにする。
周波数振幅成分や位相成分は、インデクスにより管理される。このことから、それらのシフトは、インデクス値に比率を乗算してシフト後のインデクス値を算出し、算出したインデクス値に配置を変更することで行われる。
乗算器312は、フォルマント移動部305からの周波数振幅成分概形をシフト後の周波数振幅残差と乗算し、その乗算結果を出力する。その乗算結果として算出される周波数振幅成分は、ユーザが指定したピッチシフト、フォルマントシフトを施したものに相当する。
上記FFT部303が抽出した位相成分は、瞬時周波数算出部308に送られる。その算出部308は、位相差計測法により、その位相成分、及び前フレームの位相成分(位相データ)を用いて瞬時周波数を算出する。
ピッチ移動部310のシフト部310aは、ピッチシフト比率に応じて、瞬時周波数のシフトを行う。周波数位相差変換部313は、ソフト後の瞬時周波数を位相差に変換する。位相差積算部314は、その位相差を積分することで位相成分を生成する。
逆高速フーリエ変換(IFFT)部315は、位相差積算部314からの位相成分、及び乗算器312からの周波数振幅成分を用いて逆FFTを行う。その位相成分は、元音声のそれから操作を行ったものに相当するため、逆FFTにより生成される時間領域の音声データはフォルマント位置だけでなくピッチも変更したものとなる。窓掛けフレーム加算部316は、その音声データに対し、他のフレームの音声データに加算して重畳するために窓関数を乗算する。その乗算結果が加算器317に送られる。
その加算器317には、フレーム抽出・窓かけ部302が出力する窓関数乗算後の元音声データを増幅器318が増幅して得られる元音声データが送られる。このことから、加算器317は、その元音声データを窓掛けフレーム加算部316からの音声データと加算する。その加算後の音声データは、元音声に、フォルマント位置、或いはピッチを操作した元音声を付加したもの、つまりハーモニー効果を付加したものとなる。それが出力バッファ319に格納された音声データに加算され重畳される。その出力バッファ319は、例えばRAM5に確保された領域であり、それから読み出された音声データが楽音生成部9を介してD/A変換器10に出力されることにより、スピーカ12からハーモニー効果が付加された音声が放音されることとなる。
本実施例による音声分析生成装置は、上述したようにして、元音声データをFFTして周波数振幅成分と位相成分とに分け、ピッチ移動部310によるシフトを行わない場合、周波数振幅成分のシフト操作のみを行うことによりフォルマント位置を移動させる。このため、LPCによる極の移動やLSP係数への変換のために高次方程式を解く場合と比較して、処理全体の負荷は大幅に低減させることができる。その低減により、処理時間は1/4以下にまで短縮することが確認された。また、位相成分を操作することにより、フォルマント位置の他にピッチも操作することができる。このため、元音声を様々に変化させた音声を生成することができる。位相成分の操作にも膨大な演算量は必要としないが、その操作を行わないようにした場合には、処理全体の負荷はより低減させることができる。
以降は、その音声変換装置を実現させるための電子楽器の動作について、図4〜図8に示す各種フローチャートを参照して詳細に説明する。
図4は、全体処理のフローチャートである。始めに図4を参照して、その全体処理について詳細に説明する。なお、その全体処理は、CPU1が、ROM4に格納されたプログラムを実行して電子楽器のリソースを使用することにより実現される。
先ず、ステップ401では、電源がオンされたことに伴い、初期化処理を実行する。続くステップ402では、スイッチ部3を構成するスイッチへのユーザの操作に対応するためのスイッチ処理を実行する。そのスイッチ処理は、例えばスイッチ部3を構成する検出回路に各種スイッチの状態を検出させてその検出結果を受け取り、その検出結果を解析して状態が変化したスイッチの種類、及びその変化を特定して行われる。
ステップ402に続くステップ403では、鍵盤2へのユーザの操作に対応するための鍵盤処理を実行する。その鍵盤処理を実行することにより、鍵盤2への演奏操作に応じて楽音がスピーカ12から放音される。ステップ404にはその後に移行する。
ステップ404では、図2に示すスライダ21、22への操作に対応するためのスライダ処理を実行する。続くステップ405では、表示部6を構成するLCD、或いはLEDを駆動してユーザに提供すべき情報を提供するといったことを実現するためのその他処理を実行する。その実行後は上記ステップ402に戻る。それにより、電源がオンされている間、ステップ402〜405で形成される処理ループを繰り返し実行する。
図5は、上記ステップ404として実行されるスライダ処理のフローチャートである。スライダ部13を構成する検出回路から受け取った検出結果を解析した後に行われる処理の流れを表したものである。次に図5を参照して、そのスライダ処理について詳細に説明する。
先ず、ステップ501では、ピッチスライダ21のつまみの位置が変化したか否か判定する。ユーザがそのつまみの位置を変化させた場合、解析によりそのことが判明することから、判定はYESとなり、ステップ502で変数PitchRatioに代入のピッチシフト比率の設定(更新)を行った後、ステップ503に移行する。そうでない場合には、判定はNOとなり、次にそのステップ503に移行する。
ステップ503では、フォルマントスライダ22のつまみの位置が変化したか否か判定する。ユーザがそのつまみの位置を変化させた場合、同様に判定はYESとなり、ステップ504で変数FormantRatioに代入のフォルマントシフト比率の設定(更新)を行った後、一連の処理を終了する。そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
このようにして、ユーザがスライダ21、或いは22のつまみの位置を変化させると、つまみの位置を変化させたスライダの種類、及びその位置に応じてピッチシフト比率、或いはフォルマントシフト比率が更新される。それにより、ユーザはピッチシフト量、及びフォルマント位置のシフト量を指定できるようになっている。なお、上記変数の値の更新は、例えば予め設定したつまみの位置と設定すべき比率の関係を参照して行うようになっている。
図6は、楽音タイマインタラプト処理のフローチャートである。これは、元音声データの分析、及び音声データの生成(合成)を行うために、例えばサンプリング周期で発生する割り込み信号により実行される処理である。例えば図4に示すスイッチ処理において、音声データの生成を指示するためのスイッチが操作されたと判定したときに割り込み(実行)禁止が解除され(割り込みが有効とされ)、その生成の禁止を指示するためのスイッチが操作されたと判定したときに割り込みが禁止される(割り込みが無効とされる)ようになっている。次に図6を参照して、そのタイマインタラプト処理について詳細に説明する。
先ず、ステップ601では、A/D変換器8から出力される元音声データの入力バッファ301への書き込みを行う。続くステップ602では、フレーム処理タイミングか否か判定する。そのタイミングであった場合、判定はYESとなってステップ603に移行し、そうでない場合には、判定はNOとなり、ここで一連の処理を終了する。
生成した音声データは、設定されたオーバーラップファクタの値に従って既に生成されたフレームの音声データと加算される。このことから、その処理タイミングは、サンプリング周波数、オーバーラップファクタの値から決定される周期で到来する。
ステップ603では、入力バッファ301から1フレームサイズの元音声データを抽出し、窓関数(例えばハニング窓)を乗算する。次のステップ604では、乗算後のフレームを対象にFFTを行い、周波数信号成分と位相成分に分ける。その次に移行するステップ605では、周波数信号成分のフィルタリング処理を行い、そのフィルタリング処理前後の周波数振幅成分の比(=フィルタリング処理前/フィルタリング処理後)である周波数振幅残差を算出する。ステップ606にはその後に移行する。
ステップ606では、変数FormantRatioに代入されたフォルマントシフト比率に応じたフォルマント位置の移動を実現させるためのフォルマントシフト処理を実行する。その実行後は、その実現のためにシフトが行われた周波数振幅成分を対象にフィルタリング処理を行うことで周波数振幅概形を算出する周波数振幅概形算出処理を実行する(ステップ607)。
ステップ607に続くステップ608では、ステップ604で得られた位相成分、及び前フレームの位相成分を用いて瞬時周波数を算出する瞬時周波数算出処理を実行する。その実行後に移行するステップ609では、算出された瞬時周波数、及びステップ605で算出された周波数振幅残差のシフトをそれぞれ行うピッチシフト処理を実行する。その後は、ステップ609のピッチシフト処理でシフトが行われた周波数振幅残差をステップ607で算出した周波数振幅概形と乗算する周波数振幅算出処理をステップ610で実行してからステップ611に移行する。
ステップ611では、ステップ609のピッチシフト処理でシフトが行われた瞬時周波数を位相差に変換する周波数位相差変換処理を実行する。続くステップ612では、その位相差を積分して位相成分を算出する位相差積算処理を実行する。その次のステップ613では、ステップ612で算出した位相成分、及びステップ610で算出した周波数振幅成分を用いて逆FFTを行う。その逆FFTにより1フレーム分の時間領域の音声データ(フォルマント位置、或いはピッチがシフト操作された音声データ)を生成した後はステップ614に移行する。
ステップ614では、生成した音声データに窓関数を乗算し、その乗算結果にステップ603で窓関数を乗算した元音声データを加算する。その次に移行するステップ615では、加算後の音声データ(ハーモニー効果が付加された音声データ)を出力バッファ319に既に格納された音声データに加算して重畳する。その後は、ステップ616で出力バッファ319から音声データを読み出して楽音生成部9に送出してから、一連の処理を終了する。
このようにして、楽音タイマインタラプト処理を実行することにより、フォルマント位置、更にはピッチが操作された音声データが生成され、その音声データが元音声データに加えられる。それにより、元音声にフォルマント位置、更にはピッチが操作された音声を同時に発音させる形でハーモニー効果が付加される。
以降は、そのタイマインタラプト処理内で実行されるサブルーチン処理について図7、及び図8に示す各フローチャートを参照して詳細に説明する。
図7は、上記ステップ606として実行されるフォルマントシフト処理のフローチャートである。始めに図7を参照して、そのシフト処理について詳細に説明する。
図6に示す楽音タイマインタラプト処理において、ステップ604のFFTを行うことで得られた周波数振幅成分は1次元の配列変数Magの各要素に代入される。その要素を指定する添字の値はインデクス値に対応する。このことから、周波数振幅成分のシフトは、シフト後の周波数振幅成分を代入する1次元の配列変数ShiftMagを用意して、配列変数Magの要素に代入された周波数振幅成分を代入すべき配列変数ShiftMagの要素を特定して代入することで行っている。
先ず、ステップ701では、変数iに0を代入する。続くステップ702では、変数ShiftIdxに、変数iの値と変数FormantRatioの値の乗算結果を四捨五入した値(=INT(i×FormantRatio))を代入し、変数Nextには、変数iの値に1を加算した値と変数FormantRatioの値の乗算結果を四捨五入した値(=INT((i+1)×FormantRatio))を代入する。
ステップ703では、変数ShiftIdxの値がフレームサイズFFT_SIZEの1/2の値より小さいか否か判定する。その1/2の値より変数ShiftIdxの値が小さくなかった場合、判定はNOとなってステップ706に移行する。そうでない場合には、判定はYESとなってステップ704に移行する。
周波数振幅成分のフレームサイズの後半部分は前半部分の折り返しとなる。ステップ703の判定を行うのはこのためである。
ステップ704では、配列変数ShiftMagの変数ShiftIdxの値で指定される要素ShiftMag[ShiftIdx]に、配列変数Magの変数iの値で指定される要素Mag[i]の値を代入し、変数ShiftIdxの値をインクリメントする。その次に移行するステップ705では、変数ShiftIdxの値が変数Nextの値より小さいか否か判定する。前者が後者より小さい場合、判定はYESとなって上記ステップ703に戻る。そうでない場合には、判定はNOとなってステップ706に移行する。
ステップ706では、変数iの値をインクリメントする。続くステップ707では、変数iの値がフレームサイズFFT_SIZEの1/2の値より小さいか否か判定する。その1/2の値より変数iの値が小さくなかった場合、判定はNOとなり、ここで一連の処理を終了する。そうでない場合には、判定はYESとなって上記ステップ702に戻る。それにより、配列変数Magの各要素に代入された周波数振幅成分のなかで配列変数ShiftMagの要素に代入すべき周波数成分を全て代入させる。
図8は、図6に示す楽音タイマインタラプト処理内でステップ609として実行されるピッチシフト処理のフローチャートである。次に図8を参照して、そのシフト処理について詳細に説明する。
図6に示す楽音タイマインタラプト処理において、ステップ605で算出した周波数振幅残差は1次元の配列変数ResMagの各要素に代入され、ステップ608で算出した瞬時周波数は1次元の配列変数Freqの各要素に代入される。それらの要素を指定する添字の値はインデクス値に対応する。このことから、それらのシフトはフォルマントシフト処理における周波数振幅成分のシフトと同様に行われる。シフト後の周波数振幅残差、瞬時周波数は、1次元の配列変数ShiftResMagの要素、1次元の配列変数ShiftFreqの要素にそれぞれ代入される。
先ず、ステップ801では、変数iに0を代入する。続くステップ802では、変数ShiftIdxに、変数iの値と変数PitchRatioの値の乗算結果を四捨五入した値(=INT(i×PitchRatio))を代入し、変数Nextには、変数iの値に1を加算した値と変数PitchRatioの値の乗算結果を四捨五入した値(=INT((i+1)×PitchRatio))を代入する。
ステップ803では、変数ShiftIdxの値がフレームサイズFFT_SIZEの1/2の値より小さいか否か判定する。その1/2の値より変数ShiftIdxの値が小さくなかった場合、判定はNOとなってステップ808に移行する。そうでない場合には、判定はYESとなってステップ804に移行する。
ステップ804では、配列変数ShiftResMagの変数ShiftIdxの値で指定される要素ShiftResMag[ShiftIdx]に、配列変数ResMagの変数iの値で指定される要素ResMag[i]の値を代入する。続くステップ805では、配列変数ShiftFreqの変数ShiftIdxの値で指定される要素ShiftFreq[ShiftIdx]に、配列変数Freqの変数iの値で指定される要素Freq[i]の値と変数PitchRatioの値の乗算結果を代入する。ステップ806にはその代入後に移行する。
ステップ806では、変数ShiftIdxの値をインクリメントする。その次に移行するステップ807では、変数ShiftIdxの値が変数Nextの値より小さいか否か判定する。前者が後者より小さい場合、判定はYESとなって上記ステップ803に戻る。そうでない場合には、判定はNOとなってステップ808に移行する。
ステップ808では、変数iの値をインクリメントする。続くステップ809では、変数iの値がフレームサイズFFT_SIZEの1/2の値より小さいか否か判定する。その1/2の値より変数iの値が小さくなかった場合、判定はNOとなり、ここで一連の処理を終了する。そうでない場合には、判定はYESとなって上記ステップ802に戻る。
なお、本実施例では、乗算器312はシフト部310bからの周波数振幅算差を移動平均フィルタ部305bからの周波数振幅概形と乗算するようになっているが、その周波数振幅概形は移動平均フィルタ部304がフィルタリングして得られる周波数振幅概形をシフトしたものであっても良い。そのフィルタリングは、移動平均フィルタによるものでなくとも良く、他の低域通過フィルタによるものであっても良い。
周波数振幅成分等のシフトは、インデクス値に着目して、配列変数の要素の値を変更せずに行っているが、ネビル補間やラグランジュ補間等の高次補間により行っても良い。元音声に重畳する音声は一つの音声のみとしているが、フォルマント位置、更にはピッチを変えて複数の音声を重畳するようにしても良い。
<第2の実施例>
上記第1の実施例では、ピッチをシフトするために周波数振幅残差のシフトを行っている。これに対し、第2の実施例は、そのピッチのシフトを他の方法で実現させるようにしたものである。
第2の実施例による音声分析生成装置を搭載した電子楽器の構成は基本的に第1の実施例におけるそれと同じである。動作も大部分は同じか、或いは比較的に大きな差がない。このようなことから、同じ、或いは区別するほどの相違のないものについては、第1の実施例の説明で付した符号をそのまま用いつつ、第1の実施例から異なる部分に着目して説明を行うこととする。
図9は、第2の実施例による音声分析生成装置の機能構成図である。始めに図9を参照して、その機能的構成、及び各部の動作について詳細に説明する。その図9において、第1の実施例と同じ、或いは区別するほどの相違のないものについては同一の符号を付している。
第2の実施例では、図9に示すように、周波数振幅残差を算出する代わりに、ピッチを有する、声帯音源波形を模擬したRosenberg 波をRosenberg 波生成部901により生成するようになっている。その生成部901は、操作パネル311から指示されたピッチでRosenberg 波を生成する。
FFT部902は、生成部901が生成したRosenberg 波を対象にFFTを行い、周波数振幅成分を乗算器312に送る。それにより、乗算器312は、その周波数振幅成分とフォルマント移動部305の移動平均フィルタ部305bからの周波数振幅概形とを乗算し、その乗算結果をIFFT部315に送る。そのIFFT部315は、その乗算結果である周波数振幅成分とFFT部303からの位相成分を用いて逆FFTを行い、音声データを生成する。
Rosenberg 波は様々なピッチで生成することができる。このため、そのRosenberg 波を生成してそれから得られる周波数振幅成分を周波数振幅概形と乗算した周波数振幅成分を逆FFTに用いることにより、フォルマント位置の操作と併せてそのピッチをシフトさせることができる。そのRosenberg 波の生成に重い負荷の処理を行わなくとも済むため、第1の実施例から負荷が重くなるのを回避しつつ、それらを実現させることができる。この第2の実施例では、ボコーダーやピッチコレクトのような使い方をすることもできる。
第2の実施例による音声変換装置を実現させるための電子楽器の動作については、楽音タイマインタラプト処理(図6参照)が第1の実施例から比較的に大きく異なっている。このことから、そのタイマインタラプト処理についてのみ、図10に示すそのフローチャートを参照して詳細に説明する。ここでは、第1の実施例と同じ符号を付したステップの処理についての説明は基本的に省略する。
第2の実施例では、ステップ607で周波数振幅概形を算出すると、次にステップ1001に移行する。そのステップ1001では、ユーザがピッチスライダ21により指示したピッチでRosenberg 波を生成する。それに続くステップ1002では、そのRosenberg 波を対象にFFTを行い、周波数振幅成分を抽出する。その後はステップ1003に移行する。
ステップ1003では、ステップ1002で抽出した周波数振幅成分とステップ607で算出した周波数振幅概形を乗算して周波数振幅成分を算出する。次のステップ1004では、その周波数振幅成分、及びステップ604で抽出した位相成分を用いて逆FFTを行い、音声データを生成する。その後はステップ614に移行して、それ以降の処理を同様に実行する。
なお、本実施例(第1及び第2の実施例)は、電子楽器に搭載された音声分析生成装置に本発明を適用したものであるが、本発明を適用できる音声分析生成装置はそのような音声分析生成装置に限定されるわけではない。本発明は音声分析生成装置が搭載された装置の種類や用途などに係わらず、幅広く適用できるものである。
フォルマント位置のシフト量やピッチのシフト量は共にユーザが指定するようにしているが、それらは自動的に指定させるようにしても良い。その指定方法や指定させる手段等をユーザが選択できるようにしても良い。
上述したような音声分析生成装置、或いはその変形例を実現させるようなプログラムは、CD−ROM、DVD、或いは光磁気ディスク等の記録媒体に記録させて配布しても良い。或いは、公衆網等で用いられる伝送媒体を介して、そのプログラムの一部、若しくは全部を配信するようにしても良い。そのようにした場合には、ユーザーはプログラムを取得してコンピュータなどのデータ処理装置にロードすることにより、そのデータ処理装置を用いて本発明を適用させた音声分析生成装置を実現させることができる。このことから、記録媒体は、プログラムを配信する装置がアクセスできるものであっても良い。
本実施例による音声分析生成装置を搭載した電子楽器の構成図である。 スライダ部13が備えたスライダを示す図である。 第1の実施例による音声分析生成装置の機能構成図である。 全体処理のフローチャートである。 スライダ処理のフローチャートである。 楽音タイマインタラプト処理のフローチャートである。 フォルマントシフト処理のフローチャートである。 ピッチシフト処理のフローチャートである。 第2の実施例による音声分析生成装置の機能構成図である。 楽音タイマインタラプト処理のフローチャートである(第2の実施例)。
符号の説明
1 CPU
3 スイッチ部
4 ROM
5 RAM
7 マイク
8 A/D変換器
9 楽音生成部
10 D/A変換器
11 アンプ
12 スピーカ
13 スライダ部

Claims (7)

  1. 第1の音声波形を分析し、該分析結果を用いて第2の音声波形の生成を行う音声分析生成装置において、
    前記第1の音声波形を分析して第1の周波数振幅成分、及び位相成分を抽出する分析手段と、
    高域周波数振幅成分のフィルタリングを行う低域通過フィルタ手段と、
    前記第1の周波数振幅成分に対するフォルマントのシフト量を指示する指示手段と、
    前記指示手段により指示されたシフト量に従いシフトを行うシフト手段と、
    前記第1の周波数振幅成分に対し前記低域通過フィルタ手段がフィルタリングすることで得られる第2の周波数振幅成分で該第1の周波数振幅成分を除算することにより周波数振幅残差を算出する算出手段と、
    前記シフト手段がシフトした第1の周波数振幅成分に対する前記低域通過フィルタ手段によるフィルタリング、及び前記第2の周波数振幅成分に対する前記シフト手段によるシフトのうちの一方を行うことで得られる第3の周波数振幅成分に前記周波数振幅残差を乗算する乗算手段と、
    前記乗算手段が乗算を行うことで得られる第4の周波数振幅成分、及び前記位相成分を用いて前記第2の音声波形を生成する音声波形生成手段と、
    を具備することを特徴とする音声分析生成装置。
  2. 第1の音声波形を分析し、該分析結果を用いて第2の音声波形の生成を行う音声分析生成装置において、
    前記第1の音声波形を分析して第1の周波数振幅成分、及び第1の位相成分を抽出する分析手段と、
    高域周波数振幅成分のフィルタリングを行う低域通過フィルタ手段と、
    前記周波数振幅成分に対しフォルマントのシフトを行う第1のシフト手段と、
    前記第1の周波数振幅成分に対し前記低域通過フィルタ手段がフィルタリングすることで得られた第2の周波数振幅成分で該第1の周波数振幅成分を除算して得られる周波数振幅残差を算出する残差算出手段と、
    前記第1の位相成分から瞬時周波数を算出する瞬時周波数算出手段と、
    ピッチのシフト量を指示するピッチ指示手段と、
    前記ピッチ指示手段が指示したシフト量に従って、前記瞬時周波数、及び周波数振幅残差をシフトする第2のシフト手段と、
    前記第1のシフト手段がシフトした第1の周波数振幅成分に対する前記低域通過フィルタ手段によるフィルタリング、及び前記第2の周波数振幅成分に対する前記第1のシフト手段によるシフトのうちの一方を行うことで得られる第3の周波数振幅成分に、前記第2のシフト手段によりシフトされた周波数振幅残差を乗算して第4の周波数振幅成分を算出する振幅成分算出手段と、
    前記第2のシフト手段によりシフトされた瞬時周波数から第2の位相成分を算出する位相成分算出手段と、
    前記第4の周波数振幅成分、及び前記第2の位相成分を用いて前記第2の音声波形を生成する音声波形生成手段と、
    を具備することを特徴とする音声分析生成装置。
  3. 前記分析手段は、高速フーリエ変換を用いて前記第1の音声波形の分析を行い、
    前記音声波形生成手段は、逆高速フーリエ変換を用いて前記第2の音声波形を生成する、
    ことを特徴とする請求項1または2記載の音声分析生成装置。
  4. 前記低域通過フィルタ手段は、移動平均フィルタとして機能するものである、
    ことを特徴とする請求項1〜3の何れか1項に記載の音声分析生成装置。
  5. 前記第2の音声波形を前記第1の音声波形に重畳して出力できる、
    ことを特徴とする請求項1〜4の何れか1項に記載の音声分析生成装置。
  6. 第1の音声波形を分析し、該分析結果を用いて第2の音声波形の生成を行う音声分析生成装置に実行させるプログラムであって、
    前記第1の音声波形を分析して第1の周波数振幅成分、及び位相成分を抽出する分析機能と、
    高域周波数振幅成分のフィルタリングを行う低域通過フィルタ機能と、
    前記第1の周波数振幅成分に対するフォルマントのシフト量を指示する指示機能と、
    前記指示機能により指示されたシフト量に従いシフトを行うシフト機能と、
    前記第1の周波数振幅成分に対し前記低域通過フィルタ機能によりフィルタリングすることで得られる第2の周波数振幅成分で該第1の周波数振幅成分を除算して得られる周波数振幅残差を算出する算出機能と、
    前記シフト機能によりシフトした第1の周波数振幅成分に対する前記低域通過フィルタ機能によるフィルタリング、及び前記第2の周波数振幅成分に対する前記シフト機能によるシフトのうちの一方を行うことで得られる第3の周波数振幅成分に前記周波数振幅残差を乗算する乗算機能と、
    前記乗算機能により乗算を行うことで得られる第4の周波数振幅成分、及び前記位相成分を用いて前記第2の音声波形を生成する音声波形生成機能と、
    を実現させるためのプログラム。
  7. 第1の音声波形を分析し、該分析結果を用いて第2の音声波形の生成を行う音声分析生成装置に実行させるプログラムであって、
    前記第1の音声波形を分析して第1の周波数振幅成分、及び第1の位相成分を抽出する分析機能と、
    高域周波数振幅成分のフィルタリングを行う低域通過フィルタ機能と、
    前記周波数振幅成分に対しフォルマントのシフトを行う第1のシフト機能と、
    前記第1の周波数振幅成分に対し前記低域通過フィルタ機能によりフィルタリングすることで得られる第2の周波数振幅成分で該第1の周波数振幅成分を除算して得られる周波数振幅残差を算出する残差算出機能と、
    前記第1の位相成分から瞬時周波数を算出する瞬時周波数算出機能と、
    ピッチのシフト量を指示するピッチ指示機能と、
    前記ピッチ指示機能により指示したシフト量に従って、前記瞬時周波数、及び周波数振幅残差をシフトする第2のシフト機能と、
    前記第1のシフト機能によりシフトした第1の周波数振幅成分に対する前記低域通過フィルタ機能によるフィルタリング、及び前記第2の周波数振幅成分に対する前記第1のシフト機能によるシフトのうちの一方を行うことで得られる第3の周波数振幅成分に、前記第2のシフト機能によりシフトされた周波数振幅残差を乗算して第4の周波数振幅成分を算出する振幅成分算出機能と、
    前記第2のシフト機能によりシフトされた瞬時周波数から第2の位相成分を算出する位相成分算出機能と、
    前記第4の周波数振幅成分、及び前記第2の位相成分を用いて前記第2の音声波形を生成する音声波形生成機能と、
    を実現させるためのプログラム。
JP2003320312A 2003-09-11 2003-09-11 音声分析生成装置、及びプログラム Expired - Fee Related JP4419486B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003320312A JP4419486B2 (ja) 2003-09-11 2003-09-11 音声分析生成装置、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003320312A JP4419486B2 (ja) 2003-09-11 2003-09-11 音声分析生成装置、及びプログラム

Publications (2)

Publication Number Publication Date
JP2005084661A JP2005084661A (ja) 2005-03-31
JP4419486B2 true JP4419486B2 (ja) 2010-02-24

Family

ID=34418980

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003320312A Expired - Fee Related JP4419486B2 (ja) 2003-09-11 2003-09-11 音声分析生成装置、及びプログラム

Country Status (1)

Country Link
JP (1) JP4419486B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7417273B2 (ja) 2018-10-05 2024-01-18 知明 高田 トルク変換装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8809560B2 (en) 2011-05-17 2014-08-19 Board Of Trustees Of The University Of Arkansas Trans-, trans-conjugated linoleic acid compositions and use thereof
KR102601072B1 (ko) * 2021-10-21 2023-11-09 서울대학교산학협력단 모터 고장 진단을 위한 이미지 생성 방법 및 장치, 상기 이미지를 이용한 모터 고장 진단 방법 및 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7417273B2 (ja) 2018-10-05 2024-01-18 知明 高田 トルク変換装置

Also Published As

Publication number Publication date
JP2005084661A (ja) 2005-03-31

Similar Documents

Publication Publication Date Title
Zölzer et al. DAFX-Digital audio effects
Verfaille et al. Adaptive digital audio effects (A-DAFx): A new class of sound transformations
RU2487426C2 (ru) Устройство и способ преобразования звукового сигнала в параметрическое представление, устройство и способ модификации параметрического представления, устройство и способ синтеза параметрического представления звукового сигнала
Park Introduction to digital signal processing: Computer musically speaking
JP5283757B2 (ja) オーディオ信号のスペクトルの複数の局部重心周波数を決定するための装置及び方法
JP5057535B1 (ja) ミキシング装置、ミキシング信号処理装置、ミキシングプログラム及びミキシング方法
JP4645241B2 (ja) 音声処理装置およびプログラム
CN111418005B (zh) 声音合成方法、声音合成装置及存储介质
CN108269579B (zh) 语音数据处理方法、装置、电子设备及可读存储介质
Creasey Audio Processes: Musical Analysis, Modification, Synthesis, and Control
JP3430985B2 (ja) 合成音生成装置
Välimäki et al. Creating endless sounds
JP2018077283A (ja) 音声合成方法
JP4419486B2 (ja) 音声分析生成装置、及びプログラム
JP4433734B2 (ja) 音声分析合成装置、音声分析装置、及びプログラム
CN112908351A (zh) 一种音频变调方法、装置、设备及存储介质
Hanna et al. Time scale modification of noises using a spectral and statistical model
JP5251381B2 (ja) 音処理装置およびプログラム
JP4245114B2 (ja) 音色制御装置
JP5211437B2 (ja) 音声処理装置およびプログラム
O’Donovan et al. Perceptually motivated time-frequency analysis
JP2019074580A (ja) 音声認識方法、装置およびプログラム
JP2009237590A (ja) 音声効果付与装置
JP2018077281A (ja) 音声合成方法
JP4729859B2 (ja) 音響効果装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090424

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090519

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090804

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090820

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091123

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4419486

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees