米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> ヤマハ株式会社

発明の名称 音響信号処理装置及びプログラム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−24961(P2007−24961A)
公開日 平成19年2月1日(2007.2.1)
出願番号 特願2005−203167(P2005−203167)
出願日 平成17年7月12日(2005.7.12)
代理人 【識別番号】100080931
【弁理士】
【氏名又は名称】大澤 敬
発明者 野口 崇 / 北山 徹
要約 課題

解決手段
特許請求の範囲
【請求項1】
入力信号に信号処理を施し、該入力信号のピッチ情報をフィルタ処理して得たピッチの加工信号を生成する加工信号生成手段と、
前記入力信号と前記加工信号とを混合して出力する混合手段とを設けたことを特徴とする音響信号処理装置。
【請求項2】
請求項1記載の音響信号処理装置であって、
前記加工信号生成手段に、前記入力信号のピッチ情報又はフィルタ処理して得たピッチの値を、時間をずらして加工信号の生成に反映させるようにしたことを特徴とする音響信号処理装置。
【請求項3】
コンピュータを、
入力信号に信号処理を施し、該入力信号のピッチ情報をフィルタ処理して得たピッチの加工信号を生成する加工信号生成手段と、
前記入力信号と前記加工信号とを混合して出力する混合手段として機能させるためのプログラム。
発明の詳細な説明
【技術分野】
【0001】
この発明は、入力信号と、入力信号に対して処理を施して得た信号とを混合して出力するエフェクト機能を有する音響信号処理装置及び、コンピュータをこのような音響信号処理装置として機能させるためのプログラムに関する。
【背景技術】
【0002】
従来から、入力信号と、入力信号に対して処理を施して得たボイス信号と呼ばれる信号とを混合して出力する、ダブリングエフェクトと呼ばれるエフェクトを付与するエフェクタが知られている。
このようなエフェクタにおいて、ボイス信号は、ディレイを用いて入力信号を遅延させて生成したり、入力信号のピッチを単に一定量ずらすピッチシフトを行ったりして生成したりすることが行われていた。また、出力信号は、入力信号とボイス信号を重ねたり、これらの各信号をパンで左右に定位させたりしたものである。
【0003】
このようなエフェクタについては、例えば以下の特許文献1乃至5に記載されている。
【特許文献1】特許第3183117号公報
【特許文献2】米国特許第5301259号明細書
【特許文献3】米国特許第5231671号明細書
【特許文献4】米国特許第5567901号明細書
【特許文献5】米国特許第6046395号明細書
【発明の開示】
【発明が解決しようとする課題】
【0004】
ここで、図13及び図14に、従来のエフェクタにおける入力信号(破線)とボイス信号(実線)のピッチの時間変化を示す。図13はディレイを用いた場合の例、図14はピッチシフトを行った場合の例である。
これらの図からもわかるように、ディレイを用いるだけでは、ピッチの変化の仕方が入力信号とボイス信号で全く同じである。そしてこのため、エフェクトの出力信号が単調に聞こえる傾向があるという問題があった。また、ピッチシフトを行った場合でも、音高がいくら違っていてもピッチの変化の仕方が一定であり、同様な問題があった。
この発明は、このような問題を解決し、変化に富んだエフェクトを、簡単な仕組みで実現できるようにすることを目的とする。
【課題を解決するための手段】
【0005】
上記の目的を達成するため、この発明の音響信号処理装置は、入力信号に信号処理を施し、その入力信号のピッチ情報をフィルタ処理して得たピッチの加工信号を生成する加工信号生成手段と、上記入力信号と上記加工信号とを混合して出力する混合手段とを設けたものである。
このような音響信号処理装置において、上記加工信号生成手段に、上記入力信号のピッチ情報又はフィルタ処理して得たピッチの値を、時間をずらして加工信号の生成に反映させるようにするとよい。
【0006】
また、この発明のプログラムは、コンピュータを、入力信号に信号処理を施し、その入力信号のピッチ情報をフィルタ処理して得たピッチの加工信号を生成する加工信号生成手段と、上記入力信号と上記加工信号とを混合して出力する混合手段として機能させるためのプログラムである。
【発明の効果】
【0007】
以上のようなこの発明の音響信号処理装置によれば、変化に富んだエフェクトを、簡単な仕組みで実現することができる。
また、この発明のプログラムによれば、コンピュータを音響信号処理装置として機能させ、同様な効果を得ることができる。
【発明を実施するための最良の形態】
【0008】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、図1を用いて、この発明の音響信号処理装置の実施形態である電子楽器の構成について説明する。図1はその電子楽器の構成を示すブロック図である。
図1に示すように、この電子楽器10は、CPU11,ROM12,RAM13,検出回路14,表示回路15,オーディオ信号インタフェース(I/F)16,通信I/F17,音源部18,信号処理部19を備え、これらがシステムバス20によって接続されている。そして、検出回路14には操作子21が、表示回路15には表示器22が、信号処理部19にはサウンドシステム23が接続されている。
【0009】
そして、CPU11は、電子楽器10を統括制御する制御部であり、ROM12に記憶された所要の制御プログラムを実行することにより、検出回路14を介した操作子21の操作内容検出、表示回路15を介した表示器22の表示制御、オーディオ信号I/F16を介したオーディオ信号の入力受付、通信I/F17を介した通信の制御、音源部18における波形データ生成の制御、信号処理部19における信号処理の制御等の制御動作を行う。
【0010】
ROM12は、CPU11が実行する制御プログラムや、変更する必要のないデータ等を記憶する記憶手段である。このROM12をフラッシュメモリ等の書き換え可能な不揮発性記憶手段によって構成し、これらのデータを更新できるようにすることも考えられる。
RAM13は、CPU11のワークメモリとして使用したり、一時的に使用するパラメータの値等を記憶したりする記憶手段である。
【0011】
検出回路14は、操作子21に対してなされた操作内容を検出してその内容に従った信号をCPU11に伝達するための回路である。また、操作子21は、キー、ボタン、ダイヤル、スライダ等によって構成され、電子楽器10に対するユーザからの操作を受け付けるための操作手段である。なお、タッチパネルをLCDに積層する等して表示器22と操作子21とを一体に形成することもできる。また、電子楽器10の種類に応じて、鍵盤、弦、パッド、ペダル、ブレスコントローラ等、演奏操作を受け付けるための操作子も含む。
【0012】
表示回路15は、CPU11からの指示に従って表示器22における表示を制御する回路である。また、表示器22は、液晶ディスプレイ(LCD)や発光ダイオード(LED)ランプ等によって構成され、電子楽器10の動作状態や設定内容あるいはユーザへのメッセージ、ユーザからの指示を受け付けるためのグラフィカル・ユーザ・インタフェース(GUI)等を表示するための表示手段である。
【0013】
オーディオ信号I/F16は、マイクや他の音響機器等を接続し、オーディオ信号の入力を受け付けるためのインタフェースである。そして、ここに入力されたオーディオ信号は、信号処理部19における信号処理に供するようにしている。このとき、RAM13等により信号をバッファできるようにしてもよい。また、アナログ信号の入力を受け付ける場合にはA/D変換を行ってデジタル信号に変換するようにしている。
【0014】
通信I/F17は、LAN(ローカルエリアネットワーク)のようなネットワークに接続する等して、PC(パーソナルコンピュータ)等の外部装置と通信するためのインタフェースである。そして、例えばイーサネット(登録商標)規格のインタフェースを用いて構成することができる。
また、通信I/F17として、他の電子楽器、音源装置等、MIDIデータを取り扱う外部装置との間でMIDIデータの送受信を行うためのインタフェースを設けてもよい。このようなインタフェースは、例えばUSB規格や、IEEE1394(Institute of Electrical and Electronic Engineers 1394)規格、あるいはRS232C(Recommended Standard 232 version C)規格等に準拠したインタフェースによって構成することができる。MIDIデータとそれ以外のデータを、共通のインタフェースを介して送受信できるようにすることも考えられる。
【0015】
音源部18は、演奏操作子の操作に従ってCPU11が生成したり、通信I/F17を介して外部装置から受信したりしたMIDI形式の演奏データを基に、複数の発音チャンネルでデジタル音響信号である波形データを生成する音源手段である。そして、生成した波形データはスピーカ等によるサウンドシステム23に入力して発音を行わせたり、信号処理部19に入力して信号処理に供したりする。
【0016】
信号処理部19は、エフェクタやミキサ等として機能し、音源部18によって生成されたりオーディオ信号I/F16を介して入力されたりした波形データに対し、CPU11により設定される処理パラメータに従ったエフェクト付与やミキシング等の信号処理を施す信号処理手段である。また、処理後の信号は、サウンドシステム23に入力し、その信号に基づく発音を行わせるようにしている。
これらの音源部18や信号処理部19は、ソフトウェアによって実現してもハードウェアによって実現してもよい。
【0017】
ところで、上述の電子楽器10は、信号処理部19に、入力信号に対してダブリングのエフェクトを付与するダブリングエフェクタを備えている。なおここでは、ダブリングとは、元の音に、その音を加工した音を重ね、音に厚みを出す処理を指すものとする。そして、このようなダブリング自体は、ダブルトラック録音やADT(Artificial Double Tracking)を模した効果として広く利用されており、ボーカルだけでなくエレキギター等の楽器音に使われることも多い。
【0018】
また、上記の「加工」としては例えば、ディレイ、パンニング、ピッチシフト(ここでは、入力信号のピッチによらず一定量だけピッチを変化させるものをいう)、あるいはこれらにモジュレーションやデチューンを組み合わせた処理が使用されていた。
しかしここでは、上記の「加工」として、入力信号のピッチを、その入力信号のピッチ情報をフィルタ処理して得たピッチに変換するピッチ変換処理を行うようにしている。この点が、この実施形態の特徴である。なおここでは、ピッチ変換に加え、入力信号と、加工後の加工信号であるボイス信号とに対して、それぞれパンニング処理も行うようにしている。
【0019】
次に、図2に、信号処理部19に備える上記のようなダブリングエフェクタの機能構成を示す。
図2に示すように、ダブリングエフェクタ30は、ボイス信号生成部40,遅延処理部50,ミックス部60を備えている。
このうち、ボイス信号生成部40は、上記の「加工」を行ってボイス信号を生成する加工信号生成手段であり、ピッチ検出部41,フィルタ処理部42,ピッチ変換部43を備えている。
【0020】
そして、ピッチ検出部41は、入力信号のピッチを検出してピッチ情報を取得する機能を有するピッチ検出手段である。ピッチ情報取得のためのピッチ検出処理の詳細については、後述する。
フィルタ処理部42は、ピッチ検出部41で取得したピッチ情報に対してフィルタ処理を行うフィルタ処理手段である。このフィルタ処理としては、例えば図3に示すような遅延部71〜74、減衰部75〜79及び加算部80を備えたローパスフィルタ(LPF)が考えられるが、ハイパスフィルタ(HPF)やバンドエリミネートフィルタ(BEF)を始め、他にも種々のフィルタを使用することが考えられる。複数のフィルタを組み合わせてもよい。また、フィルタ処理の前や後ろに遅延を挿入し、ピッチ情報をピッチ変換部43でのピッチ変換処理に反映させるタイミングをずらすようにしてもよい。
【0021】
ピッチ変換部43は、ピッチ検出部41で取得したピッチ情報と、フィルタ処理部42による処理後のピッチ情報とを利用し、入力信号に対してピッチ変換処理を行い、そのピッチをフィルタ処理部42による処理後のピッチ情報が示すピッチに変換してボイス信号を生成する機能を有するピッチ変換手段である。このとき、なるべく音色を変えず、ピッチのみ変換するような処理を行うことが好ましい。この実施形態で採用しているピッチ変換処理については後に詳述する。また、ピッチ変換部43は、生成したボイス信号をミックス部60に供給する。
【0022】
ここで、図4に、フィルタ処理部42でのフィルタ処理にLPFを使用した場合の入力信号とボイス信号のピッチ変化をそれぞれ破線と実線で示す、図13及び図14と対応する図を示す。この図から分かるように、ピッチ情報をLPFに通すことにより、入力信号とボイス信号とで、ピッチの変化の仕方を変えることができる。より具体的には、(a)の例ではボイス信号のピッチの立ち上がりを遅くし、(b)の例ではビブラートの大きさを抑制することができる。
【0023】
図2の説明に戻ると、遅延処理部50は、バッファメモリ等によって構成され、ミックス部60に入力する入力信号を、ボイス信号生成部40でのボイス信号生成処理に必要な時間だけ遅延する遅延手段である。この遅延の長さは、例えば20ミリ秒(ms)程度とすればよい。
【0024】
ミックス部60は、入力信号とボイス信号とを混合して出力する混合手段であり、ゲイン調整部61,64,パン調整部62,65,加算部63,66を備えている。そして、遅延処理部50によって遅延された入力信号と、ボイス信号生成部40によって生成されたボイス信号とに対してそれぞれゲイン調整部61,64でゲイン調整を行った上でパン調整部62,65によりL側信号とR側信号に振り分け、これらを加算部63,66で加算して、LとRのステレオ信号として出力する。
なお、ゲイン調整やパン調整は必須ではなく、単に入力信号とボイス信号とを加算して出力するようにしてもよい。
【0025】
電子楽器10においては、以上のようなダブリングエフェクタ30を設けることにより、入力信号にピッチ変換処理を施し、入力信号のピッチ情報をフィルタ処理して得たピッチの加工信号を生成し、入力信号と混合して出力できるようにし、変化に富んだエフェクトを、簡単な仕組みで実現することができるようにしている。
【0026】
信号処理部19に、他のエフェクタやミキサの機能を設けてもよいことはもちろんであり、ダブリングエフェクタ30の出力を、それらのエフェクタに入力してさらにエフェクトを付与したり、ミキサに入力してミキシング処理に供したりすることもできる。逆に、他のエフェクタやミキサによる処理後の信号をダブリングエフェクタ30に入力するようにすることも考えられる。
また、信号処理部19が複数のチャンネルで信号処理を行う場合に、エフェクタを各チャンネル毎に設けてそれぞれ独立に動作させられるようにしてよいことは、もちろんである。
【0027】
次に、図5を用いて、ピッチ検出部41におけるピッチ検出処理について説明する。
ピッチ検出部41においては、ピッチの検出は、基本的には、入力信号波形101と、その入力信号波形101の+側及び−側のエンベロープに所定値(又は所定の関数値)を乗算して得た+側エンベロープ102及び−側エンベロープ103とが交差する(サンプル値の大小関係が入れ替わる)タイミングを検出することにより行っている。
【0028】
より具体的には、検出フラグIRQを用意し、入力信号波形101が+側エンベロープ102と交差した時点T,Tでこれを0から1に立ち上げ、入力信号波形101が−側エンベロープ103と交差した時点T,Tで1から0に立ち下げるようにし、IRQフラグの立ち上がりから次の立ち上がりまでの時間を、サンプル数をカウントすることにより計測するようにしている。この計測した時間(サンプル数)を検出したピッチとする。
【0029】
なお、Tの直後にも入力信号波形101が+側エンベロープ102と交差するが、この時点ではIRQは既に1であるので、立ち上がりは起こらない。そして、TにIRQフラグが立ち下がった後で入力信号波形101が+側エンベロープ102と交差するTで、次の立ち上がりが起こる。同様なことが、−側エンベロープ103についても言える。
このようにエンベロープを利用するのは、高調波成分を多く含み、1周期内で何度もゼロクロスを繰り返すような信号や、波形の形が崩れていくつものピークを持つような信号等についてのピッチ検出間違いを防ぐためで、ゼロクロスのみの検出に比べるとはるかに正確なピッチが得られる。
【0030】
またここでは、処理対象のオーディオ信号のサンプリング周波数は44.1キロヘルツ(kHz)とし、この場合サンプリング周期は約0.02msである。そして、サンプリング周期より細かい精度でピッチを求めようとする場合には、補間を行って、交差のタイミングをより細かく求めるようにすることも考えられる。
また、図5に示した例では、+側及び−側のエンベロープ102,103は、時間の経過に応じて減衰するようなものとし、前者はIRQフラグの立ち上がり、後者は立ち下がりをトリガに減衰をリセットするようなものとしている。
【0031】
そして、ピッチ検出部41は、以上のような動作により検出した入力信号のピッチを、順にバッファに記録していき、所定タイミング毎、ここでは6ms毎に、バッファに記録したピッチのうち所定個数の平均値を、その時点の入力信号波形101のピッチを示すピッチ情報として出力するようにしている。なお、ここで用いるバッファは、容量が一杯になった場合に古いデータから消去するリングバッファがよい。また、上記の所定個数は例えば16個とすればよく、バッファに記録した数がこれに満たない場合には、既に記録されている分のみの平均値とすればよい。
【0032】
また、上記の検出を行う場合に、ノイズを除去して精度を上げるため、また、ボイス信号の生成を行うべき部分と行うべきでない部分を区別するため、検出条件や検出結果について、以下のような評価を行うようにするとよい。
【0033】
まず、ピッチ検出は、入力信号のレベルが所定値以上の場合にのみ行うようにするとよい。あまりにレベルが低い信号は、無音の信号に混入したノイズと考えられるためである。
また、入力信号波形101がゼロレベルと交差するゼロクロスの回数をカウントし、時間当たりのゼロクロス回数が所定値以上あった場合に、ピッチ検出を行わないようにするとよい。ここでは、この閾値をここでは6ms当たり30回以上としている。このようになる部分は、入力信号は、人の声のうち子音に該当するものであり、このような部分ではボイス信号の加算を行わない方が好ましい出力音が得られることが、経験的にわかっているので、ピッチ検出をやめ、それに連動させてボイス信号の生成も停止させるためである。
【0034】
また、以上の基準を満たす入力信号に対してピッチの検出を開始した場合でも、連続して検出したピッチのばらつきが、所定範囲内、例えば12.5%以内であった場合に初めて連続検出モードに移行し、これが満たされるまでは検出したピッチの値をピッチバッファに記録しないようにするとよい。誤差が大きい場合には、検出結果を信用できないためである。
【0035】
さらに、IRQフラグの立ち上がりから立ち下がりまでの期間の長さをPCNT1、立ち下がりから立ち上がりまでの期間の長さをPCTN0としてそれぞれ計測し、以下の(a)〜(c)の値を求めてバッファに記録し、最新の検出値を1つ前にピッチバッファに記録した値と比較した場合の誤差が所定範囲内、例えば12.5%以内であった場合にのみ、検出した値を新たにバッファに記録するようにしてもよい。(a)〜(c)のうち任意の個数について同時に誤差が所定範囲内であった場合に記録を行うようにしてもよい。
(a)PCNT1+PCTN0(IRQフラグの立ち上がりから次の立ち上がりまで)
(b)PCNT0+PCTN1(IRQフラグの立ち下がりから次の立ち下がりまで)
(c)2周期分のPCNT1+PCNT0
(a)は図5に示したピッチの検出値そのものである。
【0036】
また、上記(a)〜(c)に代えてまたはこれに加えて、(d)として2周期分のPCNT1+PCNT0を検出して(a)の2倍の値と比較し、周期ミスの確認を行うようにしてもよい。
さらに、上記の(a)〜(d)で誤差が所定範囲内でなかった場合に、検出ミスとしてその回数をカウントし、これが所定回数以上となった場合に検出を中止して初めからやり直すようにしてもよい。
例えば、ミスが3回以下の場合には単にバッファへの記録を行わずにピッチ検出を続行し、ミスが4回から7回の場合には検出した値をバッファに記録し、比較対象の値を更新してピッチ検出を続行し、ミスが8回以上の場合にはそれまでバッファに記録したデータを全て破棄して初めから検出をやり直す等である。
【0037】
次に、図6及び図7を用いて、ピッチ変換部43におけるピッチ変換処理について説明する。
ピッチ変換部43においては、ピッチ変換処理として、入力信号111を窓関数を用いて切り出し、これを要素として並べ、その並べる周期によって変換後の波形のピッチを決定する処理を行うようにしている。なおここでは、図6及び図7に示すように、入力信号111の切り出しは、OUT0とOUT1の2系統でタイミングをずらして行い、これらを加算したものをピッチ変換後のボイス信号として出力するようにしている。そして、このような処理によれば、入力信号111のフォルマント情報を保持したままピッチ変換を行うことができる。
この手法は、Lent法と呼ばれ、以下の論文に記載された方法を応用したものである。
Keith Lent (1989) “An efficient method for pitch shifting digitally sampled sounds.” Computer Music Journal Vol. 13 No.4. pp.65-71
【0038】
図6に示すのが、ピッチダウン(周波数減少)の場合の処理例、図7に示すのが、ピッチアップ(周波数増加)の場合の処理例である。
また、これらの図において、Pは、ピッチ検出部41が検出結果として出力する入力信号111のピッチの値、Pは、フィルタ処理部42が出力するボイス信号のピッチの値である。また、SB及びRBは、それぞれ基準区間及び出力区間の長さを示すが、これらの符号は区間自体を表わす符号としても用いる。また、上記の各値は、信号の内容によって変化するものであるので、異なる時点の値には「′」や「″」をつけて区別している。
【0039】
そして、ピッチ変換処理においてはまず、ボイス信号の出力とは関係なく、入力信号111をバッファに書き込むと共に、その入力信号111についてピッチPの2倍の期間を持つ基準区間SBを順に設定していくようにしている。そして、出力のための窓関数による切り出しを行う際には、この基準区間を単位に行うようにしている。
基準区間の長さは、ピッチPが変われば当然変わるが、上述のようにピッチ検出部41はピッチ情報の出力を6ms毎に行うようにしているので、次の出力が行われるまでは、ピッチPの値は変化しないことになる。
なお、上記のバッファは、遅延処理部50のバッファと共通化してもよい。
【0040】
一方、出力信号の生成としては、まずOUT0系統の信号生成を開始するが、この場合、ピッチPの2倍の期間を持つ出力区間RBの設定を行う。そして、その出力区間RBにおいては、その出力区間RBの開始時点における最新の基準区間SB内の入力信号112を、その先頭から順にバッファから読み出して出力する。このとき、読み出した信号には窓関数113を乗算するが、ここでは、この窓関数として、長さが読み出しを行う基準区間SBと等しいハニング窓を用いている。また、入力信号111のバッファへの書き込みと、出力のための読み出しは、並行して行われることになる。
【0041】
また、ピッチダウンの場合、RB>SBであるので、該当する基準区間SBの入力信号112を全て読み出した後も、出力区間RBは続くことになるが、この部分については、「0」のデータを出力するようにしている。
そして、出力区間RBが終了すると、その時点でのボイス信号のピッチP″に従って新たな出力区間RB″を設定し、その開始時点の最新の基準区間SB′の入力信号の読み出しを行い、以後この処理を繰り返す。
【0042】
OUT1系統の信号生成についても、開始時点をPだけずらす点以外は、OUT0系統の場合の処理と同じものとしている。ただし、読み出しを行う基準区間や、出力区間の長さについては、各出力区間の設定時の情報に従って定めるので、OUT0系統の出力信号と全く同じ信号が生成されるとは限らない。
そして、上述のように、OUT0系統とOUT1系統の出力を加算して、ボイス信号として出力する。このような処理により、入力信号111と同様なフォルマントを有するピッチPのボイス信号を出力することができる。
【0043】
一方、ピッチアップの場合には、図7に示す通りRB<SBであるので、基準区間SBの入力信号112を全て読み出す前に出力区間RBが終了するが、この場合には、出力区間RBの終了時に読み出しを中止するようにしている。図7に仮想線で示した波形は、その後の読み出されない部分である。そして、これに対応して、窓関数114として、幅がRBと等しいハニング窓を用いている。
【0044】
しかし、出力区間RBの終了時に、次の出力区間RB″の設定を行い、その開始時点の最新の基準区間SBの入力信号の読み出しを開始する点は、図6の場合と同様である。ただし、図7の例のように、出力区間RB″の設定時に入力信号111において基準区間SBが終了していない場合、同じ基準区間SBの入力信号112を、出力区間RB″でも再度読み出すことになる。
OUT1系統の信号生成について開始時点をPだけずらす点も、図6の場合と同様である。
【0045】
このような処理により、ピッチアップの場合にも、入力信号111と同様なフォルマントを有するピッチPのボイス信号を出力することができる。
なお、もしボイス信号のピッチを入力信号を等しくするのであれば、どちらの処理も適用可能である。
【0046】
また、上述したピッチ変換処理において、入力信号111のバッファへの書き込みと読み出しの速度(時間当たりの処理サンプル数)は等しくするとよいが、読み出し速度を異ならせることにより、入力音声の声質を、男性から女性又はその逆に変換させるジェンダー効果を得ることも考えられる。
さらに、ピッチがサンプル数の整数倍にならない場合等、サンプルとサンプルの間のタイミングにおける信号値が必要になった場合には、適宜補間処理を行うようにするとよい。
【0047】
次に、図8乃至図12に、CPU11が実行する、以上説明してきたピッチ検出及びピッチ変換に関する処理のフローチャートを示す。これらの処理は、ここではCPU11が信号処理部19から必要な情報を取得して行うものとする。そしてこの場合、CPU11は、ダブリングエフェクタ30の機能を有効にする旨の設定がなされると、図8乃至図12のフローチャートに示す処理を、それぞれ独立に開始する。ただし、これらの処理は、信号処理部19側で行うようにしてもよい。
【0048】
まず、図8に、ピッチ検出処理のフローチャートを示す。
この処理においては、まず、ダブリング処理対象の入力信号を1サンプル分入力信号バッファ及び出力信号バッファへ記録する(S11)。ここで、入力信号バッファは、ピッチ変換部43におけるボイス信号の生成に用いるバッファであり、100ms分程度のデータを記憶する容量を有するリングバッファとすればよい。また、出力信号バッファは、遅延処理部50による遅延処理に用いるバッファであり、1秒分程度のデータを記憶する容量を有するリングバッファとすればよい。
【0049】
その後、入力信号のゼロクロスをカウントする(S12)と共に、サンプルカウンタをカウントアップする(S13)。
そしてその後、ピッチ検出中であれば(S14)、入力信号が周期の開始位置か否かの判定を行う(S15)。ピッチ検出中か否かは、次の図9に示す処理で設定するピッチフラグの内容により判断することができる。また、ステップS15の判定は、図5を用いて説明したように、入力信号とエンベロープとの交差の検出に応じてIRQフラグを変化させ、その立ち上がりの有無を検出することにより行うことができる。
【0050】
そして、その判定の結果周期の開始位置であれば(S16)、サンプルカウンタの現在値をピッチデータとしてピッチバッファに記録する(S17)と共に、サンプルカウンタをリセットする(S18)。その後、入力信号の次のサンプルタイミングまで待機し(S19)、次のサンプルタイミングでステップS11に戻って処理を繰り返す。
一方、ステップS16で周期の開始位置でなければ、そのままステップS19に進んで次のサンプルタイミングまで待機する。また、ステップS14でピッチ検出中でなければ、サンプルカウンタをリセットする(S18)と共に、次のサンプルタイミングまで待機する(S19)。
【0051】
なお、以上の図8に示した処理において、ステップS17でピッチデータの記録を行う際、検出条件や検出結果について種々の検討を行うとよいことは、図5の説明で述べた通りであるが、説明を簡単にするため、ここではこのような検討に係る処理は示していない。また、ピッチの検出を行うか否かについては、次の図9に示す処理により、入力信号のゼロクロス数に基づいて判断するようにしている。
【0052】
次に、図9に、ピッチ検出制御処理のフローチャートを示す。
この処理においては、まず、図8のステップS12でカウントしているゼロクロスの数が所定値(ここでは上述のように30回)以下である場合(S21)、ピッチフラグを「1」に設定し、ピッチ検出実行を示す(S22)。その後、ゼロクロス数をリセットし(S25)、ステップS21の処理から所定時間(ここでは上述のように6ms)経過するまで待機し(S26)、その後ステップS21に戻って処理を繰り返す。
また、ステップS21でゼロクロス数が所定値以上である場合には、ピッチフラグを「0」に設定し、ピッチ検出停止を示す(S23)と共に、ピッチバッファに記録しているピッチデータをクリアして(S24)、ステップS25以降の処理に進む。
【0053】
従って、図9のフローチャートの処理においては、ステップS21の処理を所定時間毎に行い、その間のゼロクロス数が所定値以下の場合にピッチ検出実行を設定し、所定値より大きい場合にはピッチ検出停止を設定することになる。
以上の図8及び図9に示した処理により、ピッチ検出部41におけるピッチの検出とその制御を行うことができる。ただし、最終的にピッチ検出部41から検出結果として出力されるピッチの値は、次の図10の処理により求めた値である。
【0054】
次に、図10に、ピッチ設定処理のフローチャートを示す。
この処理においては、まず、ピッチバッファに記録されているピッチデータのうち所定個(例えば16個)のデータの平均値を求めて入力信号のピッチPの値とする(S31)。ここでは、この値がピッチ検出部41から検出結果として出力されるピッチの値となる。
また、ステップS31で求めたピッチPは、フィルタに入力し、そのフィルタで出力値を演算して(S32)、演算した出力値をボイス信号のピッチPとする(S33)。これらのステップS32及びS33の処理が、フィルタ処理部42の機能と対応する処理である。
【0055】
そしてその後、ステップS31の処理から所定時間(ここでは上述のように6ms)経過するまで待機し(S34)、その後ステップS31に戻って処理を繰り返す。
なお、ここでは、図9に示した処理と、図10に示した処理では繰り返し周期が同じであるので、これらの処理を同期させて行ってもよい。また、ステップS31で所定個のデータが記録されていなかった場合には、記録されている分だけの平均値をピッチPの値とすればよい。また、全くデータが記録されていない場合には、ピッチPを出力しなくてよい。この場合、ボイス信号のピッチPはクリアし、ステップS32及びS33の処理は行わなくてよい。
以上の図10に示した処理により、ピッチ変換部43におけるピッチ変換処理に使用する入力信号及びボイス信号のピッチ情報を生成及び設定することができる。そして、これらのピッチ情報は、上記の所定時間毎に更新されることになる。
【0056】
次に、図11に、基準区間設定処理のフローチャートを示す。
この処理においては、まず、基準位置に基準区間が設定されていないか又は基準位置が基準区間の最後尾に達したかのいずれかが満たされたか否か判断する(S41)。
そして、満たされていない場合には、入力信号バッファに記録されている入力信号について基準位置を1サンプル分進めて(S44)、次のサンプルタイミングまで待機し(S45)、その後ステップS41に戻って処理を繰り返す。
【0057】
一方、ステップS41でいずれかが満たされていた場合、その時点で図10に示した処理により入力信号のピッチPが設定されていれば(S42)、入力信号バッファに記録されている入力信号について、現在の基準位置を開始位置とし、長さSBをピッチPの2倍とする次の基準区間を設定して(S43)、ステップS44に進み、以下の処理を続ける。ステップS42で設定されていなければ、そのままステップS44に進み、以下の処理を続ける。
以上の図11に示した処理により、ピッチ変換部43における処理対象の入力信号に対し、図6及び図7を用いて説明したような基準区間を設定することができる。なお、「基準位置」は、単に基準区間の終了を検出するために利用するものであるので、処理の進行度合いを測れるようなパラメータであれば、どのようなものを用いてもよい。
【0058】
次に、図12に、ピッチ変換処理のフローチャートを示す。
この処理においては、まず、出力区間が設定されていないか又は、読出位置を現在の出力区間においてその出力区間が終了するだけ進めたかのいずれかが満たされたか否か判断する(S51)。
そして、満たされていない場合には、読出位置が基準区間の最後尾を越えたか否か判断し(S55)、越えていない場合には、入力信号バッファから読出位置の1サンプルのデータを読み出し、読出位置に応じた窓関数の値を乗じて出力する(S56)。超えていた場合には、0を出力する(S57)。そして、どちらの場合も、読出位置を1サンプル分進める(S58)。なお、上記の窓関数については、図6及び図7を用いて説明した通りである。
【0059】
そしてその後、ピッチを検出中(ピッチフラグが「1」)であれば(S59)、次のサンプルタイミングまで待機し(S60)、その後ステップS51に戻って処理を繰り返す。一方、ピッチを検出中でなければ、設定されている出力区間をクリアして(S61)、その後ボイス信号のピッチPが設定されるまで待機し(S62)、ピッチPが設定されると、ステップS51に戻って処理を繰り返す。
【0060】
また、ステップS51でYESであれば、図10のステップS33の処理でボイス信号のピッチPが設定されているか否か判断し(S52)、設定されていれば、次の出力区間の長さRBをピッチPの2倍に設定する(S53)と共に、読み出し位置を、処理時点の最新の基準区間の開始位置へ移動して(S54)、ステップS55以下の処理に進む。一方、ステップS52で設定されていなければ、そのままステップS61以下の処理に進む。
【0061】
以上の図12に示した処理により、ピッチ変換部43における処理対象の入力信号に基づき、図6及び図7を用いて説明したようなOUT0系統の出力信号を生成することができる。そして、上述の通り、この出力信号と、OUT1系統の出力信号とを加算することによりボイス信号を生成することができる。このOUT1系統の出力信号の生成処理は、開始時期をピッチPだけずらす点以外は、以上の図12に示した処理と同様なものであるが、ピッチPの設定がなくなったりピッチの検出が中止されたりした後で出力を再開する際にも開始時期をずらせるようにするため、ステップS62の後に、ピッチP分の待機処理を追加するとよい。
【0062】
以上でこの実施形態の説明を終了するが、装置の構成や具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述した実施形態においては、ピッチ変換処理にLent法を採用したが、これ以外の方法でピッチ変換を行うようにしてもよい。また、処理対象をアナログの音響信号とし、ピッチ検出処理、フィルタ処理、ピッチ変換処理、ミックス処理等を、アナログ回路によって行うようにしてもよい。
【0063】
また、この発明が、電子楽器以外の音響信号処理装置に適用できることはもちろんであり、例えば、カラオケ装置、ミキサ、音源装置、MIDIシーケンサ、音響信号を処理するソフトウェアを実行可能なPC等、波形を示す音響信号を取り扱う機能を有する装置であれば、任意の装置に適用することが可能である。さらに、この発明を、単体のエフェクタあるいは装置にエフェクタ機能を付与するためのプログラムとして実施することも可能である。
【0064】
また、この発明のプログラムは、コンピュータにハードウェアを制御させて上述したような音響信号処理装置として機能させるためのプログラムであり、予めROMやHDD等に記憶させておくほか、CD−ROMあるいはフレキシブルディスク等の不揮発性記録媒体(メモリ)に記録して提供し、そのメモリからこのプログラムをRAMに読み出させてCPUに実行させたり、プログラムを記録した記録媒体を備える外部機器あるいはプログラムをHDD等の記憶手段に記憶した外部機器からダウンロードして実行させたりしても、同様の効果を得ることができる。
【産業上の利用可能性】
【0065】
以上の説明から明らかなように、この発明の音響信号処理装置又はプログラムによれば、変化に富んだエフェクトを、簡単な仕組みで実現することができる。
従って、斬新な音を生成可能な音響信号処理装置を提供することができる。
【図面の簡単な説明】
【0066】
【図1】この発明の音響信号処理装置の実施形態である電子楽器の構成を示すブロック図である。
【図2】図1に示した信号処理部に備えるダブリングエフェクタの機能構成を示す図である。
【図3】図2に示したフィルタ処理部の一例であるLPFの機能構成を示す図である。
【図4】図2に示したフィルタ処理部でのフィルタ処理にLPFを使用した場合の入力信号とボイス信号のピッチ変化の例を示す図である。
【図5】図2に示したピッチ検出部におけるピッチ検出処理について説明するための図である。
【0067】
【図6】図2に示したピッチ変換部におけるピッチ変換処理について説明するための図である。
【図7】その別の図である。
【図8】図1に示した電子楽器のCPUが実行するピッチ検出処理のフローチャートである。
【図9】同じくピッチ検出制御処理のフローチャートである。
【図10】同じくピッチ設定処理のフローチャートである。
【図11】同じく基準区間設定処理のフローチャートである。
【図12】同じくピッチ変換処理のフローチャートである。
【図13】従来のエフェクタにおける入力信号とボイス信号のピッチ変化の例を示す図である。
【図14】その別の例を示す図である。
【符号の説明】
【0068】
10…電子楽器、11…CPU,12…ROM、13…RAM、14…検出回路、15…表示回路、16…オーディオ信号I/F、17…通信I/F、18…音源部、19…信号処理部、20…システムバス、21…操作子、22…表示器、23…サウンドシステム、30…ダブリングエフェクタ、40…ボイス信号生成部、41…ピッチ検出部、42…フィルタ処理部、43…ピッチ変換部、50…遅延処理部、60…ミックス部、61,64…ゲイン調整部、62,65…パン調整部、63,66…加算部




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013