(58)【調査した分野】(Int.Cl.,DB名)
前記出力部は、前記ブレスセンサの出力信号に基づいてゲインを決定するゲイン決定部と、前記楽音信号と前記加工音信号とを加算する加算器と、当該加算器からの出力信号に対して前記決定されたゲインを乗算して出力する乗算器と、を備えた請求項1に記載の電子楽器。
前記出力部は、前記ブレスセンサの出力に基づいてゲインを決定するゲイン決定部と、前記楽音信号に対して前記決定されたゲインを乗算する乗算器と、当該乗算器からの出力信号と前記加工音信号とを加算して出力する加算器と、を備える請求項1に記載の電子楽器。
声を検知するボイスセンサと、前記発声に伴う呼気の圧力および当該呼気の流量の少なくとも一方を検知するブレスセンサとを有する電子楽器として用いられるコンピュータに、
前記音高指定キーの操作状態に基づいて決定された音高の楽音の生成を音源に指示するステップと、
前記ボイスセンサからの出力信号を加工して加工音信号を生成するステップと、
前記ブレスセンサの出力信号と、前記楽音信号と、前記加工音信号とに基づいた信号を生成して出力するステップと、
を実行させるプログラム。
前記ブレスセンサの出力からブレス・エンベロープを抽出する第1エンベロープ抽出部と、前記音センサの出力からボイス・エンベロープを抽出する第2エンベロープ抽出部と、前記加工音信号のレベルを制御する制御部と、をさらに備え、
前記制御部は、前記ボイス・エンベロープおよび前記ブレス・エンベロープの少なくとも一方に基づいて、前記加工音信号のレベルを制御し、
前記ゲイン決定部は、前記ブレス・エンベロープおよび前記ボイス・エンベロープの少なくとも一方に基づいて、前記ゲインを決定する、請求項10に記載の電子楽器。
音を検知する音センサと、前記発声に伴う呼気の圧力および当該呼気の流量の少なくとも一方を検知するブレスセンサとを有する電子楽器として用いられるコンピュータに、
前記音高指定キーの操作状態に基づいて決定された音高の楽音の生成を音源に指示するステップと、
前記音センサからの出力信号を加工して加工音信号を生成するステップと、
前記ブレスセンサの出力に基づいてゲインを決定するステップと、
前記楽音信号のレベルを前記決定されたゲインに対応して制御するとともに、当該レベルの制御された楽音信号と前記加工音信号とを加算して出力するステップと、
を実行させるプログラム。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。
図1は、本実施形態による電子楽器のマウスピース部100の断面図である。
【0013】
マウスピース部100内の奥に設置されるブレスセンサ101は、例えば圧力センサであり、吹奏者(演奏者)が吹き込み口103を咥えて吹き込んだ息の吹き込み圧力を検知する。
【0014】
ボイスセンサ102は、例えばマイクであり、上述の吹奏動作とともに吹奏者により発声される音声を検知する。
【0015】
図2は、電子楽器の第1の実施形態のブロック図である。この電子楽器は、
図1に示したブレスセンサ101およびボイスセンサ102、第1エンベロープ抽出部201、ブレス閾値検出部203、音高指定複数キー204、音高決定部205、発音指示指示部206、Wave Generator音源(ウェーブ・ジェネレータ)207、ノーマル音波形データ208、加工部209、そして加算器214とゲイン決定部211と乗算器215とからなる出力部219、DAC(デジタルアナログコンバータ)/増幅器216、およびスピーカ217を備える。
【0016】
第1エンベロープ抽出部201は、ブレスセンサ101が検出した吹奏圧や呼気流量などのブレス出力値からそのエンベロープ特性であるブレス・エンベロープを抽出する。
【0017】
ブレス閾値検出部203は、ブレス・エンベロープが所定の閾値であるブレス閾値を超えたか否かを判定し、超えた場合に、指示部206に対して発音指示を行うように通知する。
【0018】
音高指定複数キー204は、吹奏者が管楽器の指使いにより発生すべき楽音の音高指定を行うためのキースイッチ群である。
【0019】
音高決定部205は、音高指定複数キー204における管楽器の指使いによる操作状態に基づいて、発生すべき楽音の音高を決定する。
【0020】
指示部206は、ブレス閾値検出部203から通知があった場合に、音源207に対して、音高決定部205で決定された音高による発音指示を出力する。
【0021】
音源207は、それが内蔵するROMに記憶されたノーマル音波形データ208を、指示部206による発音指示に基づく音高で読み出して出力する。ノーマル音波形データ208は、管楽器の通常演奏時の楽音をサンプリングした波形データである。
【0022】
加工部209は、ボイスセンサ102により検知された音声を加工して加工音(特殊奏法音)を発生させる加工音信号を生成する。
【0023】
加算器214は、音源207から出力されるノーマル音の楽音信号に乗算器213から出力される加工音信号を加算する。
【0024】
ゲイン決定部211は、第1エンベロープ抽出部201が抽出したブレス・エンベロープのブレス・レベルに従って、加算器214から出力される楽音信号のゲインを決定し、それに対応する乗算値を乗算器215に与える。
【0025】
乗算器215は、加算器214の出力に対して、ゲイン決定部211から与えられた乗算値を乗算する。
【0026】
DAC/増幅器216は、乗算器215から出力される楽音信号を、デジタル信号からアナログ信号に変換した後、増幅する。
【0027】
スピーカ217は、DAC/増幅器216から出力される増幅された楽音信号を放音する。
【0028】
以上のようにして、
図2の構成を有する電子楽器の第1の実施形態によれば、吹奏者による発声動作に基づいて、ノーマル楽音と加工音を混合して発音することが可能となる。
【0029】
図3は、電子楽器の第2の実施形態のブロック図である。この電子楽器は、
図2に示した第1の実施形態に対して、第2エンベロープ抽出部202、制御部210、および乗算器213をさらに備える。
【0030】
第2エンベロープ抽出部202は、ボイスセンサ102が検出した音声のエンベロープ特性であるボイス・エンベロープを抽出する。具体的には例えば、第2エンベロープ抽出部202は、ボイスセンサ102が出力するアナログ出力音声信号値をデジタル信号に変換し、その変換結果に対してピークレベルをひろってゆく処理(例えば低い周波数のローパスフィルタ処理)を実行し、その実行結果をボイス・エンベロープとして出力する。
【0031】
制御部210は、第2エンベロープ抽出部202が抽出したボイス・エンベロープのボイス・レベルに従って、管楽器の通常の楽音であるノーマル音の楽音信号に対する管楽器のグロウリング奏法によって発音される音声の信号である加工音信号の合成比率を決定し、乗算器213に対して乗算値を与える。
【0032】
乗算器213は、加工部209から出力される加工音信号に対して、制御部210から与えられた乗算値を乗算する。
【0033】
図4は、
図3の第2の実施形態における
図3の制御部210およびゲイン決定部211の構成例を示す図である。
【0034】
制御部210は、第2エンベロープ抽出部202が抽出したボイス・エンベロープのボイス・レベルを入力として、ボイス・レベルの入力値(横軸)が大きくなるほど0から1に向かって出力乗算値(縦軸)が増加する特性を有する加工音用テーブル401を備える。制御部210は、ボイス・レベルの入力値に対して、加工音用テーブル401を参照することにより、乗算器213に対する乗算値を決定する。
【0035】
合成比決定制御部210、乗算器213、および加算器214により、
図1のマウスピース部100からボイスセンサ102への吹奏者による音声入力が大きくなるほど加工音の混合比率が高くなるようにノーマル音と加工音が混合された楽音信号が得られることになる。
【0036】
ゲイン決定部211は、第1エンベロープ抽出部201が抽出したブレス・エンベロープのブレス・レベルを入力として、ブレス・レベルの入力値(横軸)がブレス閾値検出部203が決定するブレス閾値に達するまでは出力乗算値(縦軸)が0(ゼロ)で、ブレス・レベルの入力値がブレス閾値を超えると、ブレス・レベルの入力値が大きくなるほど0から1に向かって出力乗算値が増加する特性を有するゲイン・テーブル402を備える。ゲイン決定部211は、ブレス・レベルの入力値に対して、ゲイン・テーブル402を参照することにより、乗算器215に対する乗算値を決定する。
【0037】
ゲイン決定部211および乗算器215により、
図1のマウスピース部100からブレスセンサ101への吹奏者による息の吹き込み圧力が強くなるほど大きな音量となる楽音信号が得られる。
【0038】
以上のようにして、
図3および
図4の構成を有する電子楽器の第2の実施形態によれば、吹奏者による加工音の発声動作に基づいて、ノーマル楽音と加工音をシームレスに混合して発音することが可能となる。
【0039】
図5は、電子楽器の第3の実施形態のブロック図である。
図5の構成が
図2に示した第1の実施形態の構成と異なる点は、
図2の第1の実施形態では、音源207から出力されるノーマル音と加工部209から出力される加工音とが加算器214で加算された後に、乗算器215でゲイン決定部211から与えられた乗算値が乗算されるのに対して、
図5の第3の実施形態では、ノーマル音に対して乗算器215でゲイン決定部211から与えられた乗算値が乗算された後に、加工音が加算器214で加算される点である。
【0040】
以上のようにして、
図5の構成を有する電子楽器の第3の実施形態によれば、吹奏者は、ブレスセンサ101からブレス入力をしない状態でも、発声動作のみで加工音に相当する加工音を発音させることが可能となる。
【0041】
図6は、電子楽器の第4の実施形態のブロック図である。
図6の構成が
図3に示した第2の実施形態の構成と異なる点は、
図3の第2の実施形態では、音源207から出力されるノーマル音と加工部209から乗算器213を経て出力される加工音とが加算器214で加算された後に、乗算器215でゲイン決定部211から与えられた乗算値が乗算されるのに対して、
図6の第4の実施形態では、ノーマル音に対して乗算器215でゲイン決定部211から与えられた乗算値が乗算された後に、加工音が加算器214で加算される点である。
【0042】
図7は、
図6の第4の実施形態におけるゲイン決定部211および制御部210の構成例を示す図である。
【0043】
ゲイン決定部211は、第1エンベロープ抽出部201が抽出したブレス・エンベロープのブレス・レベルを入力として、ブレス・レベルの入力値(横軸)がブレス閾値検出部203が決定するブレス閾値に達するまでは出力乗算値(縦軸)が0(ゼロ)で、ブレス・レベルの入力値がブレス閾値を超えると、ブレス・レベルの入力値が大きくなるほど0から1に向かって出力乗算値が増加する特性を有するゲイン・テーブル402を備える。ゲイン決定部211は、ブレス・レベルの入力値に対して、ゲイン・テーブル402を参照することにより、ノーマル音を制御するための乗算器215に対する乗算値を決定する。
【0044】
制御部210は、第2エンベロープ抽出部202が抽出したボイス・エンベロープのボイス・レベルを入力として、ボイス・レベルの入力値(横軸)がボイス閾値検出部503が決定するボイス閾値に達するまでは出力乗算値(縦軸)が0(ゼロ)で、ボイス・レベルの入力値がボイス閾値を超えると、ボイス・レベルの入力値が大きくなるほど0から1に向かって出力乗算値が増加する特性を有する加工音用テーブル401を備える。制御部210は、ボイス・レベルの入力値に対して、加工音用テーブル401を参照することにより、加工音を制御するための乗算器213に対する乗算値を決定する。
【0045】
ゲイン決定部211および乗算器215により、
図1のマウスピース部100からブレスセンサ101への吹奏者による息の吹き込み圧力が強くなるほどノーマル音の混合比が大きくなる楽音信号が得られる。また、合成比決定制御部210および乗算器508により、
図1のマウスピース部100からボイスセンサ102への吹奏者による音声入力が大きくなるほど加工音の混合比が大きくなる楽音信号が得られる。
【0046】
以上のようにして、
図6および
図7の構成を有する電子楽器の第4の実施形態によれば、ブレス閾値検出部203、指示部206、音源207、および乗算器215等からなるノーマル音の発音系統と、加工部209および乗算器213からなる加工音の発音系統により、ノーマル音と加工音を完全に独立して発音制御し、後段の加算器214で加算されるようにしたので、吹奏者はマウスピース部100において吹き込み圧力を加えずに発声動作のみで、加工音だけの楽音も放音可能となる。
【0047】
図8は、電子楽器の第5の実施形態のブロック図である。
図8の構成が
図6に示した第4の実施形態の構成と異なる点は、ゲイン決定部211が、破線で示されるように、第1エンベロープ抽出部201が抽出したブレス・エンベロープのブレス・レベルのみではなく、第2エンベロープ抽出部202が抽出したボイス・エンベロープのボイス・レベルも加味して、乗算器215における各乗算値を決定するようにした点である。また、制御部210も、破線で示されるように、第2エンベロープ抽出部202が抽出したボイス・エンベロープのボイス・レベルのみではなく、第1エンベロープ抽出部201が抽出したブレス・エンベロープのブレス・レベルも加味して、乗算器508における各乗算値を決定するようにした点である。
【0048】
図8に示される電子楽器の第5の実施形態の構成により、マウスピース部100からブレスセンサ101への吹奏者による息の吹き込み圧力とボイスセンサ102への吹奏者による加工音入力に基づいて、
図6および
図7に示される電子楽器の第4の実施形態の構成による効果に加えて、より複雑にノーマル音と加工音が混合された楽音信号を得ることが可能となる。
【0049】
図9は、電子楽器の第6の実施形態のブロック図である。
図9の構成が
図6に示した第4の実施形態の構成と異なる点は、ゲイン決定部211および制御部210がゲイン決定部901で統合されている点である。
【0050】
図10は、
図9のゲイン決定部901の構成例を示す図である。
図10に示されるゲイン決定部901においてまず、入力値演算部1001が、第2エンベロープ抽出部202からのボイス・レベルVoiceおよび第1エンベロープ抽出部201からのブレス・レベルBreathを入力として、関数演算Fgrowling(Voice,Breath)(図中では「Fg(Voice,Breath)」と省略されて表記もされている)を実行することにより、加工音用の入力値Input1を演算する。また、入力値演算部1001が、第2エンベロープ抽出部202からのボイス・レベルVoiceおよび第1エンベロープ抽出部201からのブレス・レベルBreathを入力として、関数演算Fnormal(Voice,Breath)(図中では「Fn(Voice,Breath)」と省略されて表記もされている)を実行することにより、ノーマル音用の入力値Input2を演算する。
【0051】
次に、ゲイン決定部901は、入力値演算部1001が演算した加工音用の入力値Input1を入力として、加工音用ゲイン・テーブル1002を参照することにより、0から1の間で変化する乗算値を出力し、乗算器213に与える。また、ゲイン決定部901は、入力値演算部1001が演算したノーマル音用の入力値Input2を入力として、ノーマル音用ゲイン・テーブル1003を参照することにより、0から1の間で変化する乗算値を出力し、乗算器215に与える。
【0052】
以上のようにして、
図9および
図10の構成を有する電子楽器の第6の実施形態によれば、第2エンベロープ抽出部202からのボイス・レベルと第1エンベロープ抽出部201からのブレス・レベルに基づいて、複雑なゲイン制御が可能となる。
【0053】
図11は、
図6および
図7に示した電子楽器の第4の実施形態の機能を、ソフトウェア処理によって実現可能な電子楽器の第7の実施形態のハードウェア構成例を示すブロック図である。
【0054】
図11に示されるハードウェア構成例は、CPU(セントラルプロセッシングユニット:中央演算処理装置)1101、ROM(リードオンリーメモリ)1102、RAM(ランダムアクセスメモリ)1103、
図1または
図6と同様のブレスセンサ101とその出力が接続されるADC(アナログデジタルコンバータ)1104、
図1または
図6と同様のボイスセンサ102とその出力が接続されるADC1105、
図6と同様の音高指定複数キー204とその出力が接続されるGPIO(ジェネラルパーパスインプットアウトプット)1106、Wave Generator1107、
図6と同様のDAC/増幅器216、
図6と同様のスピーカ217を備え、これらがバス1108によって相互に接続された構成を有する。同図に示される構成は、電子楽器を実現できるハードウェア構成の一例であり、そのようなハードウェア構成はこの構成に限定されるものではない。
【0055】
CPU1101は、当該電子吹奏楽器全体の制御を行う。ROM1102は、発音制御プログラムを記憶する。RAM1103は、発音制御プログラムの実行時に、データを一時的に格納する。
【0056】
ブレスセンサ101の出力は、
図6の第1エンベロープ抽出部201と同様の機能を有するADC1104でアナログ信号からデジタル信号のブレス・エンベロープのブレス・レベルに変換されて、CPU1101に読み込まれる。
【0057】
ボイスセンサ102の出力は、
図6の第2エンベロープ抽出部202と同様の機能を有するADC1105でアナログ信号からデジタル信号のブレス・エンベロープのボイス・レベルに変換されて、CPU1101に読み込まれる。
【0058】
音高指定複数キー204の各操作状態は、
図6の音高決定部205と同様の機能を有するGPIO107を介してCPU1101に読み込まれる。
【0059】
音源1107は、第4の実施形態における
図6の音源207と、乗算器215、および加算器214とからなる機能を実現する。
【0060】
音源1107から出力された楽音信号は、CPU1101を介してDAC/増幅器216においてデジタル信号からアナログ信号に変換されて増幅された後、スピーカ217を介して放音される。
【0061】
図6の加工部209および乗算器213の各機能は、CPU1101のソフトウェア機能によって実現されてもよいし、特には図示しない専用のDSP(デジタルシグナルプロセッサ)によって実現されてもよい。
【0062】
図12は、
図11のハードウェア構成例を有する第7の実施形態のメイン処理の例を示すフローチャートである。この処理は、
図11のCPU1101が、ROM1102に記憶された発音制御処理プログラムを実行する動作として実現される。この処理は、第4の実施形態における
図6の音高指定205、ブレス閾値検出部203、第2エンベロープ抽出部202、および指示部206等の機能を実現する。以下、随時
図11の構成を参照するものとする。
【0063】
まず、CPU1101は、初期化処理(Initialize)を実行する(ステップS1201)。
図13は、ステップS1201の初期化処理の詳細例を示すフローチャートである。初期化処理では、RAM1103内の関連する各変数に初期値を格納する処理等が実行される。
図13のステップS1401において、まず、ウェーブ・ジェネレータの初期化として、RAM1103内の変数GeneratorStatusに、ROM1102に記憶されている定数値GENERATOR_DEADが格納される。また、ブレス・エンベロープ値の初期化として、RAM1103内の変数Breathに0(ゼロ)が格納される。また、ボイス・エンベロープ値の初期化として、RAM1103内の変数Voiceに0(ゼロ)が格納される。また、ノーマル音のゲインの初期化として、RAM603内の変数NormalRatioに0(ゼロ)が格納される。また、合成比の初期化として、RAM1103内の変数GrowlingRatioに加工音の初期ゲイン値0(ゼロ)が格納される。そして、ブレス閾値の初期化として、RAM1103内の変数BreathThreshNoteOnにROM1102に記憶されている定数値BREATH_THRESHOLD_NOTEONが格納される。
【0064】
図12の処理に戻って、CPU1101は、音高指定用複数キーの操作された運指パターンから音高の情報(RAM1103内の変数NoteNumber)を得るための、発音制御プログラム上のサブルーチン処理KeyScan()を実行する(ステップS1202)。
【0065】
次に、CPU1101は、ブレスセンサ101の出力を取得しブレス・エンベロープ値(RAM1103内の変数Breath)を更新するための、発音制御プログラム上のサブルーチン処理RenewBreath()を実行する(ステップS1203)。
【0066】
次に、CPU1101は、ボイスセンサ102の出力を取得しボイス・エンベロープ値(RAM1103内の変数Voice)を更新するための、発音制御プログラム上のサブルーチン処理RenewVoice()を実行する(ステップS1204)。
【0067】
そして、CPU1101は、楽音制御処理である、発音制御プログラム上のサブルーチン処理SoundControl()を実行する(ステップS1205)。
【0068】
その後、CPU1101は、ステップS1202の処理に戻る。
【0069】
図14は、
図12のステップS1205の楽音制御処理(発音制御プログラム上のサブルーチン処理SoundControl())の詳細例を示すフローチャートである。
【0070】
まず、CPU1101は、ブレス・レベルを記憶するRAM1103内の変数Breathの値を入力として、ゲインを取得するための発音制御プログラム上のサブルーチン処理GetGain(Breath)を実行することにより、ブレス・レベルに応じたゲインを、RAM1103内の変数NormalRatioに得る(ステップS1401)。この処理は、第4の実施形態における
図6または
図7のゲイン決定部211の機能を実現する。
【0071】
次に、CPU1101は、ボイス・レベルを記憶するRAM1103内の変数Voiceを入力として、発音制御プログラム上のサブルーチン処理GetMixRate(Voice)を実行することにより、ボイス・レベルに応じた合成比を、RAM1103内の変数GrowingRaioに得る(ステップS1402)。この処理は、第4の実施形態における
図6または
図7の制御部210の機能を実現する。変数GrowlingRatioの値は、加工音のノーマル音に対する合成比を示し、第4の実施形態における
図6または
図7の乗算器213に与えられる乗算値に対応する。
【0072】
続いて、CPU1101は、発音状態を示すRAM1103内の変数GeneratorStatusの値が未発音状態を示すROM1102内の定数値GENERATOR_DEADになっているか否かを判定する(ステップS1403)。
【0073】
ステップS1403の判定がYES(未発音状態)ならば、CPU1101は、ステップS1404の処理に移行する。ここではCPU1101は、ブレス・レベルを示すRAM1103内の変数Breathの値が、第4の実施形態で説明したブレス閾値を示すROM1102内の定数値BreathThreshNoteOnを超えたか否かを判定する(ステップS1404)。この処理は、第4の実施形態における
図6のブレス閾値検出部203の機能を実現する。
【0074】
ステップS1404の判定がNOならば、発音処理は実行せずに、ステップS1410の処理に移行する。
【0075】
ステップS1404の判定がYESになると、CPU1101は、音高の情報を記憶するRAM1103内の変数NoteNumberとブレス・レベルを記憶するRAM1103内の変数Breathを入力として、発音処理である発音制御プログラム上のサブルーチン処理NoteOn(NoteNumber,Breath)を実行する(ステップS1405)。この処理の詳細については、
図15のフローチャートの説明で後述する。
【0076】
次に、CPU1101は、発音後処理として、発音状態か否かを示すRAM1103内の変数GeneratorStatusに、発音状態を示すROM1102内の定数値GENERATOR_ALIVEを格納する(ステップS1406)。その後、CPU1101は、ステップS1410の処理に移行する。
【0077】
ステップS1403の判定がNO(発音状態)ならば、CPU1101は、ステップS1407の処理に移行する。ここではCPU1101は、ステップS1401で変数NormalRatioに取得済みのゲインを入力として、ゲイン制御を行うための発音制御プログラム上のサブルーチン処理GainControl(NormalRatio)を実行し、ブレスレベルに応じたゲイン制御を実施する。この処理は、第4の実施形態における
図6または
図7の乗算器215の機能を実現する。
【0078】
その後、CPU1101は、ブレス・レベルを示すRAM1103内の変数Breathの値が、第4の実施形態で説明したブレス閾値を示すROM1102内の定数値BreathThreshNoteOn以下となったか否かを判定する(ステップS1408)。ステップS1408の判定がYESならば、CPU1101は、発音後処理として、発音状態か否かを示すRAM1103内の変数GeneratorStatusに、未発音状態を示すROM1102内の定数値GENERATOR_DEADを格納する(ステップS1409)。この処理は、第4の実施形態における
図6のブレス閾値検出部203の機能を実現する。
【0079】
ステップS1408の判定がNOの場合またはステップS1409の処理の後、CPU1101は、ステップS1410の処理に移行する。
【0080】
ステップS1410において、CPU1101は、ステップS1402で変数GrowingRatioに取得済みの合成比を入力として、混合制御を行うための発音制御プログラム上のサブルーチン処理MixRateControl(GrowingRatio)を実行し、合成比に応じた混合制御を実施する。この処理は、第4の実施形態における
図6または
図7の乗算器213の機能を実現する。
【0081】
CPU1101は、ステップS1410の処理の後、
図14のフローチャートの処理を終了し、
図12のステップS1205の楽音制御処理を終了する。
【0082】
図15は、
図14のステップS1405の発音処理(発音制御プログラム上のサブルーチン処理NoteOn(NoteNumber,Breath)の詳細例を示すフローチャートである。この処理は、第4の実施形態における
図6の指示部206およびゲイン決定部211の各機能を実現する。
【0083】
次に、CPU1101は、第4の実施形態で説明した(
図6のピッチ抽出部212の出力に対応する)第2の音高を記憶するRAM1103内の変数Vpitchを入力として、ジェネレータの初期化のための発音制御プログラム上のサブルーチン処理InitilizeGrowlingTone(Vpitch)を実行する(ステップS1502)。ここではCPU1101は、加工音用の前処理を実行する。より具体的には、CPU1101は、音源1107に対して、加工部209(
図6参照)のスタートアドレスを設定し、また変数Vpitchが示す音高に対応する加工部209の読出し速度を設定する。この処理は、第2の実施形態における
図6のピッチ抽出部212の機能の一部を実現する。
【0084】
次に、CPU1101は、ゲイン制御を行うための発音制御プログラム上のサブルーチン処理GainControl(Breath)を実行する(ステップS1502)。この処理は、発音状態で実行される
図14のステップS1407の処理と同様であり、第4の実施形態における
図6または
図7のゲイン決定部211の機能を実現する。決定されたゲイン値は、音源1107に与えられる。音源1107は、このゲイン値に基づいて、第4の実施形態における
図6または
図7の乗算器215に対応する機能を実行する。
【0085】
最後に、CPU1101は、ジェネレータ・スタートのための発音制御プログラム上のサブルーチン処理SyncStartGenerator()を実行する(ステップS1503)。この処理では、CPU1101は、音源1107に対してノーマル音波形データ208を出力処理させるための発音開始指示を出す。
【0086】
以上説明した第7の実施形態の動作により、第4の実施形態における
図6または
図7の電子楽器の機能が、ソフトウェア処理として実現される。
【0087】
以上説明したようにして、第1〜第7の実施形態により、ボイスセンサ102から入力される音声を加工部209で加工した加工音をノーマル楽音と合成することで、画一的なビートのグロウル楽音ではなく奏者が細かなビートのコントロールができるようになり、さらに演奏表現力を高めることが可能となる。
【0088】
上述の実施形態では、ブレスセンサ101により吹奏による呼気の圧力を検知しているが、これに限るものではない。本実施形態のブレスセンサ101を流量センサに置き換えて、吹奏による呼気の流量を検知してもよい。さらに、このブレスセンサ101および流量センサ両方を用いる構成にしてもよい。
【0089】
以上の実施形態に関して、更に以下の付記を開示する。
(付記1)
声を検知するボイスセンサと、
呼気の圧力および当該呼気の流量の少なくとも一方を検知するブレスセンサと、
音高指定キーの操作状態に基づいて決定される音高の楽音信号の生成を音源に指示する指示部と、
前記ボイスセンサからの出力信号を加工して加工音信号を生成する加工部と、
前記ブレスセンサの出力信号と、前記楽音信号と、前記加工音信号とに基づいた信号を生成して出力する出力部と、
を備える電子楽器。
(付記2)
前記出力部は、前記ブレスセンサの出力信号に基づいてゲインを決定するゲイン決定部と、前記楽音信号と前記加工音信号とを加算する加算器と、当該加算器からの出力信号に対して前記決定されたゲインを乗算して出力する乗算器と、を備えた付記1に記載の電子楽器。
(付記3)
前記ブレスセンサの出力からブレス・エンベロープを抽出する第1エンベロープ抽出部と、前記音センサの出力からボイス・エンベロープを抽出する第2エンベロープ抽出部と、前記加工音信号のレベルを制御する制御部と、をさらに備え、
前記制御部は、前記ボイス・エンベロープおよび前記ブレス・エンベロープの少なくとも一方に基づいて、前記加工音信号のレベルを制御し、
前記ゲイン決定部は、前記ブレス・エンベロープおよび前記ボイス・エンベロープの少なくとも一方に基づいて、前記ゲインを決定する、付記2に記載の電子楽器。
(付記4)
前記音源は管楽器の楽音信号を生成し、前記加工部は、前記加工音信号として、前記管楽器に対してグロウリング奏法を行った時の音信号を生成し、
前記制御部は、前記ボイスセンサにより検知された音のレベルが大きくなるほど前記加工音信号の割合を大きくする、付記3に記載の電子楽器。
(付記5)
前記出力部は、前記ブレスセンサの出力に基づいてゲインを決定するゲイン決定部と、前記楽音信号に対して前記決定されたゲインを乗算する乗算器と、当該乗算器からの出力信号と前記加工音信号とを加算して出力する加算器と、を備える付記1に記載の電子楽器。
(付記6)
前記ブレスセンサの出力からブレス・エンベロープを抽出する第1エンベロープ抽出部と、前記音センサの出力からボイス・エンベロープを抽出する第2エンベロープ抽出部と、前記加工音信号のレベルを制御する制御部と、をさらに備え、
前記制御部は、前記ボイス・エンベロープおよび前記ブレス・エンベロープの少なくとも一方に基づいて、前記加工音信号のレベルを制御し、
前記ゲイン決定部は、前記ブレス・エンベロープおよび前記ボイス・エンベロープの少なくとも一方に基づいて、前記ゲインを決定する、付記5に記載の電子楽器。
(付記7)
前記音源は管楽器の楽音信号を生成し、前記加工部は、前記加工音信号として、前記管楽器に対してグロウリング奏法を行った時の音信号を生成し、
前記制御部は、前記ボイスセンサにより検知された音のレベルが大きくなるほど前記加工音信号の割合を大きくする、付記6に記載の電子楽器。
(付記8)
声を検知するボイスセンサと、呼気の圧力および当該呼気の流量の少なくとも一方を検知するブレスセンサとを有する電子楽器の発音制御方法であって、前記電子楽器は、
音高指定キーの操作状態に基づいて決定された音高の楽音信号の生成を音源に対して、指示し、
前記ボイスセンサからの出力信号を加工音信号に加工し、
前記ブレスセンサの出力信号と、前記楽音信号と、前記加工音信号と、に基づいた信号を生成して出力する、発音制御方法。
(付記9)
声を検知するボイスセンサと、前記発声に伴う呼気の圧力および当該呼気の流量の少なくとも一方を検知するブレスセンサとを有する電子楽器として用いられるコンピュータに、
前記音高指定キーの操作状態に基づいて決定された音高の楽音の生成を音源に指示するステップと、
前記ボイスセンサからの出力信号を加工して加工音信号を生成するステップと、
前記ブレスセンサの出力信号と、前記楽音信号と、前記加工音信号とに基づいた信号を生成して出力するステップと、
を実行させるプログラム。
(付記10)
音を検知する音センサと、
呼気の圧力および当該呼気の流量の少なくとも一方を検知するブレスセンサと、
音高指定キーの操作状態に基づいて決定される音高の楽音信号の生成を音源に指示する指示部と、
前記音センサからの出力信号を加工して加工音信号を生成する加工部と、
前記ブレスセンサの出力に基づいてゲインを決定するゲイン決定部と、
前記楽音信号のレベルを前記決定されたゲインに対応して制御するとともに、当該レベルの制御された楽音信号と前記加工音信号とを加算して出力する出力部と、
を備える電子楽器。
(付記11)
前記ブレスセンサの出力からブレス・エンベロープを抽出する第1エンベロープ抽出部と、前記音センサの出力からボイス・エンベロープを抽出する第2エンベロープ抽出部と、前記加工音信号のレベルを制御する制御部と、をさらに備え、
前記制御部は、前記ボイス・エンベロープおよび前記ブレス・エンベロープの少なくとも一方に基づいて、前記加工音信号のレベルを制御し、
前記ゲイン決定部は、前記ブレス・エンベロープおよび前記ボイス・エンベロープの少なくとも一方に基づいて、前記ゲインを決定する、付記10に記載の電子楽器。
(付記12)
音を検知する音センサと、呼気の圧力および当該呼気の流量の少なくとも一方を検知するブレスセンサとを有する電子楽器の発音制御方法であって、前記電子楽器は、
音高指定キーの操作状態に基づいて決定された音高の楽音信号の生成を音源に対して、指示し、
前記音センサからの出力信号を加工音信号に加工し、
前記ブレスセンサの出力に基づいてゲインを決定し、
前記楽音信号のレベルを前記決定されたゲインに対応して制御するとともに、当該レベルの制御された楽音信号と前記加工音信号とを加算して出力する、発音制御方法。
(付記13)
音を検知する音センサと、前記発声に伴う呼気の圧力および当該呼気の流量の少なくとも一方を検知するブレスセンサとを有する電子楽器として用いられるコンピュータに、
前記音高指定キーの操作状態に基づいて決定された音高の楽音の生成を音源に指示するステップと、
前記音センサからの出力信号を加工して加工音信号を生成するステップと、
前記ブレスセンサの出力に基づいてゲインを決定するステップと、
前記楽音信号のレベルを前記決定されたゲインに対応して制御するとともに、当該レベルの制御された楽音信号と前記加工音信号とを加算して出力するステップと、
を実行させるプログラム。