JP5560759B2 - 電子音楽装置およびハーモニー音生成方法を実現するためのプログラム - Google Patents

電子音楽装置およびハーモニー音生成方法を実現するためのプログラム Download PDF

Info

Publication number
JP5560759B2
JP5560759B2 JP2010032438A JP2010032438A JP5560759B2 JP 5560759 B2 JP5560759 B2 JP 5560759B2 JP 2010032438 A JP2010032438 A JP 2010032438A JP 2010032438 A JP2010032438 A JP 2010032438A JP 5560759 B2 JP5560759 B2 JP 5560759B2
Authority
JP
Japan
Prior art keywords
pitch
information
sound
harmony
procedure
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
JP2010032438A
Other languages
English (en)
Other versions
JP2011170030A (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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2010032438A priority Critical patent/JP5560759B2/ja
Publication of JP2011170030A publication Critical patent/JP2011170030A/ja
Application granted granted Critical
Publication of JP5560759B2 publication Critical patent/JP5560759B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

本発明は、入力されたコード(和音)情報に基づいてハーモニー音を生成する電子音楽装置およびハーモニー音生成方法を実現するためのプログラムに関する。
入力されたコード情報に基づいてハーモニー音を生成する電子音楽装置は、従来から知られている。
このような装置として、入力された音声を入力されたコード情報に協和する音高のハーモニー音声に変換するようにした音声処理装置がある(たとえば、特許文献1参照)。この音声処理装置では、ハーモニー音声への音高の変換は、旋律音域(伴奏音域よりも高い音域)の和音の構成音名の音高のうち直接音声に最も近い音高(ただし、同一音高でない)に変換するようにしている。
また、演奏によって入力されたメロディ音に付加音を作成して付加するようにしたメロディ付加音制御装置もある(たとえば、特許文献2参照)。このメロディ付加音制御装置では、リズムパターンとしてロックあるいは16ビートが選択されているときに、デュエット音が設定された場合には、メロディ音に対して3度下の音が付加音として決定され、トリオ音が設定された場合には、メロディ音に対して3度下の音と6度下の音が付加音として決定される。
特許第2879948号公報 特開平5−224677号公報
ところで、上記従来の音声処理装置が入力音声をハーモニー音声へ変換するに際して、たとえば図2のようなハーモニー音生成用テーブルを予め定義しておき、このハーモニー音生成用テーブルを参照して行うことが考えられる。ただし、図2に示すハーモニー音生成用テーブルには、本願発明に特有な情報、つまり「コードスケール音」の項目に記載の情報が含まれているので、上記従来の音声処理装置が使用するハーモニー音生成用テーブルは、この情報を除いたもの、つまり「入力音」と「ハーモニー音」を対応付けたものである(以下、このハーモニー音生成用テーブルを「従来のハーモニー音生成用テーブル」と言う)。図示例の従来のハーモニー音生成用テーブルでは、入力される(音声の)音高(音名)に対して生成すべきハーモニー音の音高(音名)がコード情報毎に定義されているので、コード情報が入力されると、そのコード情報に対応するハーモニー音生成用テーブルが参照対象として選択される。
このように構成された従来の音声処理装置は、コード情報が入力されるとともに音声が入力されると、入力されたコード情報に対応するハーモニー音生成用テーブルを参照対象として選択し、このハーモニー音生成用テーブルを参照して、入力された音声の音高に対応するハーモニー音の音高を決定し、決定した音高のハーモニー音を生成する。たとえば、コード情報として“Cmaj”(Cメジャ)が入力され、参照対象の従来のハーモニー音生成用テーブルとして、図2(a)に記載のものに相当するものが選択されたとする(ただし、図2に記載のテーブルの「ハーモニー音」の項目中、“+1”は1オクターブ上を意味している)。このとき、ユーザが“F3”の音高で歌うと、“C4”の音高のハーモニー音が生成される。したがって、この従来の音声処理装置によれば、入力された音声に対して、入力されたコード情報のコード感に合ったハーモニー音を生成することができる。
一方、上記従来の音声処理装置に上記従来のメロディ付加音制御装置を組み合わせると、入力された音声の音高に対して所定の半音数だけ離れたハーモニー音を生成する構成を得ることができる。この組み合わせ発明の構成では、ユーザが、たとえば、入力音声の音高に対して生成すべきハーモニー音の音高として「4半音上(3度上)」を指定した後、“C3”の音高で歌うと、“E3”の音高のハーモニー音が生成される。同様に、ユーザが“C#3”,“D3”,“D#3”,“E3”,…の各音高で歌うと、“F3”,“F#3”,“G3”,“G#3”,…の各音高のハーモニー音が生成される。したがって、この組み合わせ発明によれば、入力音声の音高に対して所定の半音数離れた音高のハーモニー音が生成されるので、入力音声の音高が平行移動されてハーモニー音が生成されたことによる独特な遷移感を得ることができる。
しかし、上記従来の音声処理装置では、生成されるハーモニー音について、コード感は得られるものの、音高の平行移動による独特な遷移感が得られない反面、上記組み合わせ発明の構成では、その逆となり、両者には、さらなる改良の余地が残されていた。
本発明は、この点に着目してなされたものであり、容易に、さらなる音楽的な変化に富んだハーモニー音を生成することが可能となる電子音楽装置およびハーモニー音生成方法を実現するためのプログラムを提供することを目的とする。
上記目的を達成するため、請求項に記載の電子音楽装置は、コード情報を受け付ける第1の受付手段と、入力音情報を受け付ける第2の受付手段と、前記第2の受付手段によって受け付けられた入力音情報から音高情報を抽出する抽出手段と、前記抽出手段によって入力音情報の音高情報が抽出される度に、前回抽出された入力音情報の音高情報を保存する第1の保存手段と、前記第1の受付手段によって受け付けられたコード情報および前記抽出手段によって抽出された入力音情報の音高情報に基づいてハーモニー音の音高を決定する第1の決定手段と、ハーモニー音の音高が決定される度に、前回決定されたハーモニー音の音高を保存する第2の保存手段と、前記第1の保存手段によって保存された前回抽出された入力音情報の音高情報から前記抽出手段によって今回抽出された入力音情報の音高情報への音高の変化量を算出する算出手段と、前記第2の保存手段によって保存された前回決定されたハーモニー音の音高からの移動量が前記算出手段によって算出された音高の変化量になるようなハーモニー音の音高を決定する第2の決定手段と、前記前回抽出された入力音情報の音高情報および前記今回抽出された入力音情報の音高情報に基づいて、前記第1の決定手段または前記第2の決定手段のいずれを用いてハーモニー音の音高を決定するかを判定する判定手段であって、前記算出された音高の変化量が±半音であるときに、前記第2の決定手段を用いてハーモニー音の音高を決定すると判定する判定手段と、前記判定手段によって判定された方の決定手段を用いて決定されたハーモニー音の音高に基づいてハーモニー音を生成する生成手段とを有することを特徴とする。
上記目的を達成するため、請求項に記載の電子音楽装置は、コード情報を受け付ける第1の受付手段と、入力音情報を受け付ける第2の受付手段と、前記第2の受付手段によって受け付けられた入力音情報から音高情報を抽出する抽出手段と、前記抽出手段によって入力音情報の音高情報が抽出される度に、前回抽出された入力音情報の音高情報を保存する第1の保存手段と、前記第1の受付手段によって受け付けられたコード情報および前記抽出手段によって抽出された入力音情報の音高情報に基づいてハーモニー音の音高を決定する第1の決定手段と、ハーモニー音の音高が決定される度に、前回決定されたハーモニー音の音高を保存する第2の保存手段と、前記第1の保存手段によって保存された前回抽出された入力音情報の音高情報から前記抽出手段によって今回抽出された入力音情報の音高情報への音高の変化量を算出する算出手段と、前記第2の保存手段によって保存された前回決定されたハーモニー音の音高からの移動量が前記算出手段によって算出された音高の変化量になるようなハーモニー音の音高を決定する第2の決定手段と、前記前回抽出された入力音情報の音高情報および前記今回抽出された入力音情報の音高情報に基づいて、前記第1の決定手段または前記第2の決定手段のいずれを用いてハーモニー音の音高を決定するかを判定する判定手段であって、前記算出された音高の変化量が±半音であり、かつ前記今回抽出された入力音情報の音高情報が特定の音高情報であるときに、前記第2の決定手段を用いてハーモニー音の音高を決定すると判定する判定手段と、前記判定手段によって判定された方の決定手段を用いて決定されたハーモニー音の音高に基づいてハーモニー音を生成する生成手段とを有することを特徴とする。
上記目的を達成するため、請求項3および4に記載のプログラムはそれぞれ、請求項1および2と同様の技術的思想によって実現できる。
請求項14に記載の発明によれば、入力音の音高の変化状況に基づいて、コード感のあるハーモニー音を得るべきか、平行移動の独特な遷移感のあるハーモニー音(平行移動ハーモニー音)を得るべきかを自動的に判定し、判定された方のハーモニー音を生成するようにしたので、容易に、さらなる音楽的な変化に富んだハーモニー音を得ることができる。そして、得るべきハーモニー音と平行移動ハーモニー音の判定および生成は自動的に行われるので、ユーザはコードやスケール音などの音楽的知識を特に持たなくてもよい。
本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。 ハーモニー音生成用テーブルの構成例を示す図である。 図1の電子音楽装置、特にCPUが実行する演奏補助処理の手順を示すフローチャートである。 図3中のハーモニー音生成処理の詳細な手順を示すフローチャートである。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。
図1は、本発明の一実施の形態に係る電子音楽装置の概略構成を示すブロック図である。
同図に示すように、本実施の形態の電子音楽装置は、音声を入力するためのマイクロフォン、鍵盤等の演奏操作子および各種スイッチ等の設定操作子からなる入力操作部1と、装置全体の制御を司るCPU2と、該CPU2が実行する制御プログラムや各種テーブルデータ等を記憶するROM3と、前記演奏操作子から入力された、コード情報を含む演奏情報、各種入力情報および演算結果等を一時的に記憶するRAM4と、前記制御プログラムを含む各種アプリケーションプログラムや各種楽曲データ、各種データ等を記憶する記憶装置5と、各種情報等を表示する、たとえばLCD(liquid crystal display)およびLED(light emitting diode)等を備えた表示装置6と、外部MIDI(musical instrument digital interface)機器等の外部機器100を接続し、この外部機器100とデータの送受信を行う通信インターフェース(I/F)7と、前記演奏操作子から入力された演奏情報や、前記記憶装置5に記憶されたいずれかの楽曲データを再生して得られた演奏情報等を楽音信号に変換する音源回路8と、該音源回路8からの楽音信号に各種効果を付与するための効果回路9と、該効果回路9からの楽音信号を音響に変換する、たとえば、DAC(digital-to-analog converter)やアンプ、スピーカ等のサウンドシステム10とにより構成されている。
上記構成要素1〜9は、バス11を介して相互に接続され、通信I/F7には外部機器100が接続され、音源回路8には効果回路9が接続され、効果回路9にはサウンドシステム10が接続されている。
記憶装置5は、たとえば、フレキシブルディスク(FD)、ハードディスク(HD)、CD−ROM、DVD(digital versatile disc)、光磁気ディスク(MO)および半導体メモリなどの記憶媒体とその駆動装置である。記憶媒体は駆動装置から着脱可能であってもよいし、記憶装置5自体が本実施の形態の電子音楽装置から着脱可能であってもよい。あるいは、記憶媒体も記憶装置5も着脱不可能であってもよい。なお記憶装置5(の記憶媒体)には、前述のように、CPU2が実行する制御プログラムも記憶でき、ROM3に制御プログラムが記憶されていない場合には、この記憶装置5に制御プログラムを記憶させておき、それをRAM4に読み込むことにより、ROM3に制御プログラムを記憶している場合と同様の動作をCPU2にさせることができる。このようにすると、制御プログラムの追加やバージョンアップ等が容易に行える。
通信I/F7には、図示例では外部機器100が接続されているが、これに限られず、たとえばLAN(local area network)やインターネット、電話回線等の通信ネットワークを介して、サーバコンピュータが接続されるようにしてもよい。この場合、記憶装置5に上記各プログラムや各種パラメータが記憶されていなければ、通信I/F7はサーバコンピュータからプログラムやパラメータをダウンロードするために用いられる。クライアントとなる電子音楽装置は、通信I/F7および通信ネットワークを介してサーバコンピュータへとプログラムやパラメータのダウンロードを要求するコマンドを送信する。サーバコンピュータは、このコマンドを受け、要求されたプログラムやパラメータを、通信ネットワークを介して電子音楽装置へと配信し、電子音楽装置が通信I/F7を介して、これらプログラムやパラメータを受信して記憶装置5に蓄積することにより、ダウンロードが完了する。
音源回路8は、前述のように演奏情報を楽音信号に変換する処理に加え、後述のように、入力されたリード音データ(ユーザの歌声によるリード音をデジタル化したもの)に対応するリード音の楽音信号を生成するとともに、当該リード音データのピッチ(音高)をハーモニー音の音高に変換し、変換後の音高のリード音、つまりハーモニー音の楽音信号を生成する処理を行う。
なお本実施の形態の電子音楽装置は、上述の構成から分かるように電子鍵盤楽器上に構築されたものであるが、これに限らず、鍵盤を外部接続した汎用的なパーソナルコンピュータ上に構築してもよい。
図2は、ハーモニー音生成用テーブルの構成例を示す図であり、同図(a)は、Cmaj(Cメジャ)についてのハーモニー音生成用テーブルの一例を示し、同図(b)は、Cmin(Cマイナ)についてのハーモニー音生成用テーブルの一例を示している。ハーモニー音生成用テーブルとは、入力音の各音高(音名)と、それに対して生成すべきハーモニー音の音高(音名)とを対応付けたものである。「発明が解決しようとする課題」の欄で前述したように、図2のハーモニー音生成用テーブルは、従来のハーモニー音生成用テーブルに「コードスケール音」の項目を追加したものである。
「コードスケール音」の項目には、“C”,“S”,“0”および“1”が記載されている。“C”と“S”は、その入力音が当該コード情報のコードスケール音であることを示し、特に“C”は、その入力音がコードスケール音の中のコード構成音であることを示している。“0”と“1”は、その入力音が当該コード情報の非コードスケール音であることを示し、特に“1”は、その入力音が平行移動ハーモニー音を生成するための候補であることを示している。なお、「コードスケール音」の項目のさらに具体的な利用の仕方については、後述する。
なお図示例では、2種類のコード情報についてのハーモニー音生成用テーブルを示したが、これは便宜上そのようにしたに過ぎず、Cmin7(Cマイナセブンス)、Cmin7(♭5)(Cマイナセブンスフラットファイブ)、C7(Cドミナントセブンス)などについてのハーモニー音生成用テーブルを加えるようにしてもよい。このようなコード情報毎のハーモニー音生成用テーブルが予め作成され、たとえば前記ROM3内に記憶されている。また、各ハーモニー音生成用テーブルの「コードスケール音」の項目中、非コードスケール音のそれぞれに対する“0”あるいは“1”の割り当ては、本実施の形態では、工場設定などで予めなされ、ユーザが後から変更できないものとしているが、これに限らず、ユーザが後から変更できるようにしてもよい。
以上のように構成された電子音楽装置が実行する制御処理を、まずその概要を説明し、次に図3および図4を参照して詳細に説明する。
ユーザが、たとえば前記入力操作部1に含まれるマイクロフォンから自身の歌声を入力すると、CPU2は、入力された歌声(アナログ音声信号)をデジタル化して、リード音情報(データ)として、RAM4に確保したリード音データ格納領域(図示せず)に格納する。CPU2は、リード音データ格納領域に格納されたリード音データから公知の方法によりピッチ(音高)を検出してハーモニー音の生成に用いるとともに、当該リード音データを所定のタイミングで読み出して音源回路8に送信する。これにより、音源回路8は、当該リード音データに対応するリード音(の楽音信号)を生成して効果回路9に出力する。効果回路9は、入力された楽音信号に適宜効果を付与して、内蔵の信号出力制御回路(図示せず)に出力する。
またユーザが、たとえば入力操作部1に含まれる鍵盤を押鍵してコードを入力すると、CPU2は、入力されたコードからコード情報を抽出し、前記ROM3にコード情報毎に記憶されているハーモニー音生成用テーブルから、抽出したコード情報に対応するハーモニー音生成用テーブルを参照対象として選択する。そしてCPU2は、選択したハーモニー音生成用テーブルから、前記検出したリード音データ(入力音)の音高に対応付けられたハーモニー音の音高を読み出し、この音高のハーモニー音(の楽音信号)を生成するように音源回路8に依頼する。これにより音源回路8は、ハーモニー音(の楽音信号)を生成して効果回路9に出力する。効果回路9は、入力された楽音信号に適宜効果を付与して、信号出力制御回路に出力する。
信号出力制御回路は、入力された2種類の楽音信号をミキシングした後、所定の出力タイミングに従って後段の前記サウンドシステム10に出力する。
ここまでのハーモニー音生成処理は、「発明が解決しようとする課題」の欄で説明した従来の音声処理装置でなされるハーモニー音生成処理と異ならない。
次に、ユーザが歌声の音高を変化させると、CPU2は、その音高の変化量を算出し、算出した変化量と新たに入力されたリード音データ(音高の変化後の歌声)の音高が現在設定されている平行移動ハーモニー音生成ルールに適合するかどうかを判定する(ただし、平行移動ハーモニー音生成ルールによっては、その適合判定に「音高の変化量」のみ使用する場合がある)。この判定の結果、適合したときには、CPU2は、直前に生成されたハーモニー音の音高を上記変化量だけ平行移動させて、新たなハーモニー音の音高を決定し、この音高のハーモニー音、つまり平行移動ハーモニー音(の楽音信号)を生成するように音源回路8に依頼する。これに応じて、現在のハーモニー音が新たに生成された平行移動ハーモニー音に変更される。一方、適合しないときには、CPU2は、前記従来の音声処理装置でなされるハーモニー音生成処理と同様にして、現在選択されているハーモニー音生成用テーブルから、新たに入力されたリード音データの音高に対応付けられたハーモニー音の音高を読み出し、この音高のハーモニー音(の楽音信号)を生成するように音源回路8に依頼する。
なお本実施の形態では、平行移動ハーモニー音生成ルールとして3種類のルール(各ルールの内容については、後述する)を設け、そのうちの1つをユーザが選択可能に構成されている。ただし、ユーザはいずれの平行移動ハーモニー音生成ルールも選択しないこともでき、この場合には、ユーザがどのような音高の歌声を入力したとしても、平行移動ハーモニー音は生成されず、入力されたコードのコード感に合ったハーモニー音のみが生成される。
このように本実施の形態では、入力音の音高の変化状況に基づいて、コード感のあるハーモニー音を得るべきか、平行移動の独特な遷移感のあるハーモニー音(平行移動ハーモニー音)を得るべきかを自動的に判定し、判定された方のハーモニー音を生成するようにしたので、容易に、さらなる音楽的な変化に富んだハーモニー音を得ることができる。そして、得るべきハーモニー音と平行移動ハーモニー音の判定および生成は自動的に行われるので、ユーザはコードやスケール音などの音楽的知識を特に持たなくてもよい。
次に、この制御処理を詳細に説明する。
図3は、本実施の形態の電子音楽装置、特にCPU2が実行する演奏補助処理の手順を示すフローチャートである。
本演奏補助処理は、主として、
(1)初期設定処理(ステップS1)
(2)入力音オフ検出時処理(ステップS4〜S6)
(3)入力音オン検出時処理(ステップS8〜S11)
(4)入力コード検出時処理(ステップS13〜S16)
(5)演奏補助処理の終了処理(ステップS17)
によって構成されている。
本演奏補助処理は、たとえば前記入力操作部1に含まれる電源スイッチ(図示せず)によって電源がオンされたときに起動される。起動後、前記(1)の初期設定処理が1回実行され、これに続いて、前記(2)〜(4)の各処理が適宜実行される。そして(2)〜(4)の各処理は、演奏補助処理の終了が指示されるまで、あるいは電源ボタンによって電源がオフされるまで、適宜繰り返し実行される。なお、演奏補助処理の終了が指示されると、前記(5)の演奏補助処理の終了処理が実行された後、本演奏補助処理は終了する。
本演奏補助処理が起動すると、CPU2は、処理を前記(1)の初期設定処理に進める。この(1)初期設定処理では、CPU2は、前記RAM4のクリアや平行移動ハーモニー音生成ルールの設定などを行う(ステップS1)。RAM4には、入力音から検出した音高を記憶するための領域Leadと、その入力音の1つ前の入力音から検出した音高を記憶するための領域LeadOと、入力コードから抽出したコード情報を記憶するための領域Chordと、入力音から検出した音高および参照対象として選択されたハーモニー音生成用テーブル等に基づいて決定したハーモニー音の音高を記憶するための領域Harmonyと、その1つ前に決定したハーモニー音の音高を記憶するための領域HarmonyOが設けられるが、上記RAM4のクリアでは、これら領域Lead,LeadO,Chord,HarmonyおよびHarmonyOもクリアされる。また本実施の形態では、平行移動ハーモニー音生成ルールとして、
(R1)第1の生成ルール:入力音が半音上/下に進行したときに、平行移動ハーモニー音を生成;
(R2)第2の生成ルール:入力音が半音上/下に進行し、かつその入力音が非コードスケール音であるときに、平行移動ハーモニー音を生成;
(R3)第3の生成ルール:入力音が半音下に進行し、かつその入力音が非コードスケール音であるときに、平行移動ハーモニー音を生成;
の3種類が設けられている。そしてユーザは、前述のように、この3種類の生成ルールの中からいずれかを任意に選択して設定できるようになっている。したがって、初期設定処理における「平行移動ハーモニー音生成ルールの設定」とは、ユーザの選択操作に応じて選択された生成ルールを設定することであるが、これに限らず、デフォルトの生成ルールが設定されるようにしてもよいし、前回の演奏補助処理で設定された生成ルールが設定されるようにしてもよい。また本実施の形態では、「平行移動ハーモニー音生成ルールの設定」は、初期設定処理内でのみ行うようにしているが、これに加えて、本演奏補助処理中のそれ以降の任意の場所で「設定」できるようにしてもよい。なお、本実施の形態では前述のように、いずれの平行移動ハーモニー音生成ルールも選択しないこともできるので、上記「平行移動ハーモニー音生成ルールの設定」には、「いずれの平行移動ハーモニー音生成ルールも選択しない」という設定も含まれる。
次にCPU2は、ユーザが本演奏補助処理の終了を指示したかどうかをチェックする(ステップS2)。このチェックの結果、本演奏補助処理の終了が指示されたときには、CPU2は処理を前記(5)の演奏補助処理の終了処理に進める一方、本演奏補助処理の終了が指示されなかったときには、CPU2は処理をステップS3に進める。なお、この(5)演奏補助処理の終了処理の詳細については、後述する。
ステップS3では、CPU2は、入力音のオフを検出したかどうかをチェックする。このチェックの結果、入力音のオフを検出すると、CPU2は処理を前記(2)の入力音オフ検出時処理に進める一方、入力音のオフを検出しなければ、CPU2は処理をステップS7に進める。ここで入力音は、前記リード音データ格納領域に格納されたリード音データ、つまりユーザの歌声(のデジタルデータ)である。そして、「リード音のオフ」は、たとえばリード音データ格納領域内のリード音データのレベルが所定の閾値(歌声が入力されていないと見なされる値)以下のときに、検出したと判定し、それ以外のときに、検出しなかった(歌声が依然として入力されている)と判定すればよい。
(2)入力音オフ検出時処理では、CPU2は、リード音を消音する(ステップS4)とともにハーモニー音を消音し(ステップS5)、さらに領域Leadおよび領域Harmonyをクリアする(ステップS6)。このリード音およびハーモニー音の消音は、本実施の形態では、音源回路8にその消音を依頼することでなされている。なお、入力音のオフが検出されたときには、リード音データのレベルは非常に低いので、そのリード音をさらに消音する必要があるかの問題はあるが、それでも敢えて消音してもよい。もちろん、何もせずにそのまま放置することも考えられる。またステップS6では、領域LeadOおよび領域HarmonyOも一緒にクリアするようにしてもよい。
前記ステップS7では、CPU2は、入力音のオンを検出したかどうかをチェックし、入力音のオンを検出すると、処理を前記(3)の入力音オン検出時処理に進める一方、入力音のオンを検出しなければ、処理をステップS12に進める。ここで、「入力音のオン」は、リード音データ格納領域内のリード音データのうち、音源回路8が出力しようとしているデータから所定範囲のデータの、たとえば平均レベルが所定の閾値より大きいときに、オンと判定し、それ以外のときに、オンでないと判定すればよい。
(3)入力音オン検出時処理では、まずCPU2は、入力音の音高(ピッチ)を検出する(ステップS8)。本実施の形態では前述のように、入力音はユーザの歌声であるので、歌声からそのピッチを検出しなければならないが、この種のピッチの検出は、公知の方法を用いてよく行われている。そして本発明の特徴は、歌声からそのピッチを検出する方法にある訳ではないので、ステップS8でのピッチの検出は、公知の方法によって行うようにすればよい。
次にCPU2は、領域Leadに記憶されている入力音(現時点では、1つ前の入力音となっている)の音高を領域LeadOに保存するとともに、領域Leadを上記ステップS8で検出した現在の入力音の音高で更新する(ステップS9)。なお、初期設定処理後初めて処理がステップS9に進んだ場合には、領域Leadはクリアされた状態であって、有効な音高が記憶されていないので、この場合には、ステップS9の処理のうちの前者の処理、つまり「領域Leadに記憶されている1つ前の入力音の音高を領域LeadOに保存する」処理を行わないようにしてもよい。もちろん、この場合に前者の処理を行っても、領域LeadOはクリアの状態が継続されるだけであるので、この場合も前者の処理を行うようにしてもよい。以下、領域Leadに記憶されている入力音の音高を「リード音Lead」と言う。
次にCPU2は、制御処理の概要で前述したように、入力されたアナログ音声信号をデジタル化して、リード音データとしてRAM4上のリード音データ格納領域に格納した後、当該リード音データを所定のタイミングで読み出して音源回路8に送信する(ステップS10)。
さらにCPU2は、ハーモニー音生成処理を実行する(ステップS11)。ハーモニー音生成処理は、リード音Leadおよび1つ前のリード音LeadOなどが所定の条件を満たす場合に、リード音Leadに対するハーモニー音の音高を決定し、この音高のハーモニー音を生成して出力する処理であるが、その詳細な手順については、図4を用いて後述する。
前記ステップS12では、CPU2は、入力コードを検出したかどうかをチェックし、入力コードを検出すると、処理を前記(4)の入力コード検出時処理に進める一方、入力コードを検出しなければ、処理を前記ステップS2に戻す。
(4)入力コード検出時処理では、まずCPU2は、入力コードからコード情報を抽出する(ステップS13)。ここで「コード情報」とは、コード名やコード名を特定可能な情報、たとえばルートとタイプの組などである。「入力コード」は、本実施の形態では、音高情報を含む押鍵イベント複数として検出される。この「入力コード」から「コード情報」を抽出する具体的な方法としては、たとえば、各コード情報と当該コード情報を構成する複数の音高情報の組とを対応付けたコード情報抽出用テーブルを予め作成しておき、このコード情報抽出用テーブルを検索することで、「入力コード」を構成する複数の押鍵イベント(の各音高情報)に対応する「コード情報」を抽出する方法が考えられる。この他にも、コード情報抽出用テーブルを利用せずに、「入力コード」に演算処理を施して、「入力コード」から直接「コード情報」を抽出するようにしてもよい。なお、「入力コード」に対応する「コード情報」が存在しないなどの理由により、コード情報を抽出できない場合があるが、この場合には、それ以降の処理をせずに、前記ステップS12で入力コードを検出しなかったときと同様に、処理を前記ステップS2に戻すようにしてもよいが、何か代わりのコード情報に置き換えて、それ以降の処理を続けるようにしてもよい。
次にCPU2は、領域Chordを上記ステップS13で抽出したコード情報で更新する(ステップS14)。以下、領域Chordに記憶されているコード情報を「コード情報Chord」と言う。
そしてCPU2は、コード情報Chordに対応付けられたハーモニー音生成用テーブルを参照対象として選択し、このハーモニー音生成用テーブルに基づいて、リード音Leadに対応するハーモニー音の音高を検出し、その音高情報を音源回路8に出力する(ステップS15)。これにより音源回路8は、リード音データのピッチを入力された音高情報の音高に変換し、変換後の音高のリード音データ、つまりハーモニー音データを前記効果回路9に出力する。なお、ステップS15における「ハーモニー音の音高の検出」は、リード音Leadが有効である場合、つまりリード音Leadとして何らかの意味のある音高が検出されている場合に行うようにする。
さらにCPU2は、上記ステップS15で検出したハーモニー音の音高を領域HarmonyOに保存する(ステップS16)。以下、領域HarmonyOに保存されているハーモニー音の音高を「1つ前のハーモニー音HarmonyO」と言う。
前記(5)の演奏補助処理の終了処理では、CPU2は、現在選択中の平行移動ハーモニー音生成ルールの種類などを記憶装置5に記憶させる。これにより、本演奏補助処理が次回起動されたときに、直前の選択状態および設定状態を再現することができる。
図4は、前記ステップS11のハーモニー音生成処理の詳細な手順を示すフローチャートである。本ハーモニー音生成処理は、主として、
(11)第1の生成ルールに対する適合判定処理(ステップS26,S28)
(12)第2の生成ルールに対する適合判定処理(ステップS33,S26,S28)
(13)第3の生成ルールに対する適合判定処理(ステップS35,S36)
(14)第1の平行移動ハーモニー音決定処理(ステップS27)
(15)第2の平行移動ハーモニー音決定処理(ステップS29)
(16)第3の平行移動ハーモニー音決定処理(ステップS37)
(17)ハーモニー音生成用テーブルに基づいたハーモニー音検出処理(ステップS30,S31)
(18)ハーモニー音生成・出力処理(ステップS38,S39)
によって構成されている。
本ハーモニー音生成処理が起動されると、まずCPU2は、リード音Leadおよびコード情報Chordのいずれも有効であるかどうか、つまり何らかの意味のあるリード音の音高およびコード情報が検出されているかどうかチェックする(ステップS21,S22)。このチェックの結果、少なくとも一方が有効でない場合には、CPU2は本ハーモニー音生成処理を終了する一方、両方とも有効であれば、CPU2は処理を次のステップS23に進める。
ステップS23では、CPU2は、1つ前のハーモニー音HarmonyOが有効かどうか、つまり何らかの意味のあるハーモニー音が保存されているかどうかをチェックする。このチェックの結果、1つ前のハーモニー音HarmonyOが有効であれば、CPU2は処理をステップS24に進める一方、1つ前のハーモニー音HarmonyOが有効でなければ、平行移動ハーモニー音は生成不可能として、CPU2は処理を前記(17)のハーモニー音生成用テーブルに基づいたハーモニー音検出処理に進める。
(17)ハーモニー音生成用テーブルに基づいたハーモニー音検出処理では、CPU2は、前記図3のステップS15の処理の前段と同様にして、コード情報Chordに対応付けられたハーモニー音生成用テーブルに基づいて、新たなハーモニー音の音高を検出する(ステップS30)。そしてCPU2は、この検出したハーモニー音の音高を前記領域Harmonyに格納する(ステップS31)。以下、領域Harmonyに記憶されているハーモニー音の音高を「ハーモニー音Harmony」と言う。
次にCPU2は、処理を前記(18)のハーモニー音生成・出力処理に進める。この(18)ハーモニー音生成・出力処理では、CPU2は、前記図3のステップS15の処理の後段と同様にして、ハーモニー音Harmony(の音高情報)を音源回路8に出力する(ステップS38)。そしてCPU2は、ハーモニー音Harmonyを1つ前のハーモニー音の音高として領域HarmonyOに保存する(ステップS39)。
前記ステップS24では、CPU2は、1つ前のリード音LeadOからのリード音Leadの変化量Df(=Lead−LeadO)を算出する。
続くステップS25以降の処理では、CPU2は、現在設定中の平行移動ハーモニー音生成ルールに現在のリード音Leadなどが適合しているかどうかを判定し、その判定結果に応じた処理を実行する。
まず、第1の生成ルールが設定されている場合には、CPU2は、処理を前記(11)の第1の生成ルールに対する適合判定処理に進める(ステップS25→S26)。この(11)第1の生成ルールに対する適合判定処理では、CPU2は、変化量Dfが“+1”であるか“−1”であるか、つまり入力音が半音上/下に進行しているかどうかを判定する(ステップS26,S28)。この判定の結果、変化量Df=+1のとき、つまり入力音が半音上に進行しているときには、CPU2は処理を前記(14)の第1の平行移動ハーモニー音決定処理に進める(ステップS26→S27)。この(14)第1の平行移動ハーモニー音決定処理では、CPU2は、1つ前のハーモニー音HarmonyOも半音上に平行移動させ、平行移動後のハーモニー音の音高をハーモニー音Harmonyに設定する。その後、CPU2は処理を前記(18)のハーモニー音生成・出力処理に進めて、平行移動ハーモニー音を生成して出力する。一方、この判定の結果、変化量Df=−1のとき、つまり入力音が半音下に進行しているときには、CPU2は処理を前記(15)の第2の平行移動ハーモニー音決定処理に進める(ステップS28→S29)。この(15)第2の平行移動ハーモニー音決定処理では、CPU2は、1つ前のハーモニー音HarmonyOも半音下に平行移動させ、平行移動後のハーモニー音の音高をハーモニー音Harmonyに設定する。その後、CPU2は処理を前記(18)のハーモニー音生成・出力処理に進めて、平行移動ハーモニー音を生成して出力する。なお、変化量Dfが第1の生成ルールに適合していなければ、CPU2は処理を前記(17)のハーモニー音生成用テーブルに基づいたハーモニー音検出処理に進める(ステップS26→S28→S30)。この(17)ハーモニー音生成用テーブルに基づいたハーモニー音検出処理の詳細については既に説明したので、ここでは繰り返さない。
次に、第2の生成ルールが設定されている場合には、CPU2は、処理を前記(12)の第2の生成ルールに対する適合判定処理に進める(ステップS32→S33)。第2の生成ルールは、第1の生成ルール、つまり「入力音が半音上/下に進行すること」に「その入力音が非コードスケール音であること」を加重して構成されているので、この(12)第2の生成ルールに対する適合判定処理では、まず後者のルール、つまり「その入力音が非コードスケール音であること」に対する適合判定処理、次に前者のルール、つまり「入力音が半音上/下に進行すること」に対する適合判定処理の順序で判定処理を実行し、前者のルールに対する適合判定処理は、前記(11)の第1の生成ルールに対する適合判定処理をそのまま用いるようにしている。したがって、まずCPU2は、コード情報Chordに対応付けられたハーモニー音生成用テーブルにおいて、リード音Leadは非コードスケール音に相当する(当該テーブルの「コードスケール音」の項目中、リード音Leadに対応する位置に“C”,“S”,“0”のいずれも記載されていない、つまり“1”が記載されている)かどうかを判定する(ステップS33)。前述のように、ハーモニー音生成用テーブルの「コードスケール音」の項目中、“C”および“S”以外、つまり“0”および“1”が記載されている音名の音は非コードスケール音であるので、入力音、つまりリード音Leadが“0”および“1”の記載されている音名の音に相当する場合は、第2の生成ルールのうちの後者のルールに適合しているが、本実施の形態では、入力音がさらに非コードスケール音のうちでも“1”が記載されたもの、つまり平行移動ハーモニー音を生成すべきものに相当する場合にのみ、第2の生成ルールの後者のルールに適合するとして、次の判定処理、つまり第2の生成ルールのうちの前者のルールに移行させるようにしている。もちろんこれに限らず、入力音が“0”の記載されたものを含む非コードスケール音に相当する場合に、第2の生成ルールの後者のルールに適合するとしてもよい。この事情は、後述するステップS35の判定処理についても同様である。
前記ステップS33の判定の結果、リード音Leadがコード情報Chordの非コードスケール音であれば、CPU2は処理を前記(11)第1の生成ルールに対する適合判定処理に進める(ステップS33→S26)。この(11)第1の生成ルールに対する適合判定処理以降の処理の詳細については既に説明したので、ここでは繰り返さない。一方、ステップS33の判定の結果、リード音Leadがコード情報Chordの非コードスケール音でなければ、CPU2は処理をステップS34に進める。
次に、第3の生成ルールが設定されている場合には、CPU2は、処理を前記(13)の第3の生成ルールに対する適合判定処理に進める(ステップS34→S35)。この(13)第3の生成ルールに対する適合判定処理も、前記(12)第2の生成ルールに対する適合判定処理と同様に、後者のルール、つまり「その入力音が非コードスケール音であること」に対する適合判定処理、次に前者のルール、つまり「入力音が半音下に進行すること」に対する適合判定処理の順序で判定処理を実行する。したがって、まずCPU2は、前記ステップS33の判定処理と同様の判定処理を実行する(ステップS35)。この判定の結果、リード音Leadがコード情報Chordの非コードスケール音であれば、次にCPU2は、変化量Dfが“−1”であるか、つまり入力音が半音下に進行しているかどうかを判定する(ステップS36)。この判定の結果、変化量Df=−1のときには、CPU2は処理を前記(16)の第3の平行移動ハーモニー音決定処理に進める(ステップS36→S37)。この(16)第3の平行移動ハーモニー音決定処理以降の処理はは、前記(15)第2の平行移動ハーモニー音決定処理以降の処理と同様であるので、その処理の詳細についての説明は省略する。一方、ステップS35の判定の結果、リード音Leadがコード情報Chordの非コードスケール音でなければ、あるいは、リード音Leadがコード情報Chordの非コードスケール音であったとしても、ステップS36の判定の結果、変化量Df≠−1であれば、CPU2は、第3の生成ルールに適合していないとして、(16)第3の平行移動ハーモニー音決定処理を実行せずに、処理を前記(17)のハーモニー音生成用テーブルに基づいたハーモニー音検出処理に進める。
さらに、第1〜第3の生成ルールのいずれも設定されていない場合には、CPU2は、処理をステップS24の処理から直ちに前記(17)のハーモニー音生成用テーブルに基づいたハーモニー音検出処理に進める(ステップS25→S32→S34→S30)。
なお本実施の形態では、コード入力は、鍵盤から行うようにしたが、これに限らず、予め記憶されたコード進行パターンを順次自動的に読み出して行うようにしてもよい。
コード入力が、本実施の形態のように(鍵盤を用いた)演奏入力によって行われる場合には、押鍵状態からコード情報の検出を行うようにすればよい。コード情報の検出方法については、特に指定はなく、実際のコード構成音の鍵を押鍵することによりコードを指定するフィンガード方式や、1つから3つ程度の鍵を所定の規則に基づいて押鍵することによりコードを指定するシングルフィンガー方式などが考えられる。または、操作パネル上に配置されたスイッチ操作により、各コードのルートとタイプを順次指定して行ってもよい。
また本実施の形態では、ハーモニー音およびリード音を同時に発生させる例を挙げて説明したが、これに限らず、伴奏音を自動生成するようにし、この伴奏音と、ハーモニー音およびリード音とを同時に発生させるようにしてもよいし、リード音を発生させずに、伴奏音とハーモニー音を同時に発生させるようにしてもよい。
リード音は、本実施の形態では、ユーザの音声に基づいて生成したが、これに限らず、演奏操作子から入力された演奏情報に基づいて生成するようにしてもよい。ユーザの音声は、本実施の形態では、マイクロフォンによって入力したものを用いたが、これに限らず、事前に記録しておいたものを再生して用いてもよい。演奏情報についても、これと同様に、事前に記録しておいたものを再生して用いてもよい。音声や演奏情報が事前に記録されたものである場合、再生する前に、当該音声や演奏情報を構成する音の音高の並びを検出できるので、平行移動ハーモニー音生成ルールとして、(R4)入力音が半音下降して非スケール音に変化し、さらに半音上昇してスケール音に戻ったときに、平行移動ハーモニー音を生成;というルールを採用することができる。たとえば、平行移動ハーモニー音生成ルールとして、本実施の形態のように「入力音が半音下降して非スケール音に変化したときに、平行移動ハーモニー音を生成」が選択され、このとき、前記図2の“Cmaj”のハーモニー音生成用テーブルが選択されていれば、入力音の音高がG3→F#3→F3と変化した場合、ハーモニー音の音高としては、まず“C4”が検出され、次に入力音が非スケール音へ半音下降しているので、“C4”ではなく“B3”が検出される。ところが、次に入力音はスケール音へ半音下降しているので、“C4”の音高のハーモニー音が検出されることになり、入力音の3音が下降するのに対して、ハーモニー音は3音目が上昇することになる。この入力音の例で、上記(R4)のルールを採用すると、ハーモニー音は“C4”から変化せず、入力音の音高の変化傾向に合ったものになる。
本実施の形態では、平行移動ハーモニー音生成ルールとして、前記(R1)〜(R3)のルールを採用したが、これに代えて、次の(R1′)〜(R3′)のルールを採用してもよい(さらに、入力音の先読みができる場合には、これに上記(R4)のルールを加えるようにしてもよい)。
(R1′)入力音が半音進行したときに、平行移動ハーモニー音を生成;
(R2′)入力音が半音進行し、かつその入力音が非スケール音のうちの所定の音であるときに、平行移動ハーモニー音を生成;
(R3′)入力音が半音下降し、かつその入力音が非スケール音の所定の音であるときに、平行移動ハーモニー音を生成;
ここで「所定の音」が、図2のハーモニー音生成用テーブルの「コードスケール音」の項目に“1”が記載されている入力音に相当する。“1”を割り当てる入力音としては、たとえば、半音下降した結果、非スケール音になり、次にスケール音に上昇する可能性が高い音を挙げることができる。このように入力音を割り当てると、平行移動によるハーモニー音生成の効果がより大きくなる。
また、前記(R1)〜(R3)のルールに上記(R1′)〜(R3′)および(R4)のルールを加えたものの中から、本実施の形態の電子音楽装置上で設定可能なものをユーザが任意に選択可能に構成してもよいし、デフォルトで決まっていてもよい。あるいは、曲のジャンルやコード情報に応じて、いくつかのルールが自動的に選択されるようにしてもよい。
ハーモニー音(平行移動ではないもの)の生成方法は、公知の方法のいずれを採用しても構わないが、コードを元にして生成するものとする。
なお、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムまたは装置に供給し、そのシステムまたは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードおよび該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、たとえば、フレキシブルディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。また、通信ネットワークを介してサーバコンピュータからプログラムコードが供給されるようにしてもよい。
また、コンピュータが読出したプログラムコードを実行することにより、上述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOSなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって上述した実施の形態の機能が実現される場合も含まれることは言うまでもない。
1…入力操作部(第1の受付手段、第2の受付手段),2…CPU(第1の受付手段、第2の受付手段、抽出手段、第1の保存手段、第2の保存手段、第1の決定手段、第2の決定手段、算出手段、判定手段、生成手段),4…RAM(第1の受付手段、第2の受付手段、第1の保存手段、第2の保存手段)

Claims (4)

  1. コード情報を受け付ける第1の受付手段と、
    入力音情報を受け付ける第2の受付手段と、
    前記第2の受付手段によって受け付けられた入力音情報から音高情報を抽出する抽出手段と、
    前記抽出手段によって入力音情報の音高情報が抽出される度に、前回抽出された入力音情報の音高情報を保存する第1の保存手段と、
    前記第1の受付手段によって受け付けられたコード情報および前記抽出手段によって抽出された入力音情報の音高情報に基づいてハーモニー音の音高を決定する第1の決定手段と、
    ハーモニー音の音高が決定される度に、前回決定されたハーモニー音の音高を保存する第2の保存手段と、
    前記第1の保存手段によって保存された前回抽出された入力音情報の音高情報から前記抽出手段によって今回抽出された入力音情報の音高情報への音高の変化量を算出する算出手段と、
    前記第2の保存手段によって保存された前回決定されたハーモニー音の音高からの移動量が前記算出手段によって算出された音高の変化量になるようなハーモニー音の音高を決定する第2の決定手段と、
    前記前回抽出された入力音情報の音高情報および前記今回抽出された入力音情報の音高情報に基づいて、前記第1の決定手段または前記第2の決定手段のいずれを用いてハーモニー音の音高を決定するかを判定する判定手段であって、前記算出された音高の変化量が±半音であるときに、前記第2の決定手段を用いてハーモニー音の音高を決定すると判定する判定手段と、
    前記判定手段によって判定された方の決定手段を用いて決定されたハーモニー音の音高に基づいてハーモニー音を生成する生成手段と
    を有することを特徴とする電子音楽装置。
  2. コード情報を受け付ける第1の受付手段と、
    入力音情報を受け付ける第2の受付手段と、
    前記第2の受付手段によって受け付けられた入力音情報から音高情報を抽出する抽出手段と、
    前記抽出手段によって入力音情報の音高情報が抽出される度に、前回抽出された入力音情報の音高情報を保存する第1の保存手段と、
    前記第1の受付手段によって受け付けられたコード情報および前記抽出手段によって抽出された入力音情報の音高情報に基づいてハーモニー音の音高を決定する第1の決定手段と、
    ハーモニー音の音高が決定される度に、前回決定されたハーモニー音の音高を保存する第2の保存手段と、
    前記第1の保存手段によって保存された前回抽出された入力音情報の音高情報から前記抽出手段によって今回抽出された入力音情報の音高情報への音高の変化量を算出する算出手段と、
    前記第2の保存手段によって保存された前回決定されたハーモニー音の音高からの移動量が前記算出手段によって算出された音高の変化量になるようなハーモニー音の音高を決定する第2の決定手段と、
    前記前回抽出された入力音情報の音高情報および前記今回抽出された入力音情報の音高情報に基づいて、前記第1の決定手段または前記第2の決定手段のいずれを用いてハーモニー音の音高を決定するかを判定する判定手段であって、前記算出された音高の変化量が±半音であり、かつ前記今回抽出された入力音情報の音高情報が特定の音高情報であるときに、前記第2の決定手段を用いてハーモニー音の音高を決定すると判定する判定手段と、
    前記判定手段によって判定された方の決定手段を用いて決定されたハーモニー音の音高に基づいてハーモニー音を生成する生成手段と
    を有することを特徴とする電子音楽装置。
  3. コード情報を受け付ける第1の受付手順と、
    入力音情報を受け付ける第2の受付手順と、
    前記第2の受付手順によって受け付けられた入力音情報から音高情報を抽出する抽出手順と、
    前記抽出手順によって入力音情報の音高情報が抽出される度に、前回抽出された入力音情報の音高情報を保存する第1の保存手順と、
    前記第1の受付手順によって受け付けられたコード情報および前記抽出手順によって抽出された入力音情報の音高情報に基づいてハーモニー音の音高を決定する第1の決定手順と、
    ハーモニー音の音高が決定される度に、前回決定されたハーモニー音の音高を保存する第2の保存手順と、
    前記第1の保存手順によって保存された前回抽出された入力音情報の音高情報から前記抽出手順によって今回抽出された入力音情報の音高情報への音高の変化量を算出する算出手順と、
    前記第2の保存手順によって保存された前回決定されたハーモニー音の音高からの移動量が前記算出手順によって算出された音高の変化量になるようなハーモニー音の音高を決定する第2の決定手順と、
    前記前回抽出された入力音情報の音高情報および前記今回抽出された入力音情報の音高情報に基づいて、前記第1の決定手順または前記第2の決定手順のいずれを用いてハーモニー音の音高を決定するかを判定する判定手順であって、前記算出された音高の変化量が±半音であるときに、前記第2の決定手順を用いてハーモニー音の音高を決定すると判定する判定手順と、
    前記判定手順によって判定された方の決定手順を用いて決定されたハーモニー音の音高に基づいてハーモニー音を生成する生成手順と
    をコンピュータに実行させるためのプログラム。
  4. コード情報を受け付ける第1の受付手順と、
    入力音情報を受け付ける第2の受付手順と、
    前記第2の受付手順によって受け付けられた入力音情報から音高情報を抽出する抽出手順と、
    前記抽出手順によって入力音情報の音高情報が抽出される度に、前回抽出された入力音情報の音高情報を保存する第1の保存手順と、
    前記第1の受付手順によって受け付けられたコード情報および前記抽出手順によって抽出された入力音情報の音高情報に基づいてハーモニー音の音高を決定する第1の決定手順と、
    ハーモニー音の音高が決定される度に、前回決定されたハーモニー音の音高を保存する第2の保存手順と、
    前記第1の保存手順によって保存された前回抽出された入力音情報の音高情報から前記抽出手順によって今回抽出された入力音情報の音高情報への音高の変化量を算出する算出手順と、
    前記第2の保存手順によって保存された前回決定されたハーモニー音の音高からの移動量が前記算出手順によって算出された音高の変化量になるようなハーモニー音の音高を決定する第2の決定手順と、
    前記前回抽出された入力音情報の音高情報および前記今回抽出された入力音情報の音高情報に基づいて、前記第1の決定手順または前記第2の決定手順のいずれを用いてハーモニー音の音高を決定するかを判定する判定手順であって、前記算出された音高の変化量が±半音であり、かつ前記今回抽出された入力音情報の音高情報が特定の音高情報であるときに、前記第2の決定手順を用いてハーモニー音の音高を決定すると判定する判定手順と、
    前記判定手順によって判定された方の決定手順を用いて決定されたハーモニー音の音高に基づいてハーモニー音を生成する生成手順と
    をコンピュータに実行させるためのプログラム。
JP2010032438A 2010-02-17 2010-02-17 電子音楽装置およびハーモニー音生成方法を実現するためのプログラム Expired - Fee Related JP5560759B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010032438A JP5560759B2 (ja) 2010-02-17 2010-02-17 電子音楽装置およびハーモニー音生成方法を実現するためのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010032438A JP5560759B2 (ja) 2010-02-17 2010-02-17 電子音楽装置およびハーモニー音生成方法を実現するためのプログラム

Publications (2)

Publication Number Publication Date
JP2011170030A JP2011170030A (ja) 2011-09-01
JP5560759B2 true JP5560759B2 (ja) 2014-07-30

Family

ID=44684243

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010032438A Expired - Fee Related JP5560759B2 (ja) 2010-02-17 2010-02-17 電子音楽装置およびハーモニー音生成方法を実現するためのプログラム

Country Status (1)

Country Link
JP (1) JP5560759B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103151028B (zh) * 2012-12-10 2015-05-27 周洪璋 一种唱出管弦乐声的方法及其实现设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH071429B2 (ja) * 1984-03-14 1995-01-11 カシオ計算機株式会社 和音発生装置
JP2879948B2 (ja) * 1990-06-08 1999-04-05 ヤマハ 株式会社 音声処理装置
JP3287230B2 (ja) * 1996-09-03 2002-06-04 ヤマハ株式会社 コーラス効果付与装置
JP3324477B2 (ja) * 1997-10-31 2002-09-17 ヤマハ株式会社 付加音信号生成装置および付加音信号生成機能を実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP3365354B2 (ja) * 1999-06-30 2003-01-08 ヤマハ株式会社 音声信号または楽音信号の処理装置
JP3879357B2 (ja) * 2000-03-02 2007-02-14 ヤマハ株式会社 音声信号または楽音信号の処理装置およびその処理プログラムが記録された記録媒体

Also Published As

Publication number Publication date
JP2011170030A (ja) 2011-09-01

Similar Documents

Publication Publication Date Title
JP2014194536A (ja) コード検出装置およびコード検出方法を実現するためのプログラム
JP2003099032A (ja) コード提示装置およびコード提示用コンピュータプログラム
JP2004334051A (ja) 楽譜表示装置および楽譜表示コンピュータプログラム
JP4650182B2 (ja) 自動伴奏装置及びプログラム
JP7190284B2 (ja) ハーモニー生成装置およびそのプログラム
JP5728829B2 (ja) 電子音楽装置およびハーモニー音生成方法を実現するためのプログラム
JP2008089975A (ja) 電子楽器
JP5560759B2 (ja) 電子音楽装置およびハーモニー音生成方法を実現するためのプログラム
JP4962592B2 (ja) 電子楽器および電子楽器に適用されるコンピュータプログラム
JP4670686B2 (ja) コード表示装置及びプログラム
JP5969421B2 (ja) 楽器音出力装置及び楽器音出力プログラム
JP6315677B2 (ja) 演奏装置及びプログラム
JPH11338480A (ja) カラオケ装置
JP5560742B2 (ja) 電子音楽装置およびハーモニー音生成方法を実現するためのプログラム
JP5387182B2 (ja) 電子音楽装置およびその制御方法を実現するためのプログラム
JP5560695B2 (ja) 演奏補助装置および演奏補助方法を実現するためのプログラム
JP4003625B2 (ja) 演奏制御装置および演奏制御用プログラム
JP6525034B2 (ja) コード進行情報生成装置およびコード進行情報生成方法を実現するためのプログラム
JP2002032079A (ja) 自動作曲装置及び方法並びに記憶媒体
JP5104414B2 (ja) 自動演奏装置及びプログラム
JP4033146B2 (ja) カラオケ装置
JP3988668B2 (ja) 自動伴奏装置および自動伴奏プログラム
JP2006258938A (ja) 自動演奏装置及びプログラム
JP6424501B2 (ja) 演奏装置及び演奏プログラム
JP4900233B2 (ja) 自動演奏装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140411

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140526

R150 Certificate of patent or registration of utility model

Ref document number: 5560759

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees