JP2007233379A - 波動合成装置 - Google Patents

波動合成装置 Download PDF

Info

Publication number
JP2007233379A
JP2007233379A JP2007026204A JP2007026204A JP2007233379A JP 2007233379 A JP2007233379 A JP 2007233379A JP 2007026204 A JP2007026204 A JP 2007026204A JP 2007026204 A JP2007026204 A JP 2007026204A JP 2007233379 A JP2007233379 A JP 2007233379A
Authority
JP
Japan
Prior art keywords
wave
pulse train
circuit
electronic circuit
data
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.)
Granted
Application number
JP2007026204A
Other languages
English (en)
Other versions
JP5103617B2 (ja
Inventor
Masatoshi Sekine
優年 関根
Hidehiko Arai
英彦 荒井
Kazushi Takahashi
一志 高橋
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.)
Tokyo University of Agriculture and Technology NUC
Tokyo University of Agriculture
Original Assignee
Tokyo University of Agriculture and Technology NUC
Tokyo University of Agriculture
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 Tokyo University of Agriculture and Technology NUC, Tokyo University of Agriculture filed Critical Tokyo University of Agriculture and Technology NUC
Priority to JP2007026204A priority Critical patent/JP5103617B2/ja
Publication of JP2007233379A publication Critical patent/JP2007233379A/ja
Application granted granted Critical
Publication of JP5103617B2 publication Critical patent/JP5103617B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】波動の伝播特性を忠実に模擬しつつ、その変化する伝播特性に容易に対応することが可能な波動合成装置を提供する。
【解決手段】波動を表すパルス列を生成するパルス列生成部と、波動が伝播する媒体を電子回路により近似的に模擬し、パルス列が入力され、媒体の 波動伝播特性に応じたパルス列を出力する波動伝播特性シミュレーション回路とを有する。媒体を波動が伝播する伝播時間と電子回路の入出力間のパル ス信号列の伝達時間とが関連付けられるように、電子回路が構成される。
【選択図】図1

Description

本発明は、音波などの波動を合成する波動合成装置に関する。
1950年頃より、音声合成を目指して、音の導波管をモデル化した格子形状の回路で表現し、そこに伝播するアナログ波(電流波、電圧波)をZ変換し、回路の零点、極を用いて伝達特性を解析していた。
またその後、線形予測分析など多くの音声分析手法が提案されてきた。この方法は、基本的特性を解析するには適しているが、形状が複雑な場合には、解析が困難である。そして、合成された音声は、不自然なロボット声となる。
このロボット声になる原因としては、連続な周期音をフーリエ級数で展開し、三角波に分けた基本波を重ね合わせることで、任意の波を合成する技術を利用していることにある。
したがって、従来の技術では、原理的に高調波を取り除くことは不可能である。フーリエ展開の代わりにWavelet展開を利用する技術も知られている。 フーリエ展開よりは良好な結果が得られると考えられる。しかし、基本波で合成することに変わりはなく、たとえば、人間の声道のような複雑な過程で発生した 波形を基本波で合成すると、その合成波形の形には限界がある。
また、模型による人工声道を使用し、より自然な音声を再現できるようにしたもの、あるいは特許文献1に開示されているような人間の声帯の振動をバネ−質量モデルよりなる物理モデルにより模擬する手法などが提案されている。
特開2003−58175号公報
従来技術によるような人工声道の使用、機械的物理モデルでの模擬には、いったん模型またはモデルを作成するとその変更が困難であるという問題があり、一 方、基本波の合成による音声合成には、人間の声道のような複雑な過程で発生した波形の再現に適さないという問題があった。
本発明の目的は、波動の伝播特性を忠実に模擬しつつ、その変化する伝播特性に容易に対応することが可能な波動合成装置を提供することである。
本発明の第1の側面による波動合成装置は、波動を表すパルス列を生成するパルス列生成部と、波動が伝播する媒体を電子回路により近似的に模擬し、パルス 列が入力され、媒体の波動伝播特性に応じたパルス列を出力する波動伝播特性シミュレーション回路とを有する。そして、媒体を波動が伝播する伝播時間と電子 回路の入出力間のパルス信号列の伝達時間とが関連付けられるように、電子回路が構成されていることを特徴とする。
このような構成としたことにより、波動伝播特性を模擬する電子回路の構成を変更することにより、種々の波動伝播特性を有するモデルに対する波動合成が可 能となる。たとえば、本発明を、音声合成装置に適用すれば、人間の声道の多様な変形による多様な音声に対応することができ、合成音声は非常に自然なものと なる。
具体的には、電子回路は、パルス列処理回路であり、その入出力間でのパルス列伝達時間が、媒体を波動が伝播する伝播時間に関連付けられて設定されていることを特徴とする。
このようにすることにより、その入出力間でのパルス列伝達時間が、媒体を波動が伝播する伝播時間に所定の比率で関連付けられるように、パルス列処理回路 を設計することができる。これは、パルス列処理回路の入出力間でのパルス列伝達時間は、その設計により決めることができるからである。
また、波動が伝播する系における波動の反射、減衰、共鳴のうちの少なくとも一つの物理現象を模擬するように、電子回路が構成されていることを特徴とする。
このようにすることにより、複雑な現実の物理現象を模擬することが可能となる。
具体的には、波動の減衰を模擬する電子回路は、媒体中での波動の減衰を表す減衰パラメータを設定する減衰パラメータ設定部と、波動を表すパルス列が入力され、減衰パラメータに基づき、減衰された波動を表すパルス列を出力するパルス列処理部とを有することを特徴とする。
波動の反射を模擬する電子回路は、波動が伝播する系における順方向波動を表す順方向パルス列と、この順方向波動の反射波を表す反対方向パルス列とを合成するパルス列合成部を有することを特徴とする。
波動の分波を模擬する電子回路は、パルス列を分波するパルス列分波部と、このパルス列分波部での分波割合を制御するパルス列分波制御部とを有することを特徴とする。
波動の合成を模擬する電子回路は、パルス列を合成するパルス列合成部と、このパルス列合成部での合成割合を制御するパルス列合成制御部とを有することを特徴とする。
本発明を音声合成装置に適用する場合、媒体が空気となり、電子回路は、シフトレジスタを含む回路で実現でき、シフトレジスタの段数が、そのクロック周波数および空気媒体を音波が伝播する伝播時間に基づいて決定されることを特徴とする。
このようにすることにより、波動(たとえば音波)の伝播を模擬する電子回路を適切に設計できる。
本発明によれば、波動の伝播特性を忠実に模擬しつつ、その変化する伝播特性に容易に対応することが可能な波動合成装置を提供することができる。
本発明では,音声合成部をハードウェアにより構築を行う.本発明では,この音声合成システムの構成,仕様,処理の流れについて説明する.まず,システム全体について説明した後,システムをいくつか分解し,各部分について追っていく.そしてさらに,本システムのコアとなる回路部を細かくブロックに分けての説明を行う.
音声の基本となる音波(基本波)に調音の処理を加えることにより音声を作り上げる音声合成システムの製作を行った.
本システムは,図1のような構成をしている。音声合成システムのメインの処理は、hwModule[1] を用いてハードウェアとして実装を行う.このハードウェア部は,発声器官のモデル化を行ったもので,音声信号を1bit のパルス列信号で扱い,音声生成の処理を行う.
このハードウェア部の制御は,ホストPC でソフトウェアにより行う.ソフトウェアからは,他にも,ハードウェアに対してパラメータ設定を行う.また,本システムでは,音声合成の基本波をソフトウェアにより生成し,ハードウェアに流す機能と,ハードウェアで処理された結果をGUI 上に表示する機能をもつ.
また,出力段には,D級アンプ,スピーカを用意し,ハードウェアから出力されたパルスで表現された信号を音として出す.
このシステムの処理の流れは,図2のようになっている.ソフトウェアにより生成された,量子化ビット8bit,サンプリング周波数44.1kHz の音声の基本波を入力信号とし,ハードウェア内部では基本波を,値の大きさ分のパルスで変調を行った1bit のパルス列の信号で扱い,ソフトウェアからのパラメータ(声道パラメータ,減衰パラメータ)により調音処理を行う.後段のD級アンプには,処理されたパルス列の信号をパルス幅変調をかけて出力し,スピーカを通し,音となって確認する.
本発明で製作した音声合成システムを実現するために,本発明室で開発した再構成可能なLSI であるFPGA が搭載されたメモリ型PCI デバイスであるhwModule(図示せず)を用いて,回路の実装を行った。
hwModule は,FPGA,メモリ,マイクロプロセッサ,PCI バスコントローラにより構成される(図3).FPGAは全部で4個搭載されており,1個はボード制御のPCI バスコントローラ用に使用しており,残りの3個をhwNet(仮想回路)を実装うするために使用する.さらに,処理データを格納するために1Mbyte のLM(LocalMemory,SRAM)を3個搭載している.各FPGA にはLM が二つずつ接続されており,このLM をかいしてFPGA 同士は連結動作を可能にしていて,パイプライン的な動作もできるようになっている.ホストPC からPCI を経由して回路データ(Bit Stream File)およびデータがhwModule上のFPGA またはLMに書き込まれる。また,このhwModule には外部接続のための汎用ポート(GPIF)が3つ設けられていて,各GPIF に16 ビットの信号の入出力が可能である.
hwModule を用いたシステムはhw/sw 複合体となっており,図4は,hw/sw 複合体の実装概念を示す.図4におけるhwNetの部分が本発明で製作した音声合成回路にあたり,hwNet の開発を中心に研究を進めた.
hwObject・・・ハードウェアによる処理をオブジェクト化されたもの。Verilog-HDL 言語の用いて記述する.
swObject・・・通常のソフトウェアによる処理をオブジェクト化されたもの。C++言語を用いて記述する。
hwObjectinterface・・・データをhwModule のLM と読み込み・書き込みを行うや,hwNet にパラメータを与えるといった処理を行う。
hwNet・・・hwObject の機能を実現するためにFPGA に実装される仮想回路。

〔D級アンプ〕
図5は実験で,hwModule のFPGA 上に実装された音声合成回路で処理され,GPIF を通して送られてきたパルス信号を増幅するために使用したD級アンプとD級アンプのブロック図である.基板の上にhwModuleの出力用の汎用GPIF ポートと接続するためのコネクタとD級増幅回路(スイッチング回路),そしてローパスフィルタ回路を用意し,その先に,スピーカーを取り付け作られている(図5).

〔音声合成アプリケーション(sw 構成部)〕
hw/sw 複合体のシステムにおいて,hwModule 上に実装された回路の制御は,ホスト側のコンピュータ上でソフトウェアによるアプリケーションによって行われる.また,ソフトウェアでの処理も行っている.このアプリケーションは,Borland 社製のC++Builder を用いて,研究室のメンバーと開発した.このアプリケーションはC++言語によって記述,構成される.
アプリケーションの行う処理内容としては,主にhwModule への製作した回路(Bit Stream File)のFPGAへの書き込み,回路の制御,回路へのパラメータ設定,データの書き込み・読み込み.ソフトウェアでの演算処理などである.
本発明の音声合成システムにおいては,製作した音声合成回路のFPGA への書き込み,回路の動作制御,音量や音程,調音の調整のためのパラメータの設定.hwModule のLM に基本波として格納するデータの生成・書き込み,回路の処理結果の表示に使用する.また,Sw による音声合成のアプリケーションを行い,Hw による音声合成回路で合成された音との比較やその合成音を解析し検討する.
本発明で使用するそれぞれのアプリケーションの機能の説明をする.
〔SoutForm1〕
声帯ブロックでは,LM に格納された波形データを基本波として処理を行う.ここで格納される波形データは,アプリから生成する.
このアプリケーションで処理される機能は次のようになっている.
1:合成する波形の振幅(0〜255)と再生時間を設定する.
2:Set により波形データを設定したパラメータに従い作り,SwStart で波形データ音声として出力する.また,hwDataSet で作られた波のデータをhwModule のLM に書き込むや,hwStart などでHw による音声出力の操作を行う.
3:ここでは,Hw ディジタル回路へのアドレスなどの設定を行う.HwControl でHw で出力した波形の表示などを行うフォームを開く(詳細は第5 章で説明する).
4 :Wave ファイルの再生や波形の表示を行うため処理を行う.
5:合成した波形データのサンプリングレートなどの詳細を表示する.
6:基本波となる波形の種類(Sin 波,Rosenberg 波,三角波,雑音)を選択.
7:各基本波の周波数などのパラメータを設定.
8 :Rosenberg 波と三角波の周波数を変化させる時に設定する.
9:フォルマントを生成する離散型共振回路の各周波数などを設定.また用いる離散型共振回路(V1,V2,V3,H1) を選択する.それぞれ詳細は後に説明する.
10:離散型共振回路(V3)のパラメータを設定.
11:口唇放射モデルのパラメータ設定.
12:調音モデルのパラメータを設定.
13:hwNet(音声合成回路)の制御(リセット,スタート,ストップ)
14:合成波の波形を表示.
15:14に波形を表示するための操作や保存および波形の数値データなどの保存を行う.
また波形データの周波数スペクトル(FFTによる)グラフを作成.
16:合成した波形データをWave ファイルとして保存および4で使用するWaveファイルを開く.また,テキスト音声合成を行うフォームを表示する.
本発明では,主にRosenberg 波を基本波として用いている.合成する波形データは,サンプリングレート44.1kHz,量子化ビット8bit としている.データ数は44100 個であり,1秒間分の音波データである.同じ基本波を入力した時の従来のソフトウェアによる合成と本発明でのハードウェアによる合成との比較・検討を行う.

〔HwNetAnalizer〕
本発明の音声合成回路(BitStreamFile) をhwModule 上のFPGA に書き込むには,図6に示すアプリケーションを使用する.このアプリは,GUIフォームから呼び出すことができる.機能は主に次のようになっている.
1:VenderID とDeviceID を指定することでPCI に接続されたhwModule を検出する.
2:PCI のBus,Device,Function の情報を収得する.
3:製作した回路データであるBitStreamFile を選択する.
4:BitStreamFile をhwModule の何番目のFPGA 上にロードするか選択する.
5:BitStreamFile のFPGA 上へのロードが成功したか失敗したか通知する.今回は,3つのBitStreamFile をhwModule 上にある各FPGA にロードし,動作させる。

〔SoutHwControl〕
FPGA に実装した回路の制御・検証を行うには,所定のアプリを呼び出して行う.機能は次のようになっている.このアプリでは,回路の動作や声帯ブロック・声道ブロックの回路内のパラメータを指示する.回路は動作させることでLM に格納されたデータを処理し,出力する.また,出力されるデータはLM にも格納される.波形の検証には,このLM に格納されたデータを用いて行い,ここではLM のアドレスを設定することでそのアドレスに格納されたデータを呼び出して波形を表示させる.声帯ブロックのパラメータでは,声帯ブロックにおける振幅や周波数などの制御について指示する.声道ブロックのパラメータでは,声道内での減衰にあたる処理や声道ブロックの接続(1:接続0:切断)および接続部での演算を指示する.
1:回路の動作の制御をする.
2:回路に対してのパラメータ設定をする.
3:回路内部で処理された結果の読み込み・表示を行う.
4:読み込まれた回路内部で処理された結果にたして周波数スペクトル解析を行う.
5:読み込まれた回路内部で処理された結果をデータとして保存する.
それぞれの機能の補足説明をすると,1 は,回路のスタート・ストップ・リセットをパルス信号を送信して行っている.2は,8bit の値を回路に与え,回路の処理を設定し,信号の調整を行う.本発明で準備したパラメータとしては,基本波の音量の調整を行うVolume,基本波の周波数を調整するpitch,回路で使用する基本波データの長さを調整するFirstData,EndData.声道内での音波の減衰・波の分割の調整を行う減衰パラメータ.調音のために声道の形状を決定する声道パラメータを用意した.この声道パラメータは,音声合成回路の声道にあたる
ブロックの5,6個ずつ置かれているポイントに1bit ずつ与えられる.音声合成回路の声道ブロックの箇所で改めて説明させていただく.

〔音声合成回路(hwNet)〕
音声合成回路(hwNet) 部をverilog-HDL 言語[4] を用いて製作した.回路は,音声生成の運動機構に照らし合わせて,図7のような声帯ブロック,声道ブロックから構成される.また,ホストPC とデータのやり取りを行うためにRead Controller ブロック,Write Controller ブロック,パルス幅変調をしてD 級アンプに信号を送るために,PWM ブロックを用意した.回路では,ホストPC のアプリケーションから,量子化ビット数8bit,サンプリング周波数44.1kHz で生成された基本波を入力信号とし,入力信号をパルス数変調をかけ,1bit のパルス信号にし,アプリケーションから設定さらたパラメータ(Volume,Pitch,声道,減衰)により音波の合成処理を行う.そして,合成されたパルス信号にパルス幅変調を行い,D級アンプ・スピーカから音声の出力を行う.回路の各ブロックには8bit 幅のパラメータが与えられる.Read Controller ブロックでは,基本波のデータサイズを調整しながらLM から基本はデータを読み込む.声帯ブロックでは,パラメータVolume・Pitch で基本波の振幅・周波数を調整する.声道ブロックでは,声道パラメータ・減衰パラメータにより声道ブロックの中のパルス変調された音波の反射・透過,重ね合わせの演算処理を行う.音声合成回路の最初の処理にあたるデータの読み込み,基本波データサイズの調整を行うRead Controller ブロックと声帯ブロックは,FPGA1 に実装する.音波の調音を行う声道ブロックは,成人男性の声道の長さである17cm を実装することをめざして,FPGA1 の残りのスペース,FPGA2,FPGA3 を使用して実装を行う(図8参照).それぞれのブロックの回路規模と動作速度を表1(音声合成回路の各ブロックの規模・動作速度を示す表)に示す.
これより各ブロックごとに説明をする.
〔Read Controller ブロック〕
このブロックの機能としては,LM からホストPC で生成された基本波データの読み込みを行う.また,パラメータから基本波のデータのサイズを調整する.このパラメータによる処理動作を取り入れることで,1秒分の音波を連続した一繋がりの波として,以後のブロックに流すことが可能である.このことにより,発声時間の長さを調節でき,単語の処理から長文の処理まで自由に扱うことが可能と考える.さらに,基本波を流しながらのVolume やPitch,声道ブロックのパラメータ変化を用いることで,人が話しているときに近い動きを表現し,なめらかな音節のつながりをする音声合成を考える.ReadBlockを図9に示す。
ブロックの内部にはaddress controller と,Buffer(BlockRAM)を含んだBuffer と言うさらに細かい機能ブロックに分けられる.
address controller はLM からデータを読み込み,Buffer に書き込む処理を行っている.address controller では,図10のようなステートでLM からの読み込み,buffer への書き込みを行っている.
IDLE ステートは,回路が起動されたときおよびリセットが解除されたときに遷移してくるステートである.処理としては,待機である.START 信号がアサートされたとき,ステートに遷移する.
RDYBS ステートは,LM のデータの読み込みを行う準備をするステートである.このステートは値を保持した状態での待機である.LM とのアクセス許可信号であるACK 信号がアサートされたとき,ステートを遷移する.
READDATA ステートは,アクセスするLM のアドレス値をかえながら,データを読み込んでくるステートであり,Buffer にデータとBuffer を制御しているBuffer ブロックに書き込み命令信号のWBE を出している.ACK 信号がディアサートされたときまたは,Buffer がほぼいっぱいになったことを知らせるABSWBFUL 信号がアサートされたとき,別のステートに遷移する.
W AITBUF ステートは,Buffer にデータが入れられる状態になるまで待機するステートである.Buffer に少しデータが入っている状態を知らせるALMWBFUL 信号がディアサートされたとき,別のステートに遷移する.
また,address controller はアプリからパラメータFirstData,EndData をうけて読み込むデータの調整を行っている.パラメータFirstData はLM の読み込みアドレスの開始の値であり,EndData パラメータはアドレスの終わりの値である.これらのパラメータにより,データのサイズを調整して,周期分の基本波を読み込み連続の波になるようにする.パラメータの値は,IDLE ステートでSTART 信号がアサートされたときと,READDATA ステートでアドレスがEndData 値に到達したときに更新される(表2).
Buffer は,LM から来る32bit(4 データ分) 幅のデータを,回路内部で扱いやすくするため,8bit(1 データ分) 幅のデータに並び換え,LM と回路(hwNet) 間でデータの交換をスムーズにする.また,Buffer の読み込み・書き込みの制御を行う.
Buffer は,入力データ幅16bit,出力データ幅8bit.データの入る量は,8bit のデータ512 個分のBlockRAMを並列に使用する.読み込み・書き込みの処理の流れとしては,図11のように,流れてくる32bit の基本波データをBWE 信号のアサートのタイミングにあわせてBuffer の書き込みアドレス値を設定し,データの上位16bitと下位16bit にわけてそれぞれのBuffer に書き込んで行く.読み込みは,BRE 信号のアサートのタイミングにあわせてBuffer の読み込みアドレス値を設定し,8bit ずつデータを出力する.このようにして,32bit 幅で入力されたデータを8bit 幅で順番どおりに並び替えている.
また,このBuffer のアドレス値のよって,ALMWBFUL,ABSWBFUL,BRE の信号を生成しデータの管理を行っている.ちなみに, BUFE とは,BRE 信号と同じものである.さらに,Buffer から読み込むデータを調整して基本波の周波数を調整しているが,それは,Buffer の読み込みアドレスとパラメータを組み合わせた処理で行おり,このことは改めて声帯ブロックで説明する.

〔Write Controller ブロック〕
このブロックでは,アプリケーションから回路の測定点の波形を表示するため,LM にデータの書き込みを行う.動作としてはRead Controller ブロックと同様であるが,データの流れが回路からLMに書き込むというように逆になる(図12)。
まず,声帯ブロックまたは声道ブロックからの1bit のパルス信号を復調ブロックで8bit幅のデータにする.復調の際はパルス信号の処理においての動作の基準となるLCLK とサンプリングタイミングであるPML により,パルス信号の数をカウントし,復調を行う.8bit 幅の信号は,一旦Buffer に格納され4つのデータでひとまとまりとする32bit 幅のデータとして取り出され,図10と同じ状態遷移で処理が行われるaddress controller でのLMへのアクセス処理により,LM に書き込まれる.処理の内容が違う箇所というと,Read Controller ブロックではBuffer のデータ格納状態がいっぱいの状態をチェックなければいけないことに対し,Write Controller ブロックでは,Buffer のデータ格納状態が空であるかをチェックしなければならない.もし,Buffer が空の状態でデータの読み込みを続けた場合,不定値または前回の値がLM に書き込まれてしまい,アプリケーションから回路内部の音波データを正しく確認できない.

〔声帯ブロック〕
このブロックでは,声帯の振動によって,音声の基本となる様々な大きさや高さの波を生成している機能のモデル化を行った.具体的な処理として,Host のコンピュータのアプリケーションからVolume とPitch のパラメータ値を受け,基本波の振幅と周波数の変化を行う.その後,8bit の基本波データをパルス信号に変調を行う.声帯ブロック内部を機能ブロックに分けて考えると図13のようになる.
パラメータVolume は,0 から255 の8bit で与えられ,基本波の振幅を1/128 倍から2 倍の調整を行う.振幅の調整を,Volume パラメータの中心値の128 を基準としたものにするためにVolume パラメータとデータの値の乗算の処理で行う.アプリケーションで生成される基本波は,0 を基準としたRosenberg 波であるが,回路では128 の値を基準と考えているため,基本波に128 を加える(図14).このように,基準を128 とすると,読み込む基本波の値が0 から255 に対して,回路では128 から255 の幅しかないので,値がオーバーしてしまい,波形が歪んでしまう.そこで,アプリケーション上での0 から255 の振幅値の変化と,回路での128 から255 の振幅値の変化を対応させるために,基本波の値を2 で除算を行う.パラメータVolume の演算の流れとしては,2 で除算,Volume と乗算,基準値128 の加算の順で回路で扱う基本波の形にする.
周波数の変換もVolume と同様である.0 から255 の8bit で与えられ,1 のとき基本波の周波数の1 倍として,1 倍から255 倍の調整を行う.基本波の周波数とパラメータの値の掛け算として考えられるような処理を行う,例えば,基本波に20Hz のものを用いた場合,20,40,60・・・5100Hz と変えられる.実際の回路では周波数に対してどのような処理を行っているか説明する.
前でも述べているが,アプリにより生成された基本波データはhwModule のLM に書き込まれる.そしてそれを回路が読み込み,Buffer に格納されbit 幅をあとの処理にあわせて基本波データとして使用する.データをBufferから読み込む際,アドレス値を変え,基本波データの数を調整することで波の周期を変え,結果,周波数を変えている.つまり,波の1周期分のデータが120個の場合,データを一個飛ばしにすると1周期分のデータが60個になり,周期が半分になる.そして周波数は2倍になる.
また,44.1kHz でサンプリングされた基本波を生成されたそのままの周期で処理していくためには,Buffer からのデータを読み込みをサンプリングの周期にあわせる重要である.また,1bit のパルス信号となった音波信号を8bit のデータに復調するときにもサンプリングのタイミングが必要ということで,サンプリング周期を示す信号の生成も行う.このとき,基本波のパルス表現において,サンプリング周波数で量子化された基本波の8bit のデータを,データ値分のパルス信号を発生させるという処理方法を使用することを考え,図14のように,256サイクルでサンプリング周期になる信号をつくり,その信号からPML という信号名生成した.PML をつくる信号にLCLK という信号名をつけた.この信号は,hwNet で使われるクロック信号であるMCLK(66MHz)6 サイクル分である.実際,PML の周波数がいくらか計算すると,
66000000/6×256=42968.75
となった(単位はHz).MCLK5 サイクル分と7 サイクル分を計算した結果,5 サイクル分のときは51562.50Hzであり,7 サイクル分では36830.36 であった.上にも述べた条件をみたしながら,最も基本波データのサンプリング周波数に近いPML を作るためには,MCLK(66MHz)6 サイクル分の信号を基準にすることが確認できる.PML,LCLK はこれよりあとにある処理の基準信号の一つとして送られる.振幅と周波数の調整を経た基本波を,1bit にパルス変調を行う.変調方式としては振幅値をパルスの数で変調を行うパルス数変調を用いた.処理としては,サンプリング信号PML のアサートされたときにパルスの出力を開
始する.
基本波データは8bit で量子化されたデータである.よって次のサンプリング信号までに最大255 個のパルスが生成される.このパルスを生成するためには,サンプリング信号の間を,255 サイクルとサンプリング信号による基本波データ値の取得に使用する1 サイクル,計256 サイクルする信号が必要である.このことから上で述べたLCLK が必要になり,LCLK によりパルス変調を行う.
パルス数変調の流れとしては,サンプリング信号iFWV がアサートされたとき,値iFWDを取得する.その値をLCLK に同期させデクリメント(カウントダウン)させながら0 になるまでパルスを出力する.このとき,詳しい内容は後ろ述べるが声道ブロックでの演算のことを考慮に入れたパルス変調をする.それは,振動の基準となる平均気圧を示す基準パルスrppda という考え方である.基準パルスがある場合,密の状態に近いこと示し,基準パルスがない場合,疎の状態に近いこと示す.これにより,声道ブロック内部での演算の幅を広げることができる.
データの取得ならびにパルス生成は, ph2,とph3 のステートにわけてrfwda とrfwdv が交互にパルス生成のための処理を行う.それぞれのステートで生成されたパルス信号rppdv とrppda を重ね合わせ, 1bit のパルス列信号oPPD として声道ブロックに出力される.

〔声道ブロック〕
このブロックは,声道のモデル化をしたブロックである.声道は,形を変える管状の器官であり,円筒管の連結として考えられる.そこで,音響管内部を音波が伝達しながら足し合わさる現象をディジタル処理で行う.声道ブロック内部では,パルス信号での処理を行うが,パルス信号を気体分子として考える.そこで,演算処理としては,平均気圧からの疎密の振動によって生じる変位が音波であり,そこでの現象を表現するためのものと考える.具体的には,真理値表を考え,その演算をパルス信号の流れのなかで行う.減衰パラメータによりパルス信号の数を調節して,音の減衰・分割や反射・透過を表現をする.減衰パラメータによる演算も真理値表をもちいた演算とする.ここで,形成されたパルス信号は,PWM 変調してD 級アンプへ出力する.
声道ブロック内部を機能ごとに分けると図16のようになる.
声帯ブロックから送られてきたパルス信号は,Articulation Region において調音処理を加えられる.ArticulationRegion の構成,動作は図18のように多くのレジスタと,真理値表で表される演算部から構成されている.入力されたパルス信号は,声帯ブロックからの信号LCLK に同期してレジスタを次々とシフトしながら進んでいく.進無方向が反対の二つの道をレジスタでつくり,片方のレジスタの道は,声帯から唇へと流れていく,進行していく波が流れていき,もう一つの道が声道の壁にぶつかって反射をする波が流れていく.Articulation Region で使用しているレジスタの総数は,7168個であり,進行の後退の2ルートあるため,つなげたレジスタの数は半分の3584個である.このシフトレジスタ群をパルス信号は,LCLK のタイミングにあわせて次々とシフトしていく.パルスが一つレジスタをシフトするのにかかる時間は,LCLK の周期に当り,LCLK は回路のシステムクロックであるMCLK(66Mhz,15nsec)の六サイクル分なので,9nsec である.LCLK でのシフト回数は3584 かいなので,Articulation Region の規模としては,音速を340m/s として考え,レジスタ群の通過にかかった時間,290.304nsecを掛け算すると,9.87mmと求められ,このシステムのArticulation Region は声道の9mm分の長さ,または,長さ9mm の音響管内部での現象を表していることになる.
数箇所に用意されている合成部において波の合成処理が行われる.この合成部に声道パラメータと減衰パラメータが与えられる.声道パラメータは反射をさせるかどうか,減衰パラメータは合成部に流れてきたパルス信号を反射させる割合と透過させる割合を決める.合成部の演算の流れとしては,図18のように行われる.まず信号を反射させるのか透過させるのかを,隣り合った2つのパルス信号とそれぞれ1bit で与えられる声道パラメータと減衰パラメータを入力として真理値表を利用した演算を行う.このあと,波の重ね合わせの演算を行い再びレジスタに流される.それぞれの真理値表を以下にまとめる.演算処理の基準としては,入力される4つのパルス信号から疎密を判断し,演算を行う.これは,声帯ブロックのパルス数変調によるパルスの生成の箇所でも述べたように,入力されるパルスは平均気圧を表す基準パルスと平均気圧との変位を表す変位パルスが交互にながれるパルス列であるということを考慮に入れたからである.透過演算部・反射演算部では変位パルスに対して,減衰パラメータによる分割処理と,声道パラメータによる反射・透過処理を行っている.

〔1.6 PWMブロック〕
PWM ブロックでは,合成処理されたパルス信号にパルス幅変調(PWM)を行い,GPIF を通してD 級アンプに出力をするという機能をもつブロックである.処理の内容としては,声道ブロックから1bit のパルス信号が入力される.サンプリング信号であるPML の状態をみながら,その入力信号に対して,カウントアップを行い,PML がアサートした場合,データをビット幅8bit で処理するレジスタに値を渡す.レジスタが保持する8bit に
もっどたデータは回路内のサンプリング信号と同じ周波数42968.75Hz でるのこぎり波と比較を行い,データの値のほうがのこぎり波の値より大きいとき”1”を出力するパルス幅変調を行う.変調されたパルス信号はGPIF よりD 級アンプに送られる.出力されるパルス信号はフルブリッジ構造であるD 級アンプの要求にこたえ,一方のパルスをNOT 演算により反転させ2bit で出力した.
パルス幅変調時に比較されるのこぎり波はブロックの外で生成される.
図1は、音声合成システム全体構成図である。 図2は、音声合成システムの処理の流れを示す図である。 図3は、hwModule の構成ブロック図である。 図4は、hw/sw 複合体の実装概念図である。 図5は、D級アンプのブロック図である。 図6は、HwNetAnalizerを示す図である。 図7は、音声合成回路の流れを示す図である。 図8は、音声合成回路実装を示す図である。 図9は、ReadBlockを示す図である。 図10は、addresscontroller 状態遷移を示す図である。 図11は、Buffer の読み込み書き込みタイミングを示す図である。 図12は、writeblockを示す図である。 図13は、seitaiblockを示す図である。 図14は、Rosenberg 波のVolume 調整の説明図である。 図15は、周波数処理を示す図である。 図16は、音声合成回路を示す図である。 図17は、Articulation Region の構造を示す図である。 図18は、合成部の演算の流れを示す図である。 図19は、Articulation Region の実装回路を示す図である。

Claims (8)

  1. 波動を表すパルス列を生成するパルス列生成部と、
    波動が伝播する媒体を電子回路により近似的に模擬し、前記パルス列が入力され、前記媒体の波動伝播特性に応じたパルス列を出力する波動伝播特性シミュレーション回路とを有する波動合成装置であって、
    前記媒体を波動が伝播する伝播時間と前記電子回路の入出力間のパルス信号列の伝達時間とが関連付けられるように、前記電子回路が構成されている
    ことを特徴とする波動合成装置。
  2. 前記電子回路は、パルス列処理回路であり、その入出力間でのパルス列伝達時間が、前記媒体を波動が伝播する伝播時間に関連付けられて設定されている
    ことを特徴とする請求項1記載の波動合成装置。
  3. 前記波動が伝播する系における波動の反射、減衰、共鳴のうちの少なくとも一つの物理現象を模擬するように、前記電子回路が構成されている
    ことを特徴とする請求項1または2記載の波動合成装置。
  4. 前記電子回路が、
    媒体中での波動の減衰を表す減衰パラメータを設定する減衰パラメータ設定部と、
    波動を表すパルス列が入力され、前記減衰パラメータに基づき、減衰された波動を表すパルス列を出力するパルス列処理部とを有し、波動の減衰を模擬する
    ことを特徴とする請求項1または2記載の波動合成装置。
  5. 前記電子回路が、
    前記波動が伝播する系における順方向波動を表す順方向パルス列と、
    この順方向波動の反射波を表す反対方向パルス列とを合成するパルス列合成部とを有し、
    波動の反射を模擬する
    ことを特徴とする請求項1または2記載の波動合成装置。
  6. 前記電子回路が、
    パルス列を分波するパルス列分波部と、
    このパルス列分波部での分波割合を制御するパルス列分波制御部とを有する
    ことを特徴とする請求項1または2記載の波動合成装置。
  7. 前記電子回路が、
    パルス列を合成するパルス列合成部と、
    このパルス列合成部での合成割合を制御するパルス列合成制御部とを有する
    ことを特徴とする請求項1または2記載の波動合成装置。
  8. 前記波動が音波、前記媒体が空気、前記電子回路がシフトレジスタを含む回路であり、
    前記シフトレジスタの段数が、そのクロック周波数および空気媒体を音波が伝播する伝播時間に基づいて決定される
    ことを特徴とする請求項1から6の何れかに記載の波動合成装置。
JP2007026204A 2006-02-03 2007-02-05 波動合成装置 Active JP5103617B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007026204A JP5103617B2 (ja) 2006-02-03 2007-02-05 波動合成装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006026423 2006-02-03
JP2006026423 2006-02-03
JP2007026204A JP5103617B2 (ja) 2006-02-03 2007-02-05 波動合成装置

Publications (2)

Publication Number Publication Date
JP2007233379A true JP2007233379A (ja) 2007-09-13
JP5103617B2 JP5103617B2 (ja) 2012-12-19

Family

ID=38553971

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007026204A Active JP5103617B2 (ja) 2006-02-03 2007-02-05 波動合成装置

Country Status (1)

Country Link
JP (1) JP5103617B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007097215A1 (ja) * 2006-02-03 2009-07-09 国立大学法人東京農工大学 波動合成装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02294696A (ja) * 1989-05-10 1990-12-05 Yamaha Corp 残響付与方法
JPH03255499A (ja) * 1990-03-06 1991-11-14 Yamaha Corp 管体シミュレーション装置
JPH07146678A (ja) * 1993-11-22 1995-06-06 Kawai Musical Instr Mfg Co Ltd 音響信号を電子的に処理する手段を有する管楽器
JPH0833749B2 (ja) * 1987-06-15 1996-03-29 株式会社明電舎 音合成方法
JP2508340B2 (ja) * 1990-02-14 1996-06-19 ヤマハ株式会社 楽音波形信号形成装置
WO2007097215A1 (ja) * 2006-02-03 2007-08-30 National University Corporation Tokyo University Of Agriculture And Technology 波動合成装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0833749B2 (ja) * 1987-06-15 1996-03-29 株式会社明電舎 音合成方法
JPH02294696A (ja) * 1989-05-10 1990-12-05 Yamaha Corp 残響付与方法
JP2508340B2 (ja) * 1990-02-14 1996-06-19 ヤマハ株式会社 楽音波形信号形成装置
JPH03255499A (ja) * 1990-03-06 1991-11-14 Yamaha Corp 管体シミュレーション装置
JPH07146678A (ja) * 1993-11-22 1995-06-06 Kawai Musical Instr Mfg Co Ltd 音響信号を電子的に処理する手段を有する管楽器
WO2007097215A1 (ja) * 2006-02-03 2007-08-30 National University Corporation Tokyo University Of Agriculture And Technology 波動合成装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2007097215A1 (ja) * 2006-02-03 2009-07-09 国立大学法人東京農工大学 波動合成装置

Also Published As

Publication number Publication date
JP5103617B2 (ja) 2012-12-19

Similar Documents

Publication Publication Date Title
Cook Identification of control parameters in an articulatory vocal tract model, with applications to the synthesis of singing
Smith III Principles of digital waveguide models of musical instruments
US5528726A (en) Digital waveguide speech synthesis system and method
Mullen et al. Waveguide physical modeling of vocal tract acoustics: flexible formant bandwidth control from increased model dimensionality
Styger et al. Formant synthesis
JPH0348899A (ja) 楽音合成装置
JP2679275B2 (ja) 楽音合成装置
JP5103617B2 (ja) 波動合成装置
EP1815459B1 (en) A system and a method for simulation of acoustic feedback
JP2768168B2 (ja) 楽音合成装置
Kronland-Martinet et al. Modelling of natural sounds by time–frequency and wavelet representations
Mullen et al. Digital waveguide mesh modeling of the vocal tract acoustics
Välimäki Physics-based modeling of musical instruments
JP2014160236A (ja) 音声信号の生成方法、音声合成装置
JP2022146690A (ja) 情報処理装置、システム、方法、およびプログラム
Alku et al. Evaluation of an inverse filtering technique using physical modeling of voice production.
JP2580769B2 (ja) 楽音合成装置
CN113421544B (zh) 歌声合成方法、装置、计算机设备及存储介质
Childers et al. Articulatory synthesis: nasal sounds and male and female voices
JP2674208B2 (ja) 残響付与方法
Smith Efficient yet accurate models for strings and air columns using sparse lumping of distributed losses and dispersion
JPWO2007097215A1 (ja) 波動合成装置
JP2990693B2 (ja) 音声合成装置
JP2824555B2 (ja) 音圧推定装置
JP6520268B2 (ja) 楽音合成装置、方法、およびプログラム、電子楽器

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100203

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111025

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111226

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: 20120904

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150