JP2010092016A - アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム - Google Patents

アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム Download PDF

Info

Publication number
JP2010092016A
JP2010092016A JP2009180699A JP2009180699A JP2010092016A JP 2010092016 A JP2010092016 A JP 2010092016A JP 2009180699 A JP2009180699 A JP 2009180699A JP 2009180699 A JP2009180699 A JP 2009180699A JP 2010092016 A JP2010092016 A JP 2010092016A
Authority
JP
Japan
Prior art keywords
sound
chord
phrase
scale
scales
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
JP2009180699A
Other languages
English (en)
Other versions
JP5574474B2 (ja
Inventor
Kiyomi Kurebayashi
清巳 紅林
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing 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 Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP2009180699A priority Critical patent/JP5574474B2/ja
Priority to DE102009040540.2A priority patent/DE102009040540B4/de
Priority to US12/555,671 priority patent/US8017850B2/en
Publication of JP2010092016A publication Critical patent/JP2010092016A/ja
Application granted granted Critical
Publication of JP5574474B2 publication Critical patent/JP5574474B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/36Accompaniment arrangements
    • G10H1/38Chord
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/18Selecting circuits
    • G10H1/22Selecting circuits for suppressing tones; Preference networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2210/00Aspects or methods of musical processing having intrinsic musical character, i.e. involving musical theory or musical parameters or relying on musical knowledge, as applied in electrophonic musical tools or instruments
    • G10H2210/031Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal
    • G10H2210/091Musical analysis, i.e. isolation, extraction or identification of musical elements or musical parameters from a raw acoustic signal or from an encoded audio signal for performance evaluation, i.e. judging, grading or scoring the musical qualities or faithfulness of a performance, e.g. with respect to pitch, tempo or other timings of a reference performance

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Abstract

【課題】アドリブ演奏時の、フレーズ間やコード変更時での音跳びを抑制すること。また、実演奏に近い演奏も可能にすること。
【解決手段】ROM101は、ルート音をC音とするコード構成音から始まり、その音を最低音としたコードの転回形としてコードスケール音が配置された、複数の12音階からなるコードスケール音テーブルを格納する。CPU100は、フレーズの先頭音の場合、前回フレーズの最終音のキーナンバと先頭音の変換音のキーナンバとの音程が最小になるような12音階をコードスケール音テーブルから選択し、先頭音のキーナンバを該12音階の構成音のうちの対応する変換音に差し替える。また、フレーズ発音中にコード変更が有った場合も音を差し替えて音跳びを抑制する。前回の押鍵から今回の押鍵までの時間が所定時間を超えている場合には音跳びを抑制しない。
【選択図】図1

Description

この発明は、アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラムに関し、特に、鍵盤上の特定音域内の任意の鍵の押下によりアドリブ演奏を行うことができる、アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラムに関する。
自動伴奏機能あるいは自動演奏機能を備え、さらにアドリブ演奏機能を備えた電子楽器がある。アドリブ演奏機能は、予め数小節のフレーズデータを鍵盤上の特定音域内の各鍵にアサインして内蔵させておき、特定音域内の任意の鍵が押下されたとき、その押下中だけ該鍵に対応するフレーズデータを先頭から読み出して発音させることで実現される。
フレーズデータは、Cコードスケールに沿った基本フレーズのデータとして内蔵される。自動伴奏機能においては鍵盤操作によるコードが検出された時、自動演奏機能においては曲データ中のコード進行データにおいてコードが検出された時、基本フレーズの各音を、検出されたコードに該当するコードスケール音テーブル上の音に変換して発音させる。コードスケール音テーブルは、コードタイプ別にCルート音から始まる12音階のスケール音テーブルとして構成される。基本フレーズの各音は、検出されたコードのルート音分が加算されることで変換される。
特許文献1には、アドリブ演奏用に割り当てられた、鍵盤上の特定音域内の鍵に対応させて小単位のメロディの楽音波形の情報を予め記憶し、特定音域内の鍵が押下されたとき、該鍵に対応する楽音波形を読み出し、楽音を繰り返し発生させる、アドリブ演奏機能を有する電子楽器が記載されている。
特許文献2には、現在発音中のコードに対して自然な繋がりが得られる転回形を自動選択し、この転回形に従ってノートデータを修正することにより、コード進行に伴うコード変化の前後で音程が跳躍しないようにした自動伴奏装置が記載されている。
特開平2−151897号公報 特開平5−35273号公報
アドリブ演奏機能のための基本フレーズは、さまざまな音域で、上行フレーズ、下行フレーズ、あるいはこれらを組み合わせた形でフレージングされている。ユーザは、鍵盤上の特定音域内の任意の鍵を押下し、該鍵にアサインされたフレーズデータを読み出して発音させることができる。したがって、フレーズデータが読み出される順序、すなわち発音順序は、ユーザが鍵を押下する順序次第で異なったものになる。また、ユーザによる鍵の押下は、フレーズの最後までとは限らず、1拍の時もあれば1小節の時もあり、どの音域で発音が終わるのかは予測することができない。
このため、ユーザによる鍵の押下順序によっては大きく音跳びし、複数フレーズ全体としての楽音が安定して聴こえないことがある。例えば、低音域のフレーズが発音された後に高音域のフレーズが選ばれた場合、低音域のフレーズとそれに続く高音域のフレーズとの音程の繋がりが不自然になり、両フレーズ全体としての楽音が安定して聴こえないことがある。
また、ユーザにより特定音域内の鍵が押下され続けられていて、あるフレーズが発音されている途中で、自動伴奏あるいは自動演奏により、ルート音が異なるコードに変更された場合、そのフレーズは、途中からコードスケール音テーブルにより変換される。従来のコードスケール音テーブルは、コードタイプ別にCルート音から始まる12音階のみで構成されているので、フレーズが、途中から、コードスケール音テーブルに従ってルート音分だけ加算されて変換されると、コード変更時のルート音によってはフレーズが途中から大きく音跳びし安定して聴こえないことがある。
図15は、従来のコードスケール音テーブルを示す図である。ここで、(/*[C,C#,D,・・・,B]*/)は、フレーズデータに含まれる各音からオクターブ情報を除いた12音階情報を示し、12音階情報の各音に対する列は、コードタイプ別の変換用加算値を示している。例えば、コードタイプがMajorの場合、フレーズデータのC#音は、"1"加算されてD音に変換される。
図19は、フレーズデータによる楽譜の具体例であり、ここでは、1小節のフレーズ1,2から成る2小節の楽譜を示している。フレーズデータは、このようにCコードスケールに沿った基本フレーズのデータとして備えられている。フレーズ1,2は、鍵盤上の特定音域内の任意の別々の鍵にアサインされている。フレーズ1,2がアサインされた鍵が押下された時、対応するフレーズが先頭から読み出され、その鍵の押下中だけ発音される。図19に示すように発音するには、フレーズ1がアサインされた鍵を1小節間押下し、次に、フレーズ2がアサインされた鍵を1小節の間、押下すればよい。
図20は、図16のフレーズ1,2が図15のコードスケール音テーブルに従って変換された場合の楽譜を示す図である。ここでは、2拍ずつでC7,A7,Dm7,G7とコード変更された場合を例示している。
例えば、フレーズ1の1音目の"シ"(キーナンバ71)は、C7へのコード変更に従って"シ♭"(キーナンバ70)に変換される。フレーズ1の3音目の"ラ♯"(キーナンバ70)は、変更されない。フレーズ1の4音目の"シ"(キーナンバ71)は、フレーズ1の3拍目でコードがA7に変更されたことに伴って"ソ"(キーナンバ79)に変換される。フレーズ1の最終音(6音目)の"ソ"(キーナンバ67)は、"ミ"(キーナンバ76)に変換される。また、フレーズ2の先頭音(1音目)の"シ"(キーナンバ71)は、コードがDm7に変更されたことに伴って"ド"(キーナンバ72)に変換される。6音目の"ソ"(キーナンバ67)は、"ラ"(キーナンバ69)に変換される。さらに、7音目の"シ"(キーナンバ71)は、コードがG7に変更されたことに伴って"ファ"(キーナンバ77)に変換される。
この例では、フレーズ1,2の楽譜で、1つのフレーズの発音中(フレーズ1の3音と4音の間およびフレーズ2の6音と7音の間)に別のコードルートを持つコードが検出され、元のフレーズ1,2に比べると、加算されたルート音分だけ音跳びしている(丸枠で囲った部分)。また、フレーズ1の最終音(ミ)とフレーズ2の先頭音(ド)との間には、3度の音程の開きがある(四角枠で囲った部分)。コード進行の具合や個々のフレーズの音域や形などによって、この音程の開きは、さらに大きくなる場合もある。
特許文献1には、アドリブ演奏機能を有する電子楽器が記載されているが、上記したアドリブ演奏における課題およびその課題解決手段について記載されていない。また、特許文献2は、コード進行に伴うコード変化の前後での音程の跳躍を抑制する自動伴奏について記載されているが、これにも、上記したアドリブ演奏における課題およびその課題解決手段について記載されていない。
本発明の目的は、鍵盤上の特定音域内の任意の鍵が押下されてアドリブ演奏が行われた際、フレーズ間やコード変更時での音跳びを抑制することができる、アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラムを提供することにある。
上記課題を解決するため、本発明は、鍵盤上の特定音域の各鍵にアサインされた数小節のフレーズデータを格納しておき、前記各鍵のいずれかが押下されている間、該鍵に対応するフレーズデータを読み出して発音させるアドリブ演奏機能を有する電子楽器において、ルート音をC音とするコード構成音から始まり、その音を最低音としたコードの転回形としてコードスケール音が配置された、複数の12音階からなるコードスケール音テーブルと、前記コードスケール音テーブルを用いてフレーズデータのキーナンバを変更することによって音跳びを抑制する制御手段を備えた点を第1の特徴としている。
また、本発明は、前記制御手段が、フレーズの先頭音の場合、前回フレーズの最終音のキーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から選択し、前記先頭音のキーナンバを該12音階の構成音のうちの対応する変換音に差し替える点を第2の特徴としている。
また、本発明は、前記制御手段が、選択した12音階が最大値となって想定している音域よりも高い音域に達した場合には、基準キーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から再選択し、前記先頭音のキーナンバを該12音階の構成音のうちの対応する変換音に差し替える点を第3の特徴としている。
また、本発明は、前記制御手段が、フレーズの発音中にコード変更が有った場合、フレーズの先頭音の場合に前回フレーズの最終音のキーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から選択した、また、選択した12音階が最大値となって想定している音域よりも高い音域に達した場合には、基準キーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から再選択した、ことにより得られた12音階の構成音のうち、コード構成音として配置された所定音の変換音のキーナンバと上記所定音に対応する変換音のキーナンバとの音程が最小になるような12音階をコード変更後のコードタイプに該当するコードスケール音テーブルの複数の12音階から選択し、コード変更後の音のキーナンバを該12音階の構成音のうちの対応する変換音に差し替える点を第4の特徴としている。
さらに、本発明は、前記制御手段が、前回の離鍵から今回の押鍵までの時間が所定時間を超えている場合、前回フレーズの最終音と今回フレーズの先頭音との間での音跳びを抑制せず、今回フレーズを所定音域で発音させる点を第5の特徴としている。
本発明は、アドリブ演奏機能を有する電子楽器としてだけでなく、アドリブ演奏機能用プログラムとしても実現できる。このプログラムを電子楽器に搭載すれば、アドリブ演奏機能を有する電子楽器が得られる。
本発明によれば、数小節のフレーズデータがアサインされた鍵盤上の特定音域内の任意の鍵を押下してアドリブ演奏を行う際、今回のフレーズの先頭の音程が前回のフレーズの終わりの音程に繋がるようになるので、フレーズ間での音跳びを抑制することができる。また、フレーズ発音中にコードの変更があっても、その変更による音跳びを抑制することができる。これにより、音楽的に自然で安定して聞こえる楽音を発生させることができる。
前回の離鍵から今回の押鍵までの時間が所定時間を超えている場合には、フレーズ間やコード変更時での音跳びを抑制しない方が実演奏に近くなるので、好ましい場合もある。これは、前回の押鍵から今回の押鍵までの時間が所定時間を超えている場合、前回フレーズの最終音と今回フレーズの先頭音との間での音跳びを抑制せず、今回フレーズを所定音域で発音させることで達成される。
本発明の電子楽器の第1実施形態を示す機能ブロック図である。 鍵盤上の音域と各音域の鍵の機能の対応関係の一例を示す図である。 ROMに記憶されるフレーズデータの例を示す図である。 第1実施形態の動作を示すメインフローチャートである。 フレーズノート変換処理ルーチンで用いるコードスケール音テーブルの具体例を示す図である。 第1実施形態におけるフレーズノート変換処理ルーチンを示すフローチャートである。 図6の処理1(S52)を具体的に示すフローチャートである。 図6の処理2(S53)を具体的に示すフローチャートである。 図6の処理3(S55)を具体的に示すフローチャートである。 図6の処理4(S61)を具体的に示すフローチャートである。 図6の処理5(S62)を具体的に示すフローチャートである。 図6の処理6(S57)を具体的に示すフローチャートである。 図6の処理7(S58)を具体的に示すフローチャートである。 図19のフレーズを、図5のコードスケール音テーブルを用いてフレーズノート変換した場合の楽譜を示す図である。 第2実施形態におけるキーイベント処理を示すフローチャートである。 第2実施形態におけるフレーズノート変換処理ルーチンを示すフローチャートである。 ROMに記憶されるフレーズデータの他の例を示す図である。 従来のコードスケール音テーブルを示す図である。 フレーズデータによる楽譜の具体例を示す図である。 図19のフレーズが図18のコードスケール音テーブルに従って変換された場合の楽譜を示す図である。
以下、図面を参照して本発明を説明する。なお、以下では、本発明を電子楽器として実現した場合について説明するが、本発明は、電子楽器に搭載してアドリブ演奏機能を持たせるプログラムとしても実現できる。
図1は、本発明の電子楽器の第1実施形態を示す機能ブロック図である。図1において、CPU100は、ROM101に格納されている制御プログラムに従って電子楽器全体の制御を実行する。また、CPU100は、アドリブ演奏時の制御手段としても機能する。CPU100はタイマ割り込み回路を備えている。
ROM101は、電子楽器全体の制御を実行するプログラムや定数、曲データなどを記憶している。曲データには、ドラム、ベース、伴奏パートのほか、アドリブ演奏機能で必要なコード進行データが含まれる。また、ROM101の一部領域は、鍵盤104上の特定音域の各鍵にそれぞれアサインされた数小節のアドリブ用フレーズデータ(以下では、単にフレーズデータと称する。)を各鍵のキーナンバと対応して記憶している。フレーズデータは、ROM101とは別個のフレーズデータ用メモリ(ROM)に記憶してもよい。
RAM102は、CPU100のワークエリアおよびバッファとして使用され、また、楽器内の各種制御データ、MIDIデータなどを格納する。RAM102は、例えばバッテリによりバックアップされていてもよい。
I/F103は、CPU100と鍵盤104およびパネル105をバス113を介して接続するインタフェースである。鍵盤104は、複数の鍵と鍵盤スイッチとそのスキャン回路を含む。なお、鍵盤104は、上鍵盤や下鍵盤など、複数の鍵盤を有してもよい。
パネル105は、電子楽器の各種状態を設定する操作子(ボタン)、表示装置(LCD)およびそのアクセス回路を含む。パネル105の操作子には、音色選択ボタン、自動演奏機能での曲選択ボタン、曲の演奏/停止ボタン、演奏モード(ノーマル,自動,ドラム,ベース)を選択するためのモード選択ボタン、テンポ選択ボタン、アドリブ選択ボタンなどが含まれる。
アドリブ選択ボタンは、アドリブ演奏モードを設定するための操作子であり、これによりアドリブ演奏モードが設定されると、数小節のフレーズデータがアサインされた鍵盤上の特定音域内の任意の鍵の押下中、押下されている鍵に対応するフレーズデータが、テンポ選択ボタンにより選択されたテンポで読み出され、楽音が発生される。各鍵に割り当てられた機能は、キーアサイナ106によって管理される。
楽音発生器107は、デジタル楽音波形サンプル値が記憶されている波形メモリ108から、発音すべき音高に比例したアドレス間隔で順次波形データを読み出し、補間演算を行って楽音信号を発生させる。
DSP(digital signal processor)109は、楽音発生器107から出力される楽音信号に各種効果を付与する。DSP109にはD-RAMなども含まれる。
DSP109から発生されるデジタル楽音信号は、D/A変換器110によりアナログ楽音信号に変換された後、アンプ111を介してスピーカ112に供給される。バス113は、電子楽音発生装置の上記各部間を接続する。各構成要素間での楽音情報や制御情報のやり取りはバス113を介して行われる。
図2は、鍵盤上の音域と各音域の鍵の機能の対応関係の一例を示す。ここでは、鍵盤を3つの音域に分割し、中央の音域の鍵をアドリブ演奏用の鍵として機能させ、上側の音域の鍵を高音域用の上鍵、下側の音域の鍵を低音域用の下鍵として機能させている。このような機能は、パネル105上のアドリブ選択ボタンによりアドリブ演奏モードが設定された場合に得られる。
図3は、ROM101に記憶されるフレーズデータの例を示す。このフレーズデータは、中央の音域の各鍵に対応して記憶された数小節のフレーズデータ(1),(2),・・・からなり、中央の音域の任意の鍵が押下されたとき、その押下中だけ対応するフレーズデータが読み出される。フレーズデータの読み出しは、1回だけであり、繰り返されない。したがって、アドリブ演奏用の鍵を押下し続けてもフレーズデータ1回による発音だけで終了し、それ以後は自動演奏機能による伴奏曲だけがバックで演奏されている状態になる。これにより、意図的に休符小節を作ることができる。また、ある鍵を1拍だけ押下すると、先頭から1拍分のフレーズだけが読み出されて発音されるので、鍵を1拍ずつ押下することにより、1小節のフレーズとは違った雰囲気の演奏を意図的に行うことができる。このように、ユーザがアドリブ演奏用のどの鍵を何拍押下するかは、自由である。
図4は、第1実施形態の動作を示すメインフローチャートである。以下では、簡単化のため、自動演奏機能とアドリブ演奏機能による動作について説明するが、自動伴奏機能とアドリブ演奏機能による動作も同様である。
電子楽器の電源がオンされたとき、まず、装置全体の初期化(S10)を実行する。この初期化は、音色設定や曲設定などの初期化を含む。次に、キーイベントの有無を判定し(S11)、キーイベント有りと判定された場合にはキーイベント処理を実行する(S12)。キーイベント処理には、キー(鍵)が押下された場合のキーオンイベント処理とキーが離された場合のキーオフイベント処理がある。
S12でキーイベント処理を実行した後、あるいはS11でキーイベント無しと判定された場合には、パネルイベントの有無を判定し(S13)、パネルイベント有りと判定された場合にはパネルイベント処理を実行する。パネルイベント処理にも、ボタンがオンされた場合のパネルオンイベント処理とボタンがオフされた場合のパネルオフイベント処理がある。また、パネルイベント処理は、音色選択(S14)による音色選択処理(S15)、曲選択(S16)による曲選択処理(S17)、およびその他のパネルイベント処理(S18)を含む。S14でパネルキーイベント処理を実行した後、あるいはS13でパネルキーイベント無しと判定された場合には、自動演奏処理(S19)およびアドリブ演奏処理(S20)を実行し(S15)、S11にリターンする。
自動演奏は、パネル105上のモード選択ボタンで自動演奏モードが選択され、曲選択ボタンで曲が選択された場合に行われる。すなわち、曲選択ボタンが操作されると、ROM101に格納された曲データが選択され、曲の演奏ボタンが操作されると、その曲データが先頭から、テンポ選択ボタンにより選択されたテンポで順次読み出されて自動演奏される。
さらに、パネル105上のアドリブ選択ボタンによりアドリブ演奏モードが設定されている場合、アドリブ演奏用の鍵が押下されると、キーオンイベント処理でアドリブ演奏機能のスタートが指示され、アドリブ演奏処理(S20)で、押下された鍵に対応するフレーズデータが、テンポ選択ボタンにより選択されたテンポで読み出されて発音される。また、アドリブ演奏用の鍵が離されると、アドリブ演奏処理(S20)で、フレーズデータの読み出しがストップされる。すなわち、アドリブ演奏用の鍵が押下されると、該鍵に対応するフレーズデータがROM101から読み出され、自動演奏機能による曲をバックとしたアドリブ演奏が行われる。
アドリブ演奏処理(S20)はフレーズノート変換処理ルーチンを含む。フレーズノート変換処理ルーチンは、コードスケール音テーブルを用いて、ノートデータのキーナンバを、検出したコードのスケール音に変換する。コードスケール音テーブルは、ルート音をC音とするコード構成音から始まり、その音を最低音としたコードの転回形としてコードスケール音が配置された、複数の12音階からなっている。このコードスケール音テーブルを用いることにより、今回のフレーズの先頭の音程が前回のフレーズの終わりの音程に繋がるようになる。
以上により、通常演奏時には、鍵の押下により生成されるノートデータのキーナンバに従って楽音が発生され、自動演奏時には、内蔵の曲データに従って自動的に楽音が発生され、さらに、アドリブ演奏時には、フレーズノート変換処理ルーチンで変換されたフレーズデータに従って楽音が発生される。
図5は、フレーズノート変換処理ルーチンで用いるコードスケール音テーブルの具体例を示す。コードスケール音テーブルは、コードルートをC音とするコードタイプごとに分かれている。例えば、/*Major*/,/*m*/,/*m7*/,・・・の各コードタイプごとにコードスケール音テーブルがある。
例えば、Cm7コードのコード構成音は、C,E♭,G,B♭であり、コードスケール音テーブル上では、一番左の列に、これらの構成音が実音G_3(キーナンバ55),B♭3(58),C_4(60),・・・として並べられ、C、E♭、G、B♭の各音から始まり、最高音としてB♭、C、E♭、Gのコード構成音が配置される。コード構成音C,E♭,G,B♭を下からC,E♭,G,B♭と並べたものが基本形であり、E♭,G,B♭,C、G,B♭,C,E♭、B♭,C,E♭,Gと並べたものが転回形である。
コードスケール音は、コード構成音以外に、コード構成音に準じた付加音(準構成音)やコード構成外音を含んでいる。例えば、Cm7コードの場合、コード構成音はC,E♭,G,B♭であるが、準構成音としてAを含み、コード構成外音としてD,Fを含んでいる。準構成音やコード構成外音は、コード進行の状況によって変わる。
コードスケール音テーブルは、コードスケール音外の音も含め、12音階として作られている。コードスケール音外の音とは、コードスケール音に対し、半音下の音が主である。この半音下の音は、各コードスケール音に対する装飾音符となる。
図5のコードスケール音テーブルでは、コード構成音、準構成音、コード構成外音の順に12音階を埋めていき、残ったところを両側の音との兼ね合いでスケールが滑らかに繋がるようにコードスケール音外を埋めている。ここで、(/*[C,C#,D,・・・,B]*/)は、フレーズデータに含まれる各音からオクターブ情報を除いた12音階情報を示し、12音階情報の各音に対する列は、コードタイプ別の変換音を示している。例えば、コードタイプがMajorの場合、フレーズデータのC音は、C3,E3,G3,・・・,E5のいずれかに変換されることを示している。このコードスケール音テーブルは一例であり、この例に限られない。
本発明で用いるコードスケール音テーブルは、上述したように、コードタイプ別に、コードスケール音を並べたものを8つ持ち、従来の、コードタイプ別に、Cルート音から始まる単一の12音階からなるコードスケール音テーブルとは異なる。
図6は、第1実施形態におけるフレーズノート変換処理ルーチンを示す。以下、図6を参照し、アドリブ演奏機能における動作について説明する。まず、自動演奏機能での曲データとして、伴奏パートとこれに対応したコード進行パートのデータをROM101に格納する。伴奏パートのデータは、ノートデータを含み、コード進行パートのデータは、コードデータを含む。また、ROM101に複数のフレーズデータを予め格納する。フレーズデータは、Cコードスケールに沿った基本フレーズデータである。
自動演奏においては、曲データを、設定したテンポに従ってROM101から順次読み出し、この曲データに従って楽音を発生させる。すなわち、伴奏パートのノートデータを、設定したテンポに従ってROM101から順次読み出し、自動演奏処理(S19)のルーチンへ送る。自動演奏処理(S19)は、このノートデータに従って楽音信号を発生して楽音を出力する。同様に、コード進行パートのコードデータをROM101から読み出し、コードルートデータとコードタイプデータとしてRAM102に記憶・保持する。
フレーズノート変換処理ルーチン(図6)では、曲進行に伴ってRAM102に格納されるコードルートおよびコードタイプを参照し(S50)、以下のステップを実行する。まず、変換対象のデータが、フレーズの先頭ノートデータであるか否かを判定する(S51)。ここで、先頭のノートデータと判定された場合、コードスケール音テーブルの各12音階から、先頭音に対応する変換音を読み出し(S52:処理1)、続いて、先頭音に対応する変換音と前回のフレーズの最終音との音程が最小になる12音階を選択する(S53:処理2)。
次に、S53で選択された12音階がコードスケール音テーブルの最大値か否かを判定する(S54)。ここで、最大値と判定された場合、先頭音に対応する変換音と基準キーナンバ(=71)との音程が最小になる12音階を再選択して(S55:処理3)、S56に進み、最大値と判定されない場合には、直接S56に進む。S55は、選択した12音階が最大値の場合、つまり、想定している音域より高い音域に達した場合、これ以上に音域が高くならないよう基準となる音域に戻すため、基準キーナンバと、コードスケール音テーブルの複数の12音階から先頭のノートデータに対応する変換音のキーナンバとの音程が最小になるような12音階を選択するために設けられている。
S56では、選択された12音階のうち、B音に対応する変換音をフレーズ選択時変換最高音バッファ(RAM102)に記憶する(S56)。これは、フレーズ発音中のコード変更に対処するために必要とされる。
その後、S53あるいはS55で選択された12音階をコードスケール変換音バッファ(RAM102)に記憶し(S57:処理6)、フレーズノートをコードスケール変換音バッファの対応する変換音に差し替える(S58:処理7)。その後、さらに、差し替えたフレーズノートを前回発音フレーズ最終音バッファ(RAM102)に記憶し(S59)、リターンする。S59では、フレーズノート変換処理ルーチンで変換されたノートデータをその都度、記憶し、これを次の前回発音フレーズ最終音として用いる。
S60〜S62は、フレーズ発音中のコード変更に対処するためのフローである。すなわち、S51で、フレーズ変換対象のノートデータが、フレーズの先頭ノートデータでないと判定された場合、フレーズ発音中のコード変更の有無を判定する(S60)。ここで、コード変更有りと判定された場合、コードスケール音テーブルの各12音階から変換最高音を読み出し(S61)、さらに、この変換最高音とフレーズ選択時変換最高音(S56で記憶)との音程が最小になる12音階を選択し(S62)、S57に進む。S60で、フレーズ発音中のコード変更が無しと判定された場合には、S58に進み、フレーズノートをコードスケール変換音バッファの対応する変換音に差し替える。
図7は、図6の処理1(S52)を具体的に示すフローチャートである。ここでは、入力として、data(フレーズのノートイベント(キーナンバ)),chord_type(コードタイプ),chord_root(コードルート),pre_last_note(前回発音フレーズ最終音)が与えられ、出力として、top_nt[8](転回形番号ごとのフレーズ先頭音に対応する変換音),pre_last_note(前回発音フレーズ最終音(装飾音符をコード構成音扱いに処理したもの))が得られる。なお、scale_inv_table[6][8][12],inv_noはそれぞれ、コードスケール音テーブル,コードスケールの転回形番号であり、codn_sel[12]={0,0,0,4,4,4,7,7,7,11,11,11}、OCTAVE=12である。
図7のS71は、フレーズのノートイベント(キーナンバ)を、12(1オクターブに含まれる半音の数)で除算して余りを求め、コードスケール音テーブルの12音階に対応させる処理である。また、その後、取り得る値を上O,4,7,11の値に絞る。これによって、フレーズの先頭音がコード構成音以外の装飾音符の場合でもコード構成音として扱われる。装飾音符は、主に、フレーズにとって音楽的に大事であるコード構成音に向かって半音や全音で隣接する付加音であり、フレーズの前後の繋がりの中では余り意味がない。前回発音フレーズの最終音との音程が最小になる12音階を選択する処理では、このような装飾音をコード構成音として扱った方が音楽的に自然であるので、この処理を加えている。
S72は、前回発音したフレーズの最終音について、S71と同様の処理を行い、その後、オクターブ情報を持ったキーナンバにするため、codn_sel[ ]で絞り込んだ値に元のオクターブ情報を加える処理である。
S73は、S71で得られたフレーズのノートイベント(キーナンバ)と現時点でのコードタイプ、8種類のコードスケールの転回形番号を入力として、コードスケール音テーブルからコードスケールの転回形番号ごとにオクターブ情報を持ったキーナンバを得る処理である。
図8は、図6の処理2(S53)を具体的に示すフローチャートである。ここでは、入力として、top_nt[8](転回形番号ごとのフレーズ先頭音に対応する変換音),pre_last_note(前回発音フレーズ最終音)が与えられ、出力として、inv_no(先頭音の変換音と前回発音フレーズ最終音との音程が最小になる12音階の転回形番号)が得られる。なお、sub_min,sub,inv_noはそれぞれ、先頭音の変換音と前回発音フレーズ最終音との音程の最小値,先頭音の変換音と前回発音フレーズ最終音との音程(差分),コードスケールの転回形番号である。
この処理では、コードスケールの転回形番号ごとの先頭音の変換音と前回発音フレーズ最終音との音程(差分)が同じ値になる場合がある。この場合は、2回目の方を無視することによって、コードスケールの12音階がより低い方を選択する。これにより、任意のフレーズを選択(フレーズがアサインされた鍵の押下)する度に音域が上がっていくのが防止される。これは、逆に言えば、任意のフレーズを選択する度に音域が下がっていくことを意味するが、音域の振れは、フレーズデータをあまり低い音域を使わないように作る、あるいは上行フレーズを多めに作ることで調整できる。なお、コードスケール音テーブルの各コードスケールは、転回形番号が大きいほど音域が高くなるように並べられている。
図9は、図6の処理3(S55)を具体的に示すフローチャートである。ここでは、入力として、top_nt[8](転回形番号ごとのフレーズ先頭音に対応する変換音)が与えられ、出力として、inv_no(先頭音の変換音と基準キーナンバとの音程が最小になる12音階の転回形番号)が得られる。なお、sub_min,sub,inv_no,BSC_NTはそれぞれ、先頭音の変換音と基準キーナンバとの音程の最小値,先頭音の変換音と基準キーナンバとの音程(差分),コードスケールの転回形番号,基準キーナンバである。
図9のフローチャートの構造は、図8と変数が異なる以外は同じであるので、説明は省略する。これにより、フレーズの先頭音の変換音と基準キーナンバとの音程が最小になる12音階の転回形番号が得られる。
図10は、図6の処理4(S61)を具体的に示すフローチャートである。ここでは、入力として、chord_type(コードタイプ),chord_root(コードルート)が与えられ、出力として、highest_nt[8](コードスケールの転回形番号ごとの変換最高音)が得られる。なお、scale_inv_table[6][8][12],inv_noはそれぞれ、コードスケール音テーブル,コードスケールの転回形番号であり、B_NT=11である。
図10のフローチャートの構造は、図7と変数が異なる以外は同じであるので、説明は省略する。これにより、コードスケール音テーブルの各12音階から、変換最高音が読み出される。
図11は、図6の処理5(S62)を具体的に示すフローチャートである。ここでは、入力として、highest_nt[8](コードスケールの転回形番号ごとの変換最高音),pre_highest_note(フレーズ選択時変換最高音)が与えられ、出力として、inv_no(各コードスケールの変換最高音とフレーズ選択時変換最高音との音程が最小になる12音階の転回形番号)が得られる。なお、sub_min,sub,inv_noはそれぞれ、コードスケールの変換最高音とフレーズ選択時変換最高音との音程の最小値,各コードスケールの変換最高音とフレーズ選択時変換最高音との音程(差分),コードスケールの転回形番号である。
図11のフローチャートの構造は、図8と変数が異なる以外は同じである。この処理でも、各コードスケールの変換最高音とフレーズ選択時変換最高音との音程(差分)が同じ値になる場合がある。この場合にも、2回目の方を無視することによって、コードスケールの12音階がより低い方を選択する。これは、選択された発音中のフレーズに対しコード変更により下行して発音を続けることで、該フレーズがより落ち着くようにすることを意図している。
処理4によるコード変更に対応したコードスケールの転回形番号ごとの変換最高音と、現在発音中のフレーズの先頭音を変換した際に選択されたフレーズ選択時変換最高音を比較し、両者の音程(差分)が最小になる新たなコードスケールをフレーズ変換音として使用することにより、コード変更された場合でも、そのフレーズが選択された時からほぼ同じ音域で発音し続けることができる。なお、ここでは、両者のコードスケールの最高音(12番目)を比較対象にしているが、比較対象は、コード構成音として配置された音、例えば、1番目、5番目、8番目のいずれの音であっても構わない。
図12は、図6の処理6(S57)を具体的に示すフローチャートである。ここでは、入力として、chord_type(コードタイプ),chord_root(コードルート),inv_no(先頭音の変換音と前回発音フレーズ最終音との音程が最小になる12音階の転回形番号または先頭音の変換音と基準キーナンバとの音程が最小になる12音階の転回形番号または各コードスケールの変換最高音とフレーズ選択時変換最高音との音程が最小になる12音階の転回形番号)が与えられ、出力として、final_chd_scale[12](コードスケール変換音)が得られる。final_chd_scale[12]は、12音階のコードスケール変換音としてコードスケール変換音バッファに記憶される。なお、scale_inv_table[6][8][12],inv_noはそれぞれ、コードスケール音テーブル,コードスケールの転回形番号である。
図13は、図6の処理7(S58)を具体的に示すフローチャートである。ここでは、入力として、data(フレーズのノートイベント(キーナンバ))が与えられ、出力として、data(変換されたノートイベント(キーナンバ))が得られる。フレーズノートは、このdataに差し替えられる。なお、oct_no,cnv_nt,final_chd_scale[12]はそれぞれ、オクターブ情報,フレーズノート変換音,コードスケール変換音であり、OCTAVE=12,BASE_C=60である。
フレーズノート変換音は、コードスケール音テーブルにより選択された12音階の音であり、コードスケール音テーブルは、中央のC4(キーナンバ60)を基準に作成されていて、オクターブ情報を持っている。図13のフローチャートでは、この基準となるオクターブ情報を排除するために、フレーズノート変換音からキーナンバ60を引き算している。一方、フレーズのノートイベントに含まれるオクターブ情報は、フレーズが2オクターブ以上に跨って作成されている場合に個々のノートイベントの上下関係を示すものであり、変換されたフレーズにおいてもこの上下関係を維持するために必要となる。
図14は、図19のフレーズを、図5のコードスケール音テーブルを用いてフレーズノート変換した場合の楽譜を示す図である。図20との比較を容易にするため、ここでは、図20と同様に、フレーズ1,2が2拍ずつでC7,A7,Dm7,G7とコード変更された場合を示している。以下の説明では、図5〜図13を適宜参照する。
まず、フレーズ1の1音目(先頭音)のシ(キーナンバ71)がフレーズ変換処理ルーチンに入力された時点を考える。S50(図6)では、この時点でのコードルート、コードタイプを参照する。コードルートは、例えば、C=0,C#=1,D=2,D#=3,E=4,F=5,F#=6,G=7,G#=8,A=9,A#=10,B=11に設定されている。この場合、コードルートは、C(chord_root=0)、コードタイプは、7th(chord_type=3)が参照される。
1音目のシは、先頭ノートデータであるので、処理1(S52)を実行し、data=11,chord_type=3,chord_root=0として、コードスケール音テーブルの各12音階から、先頭音に対応する変換音を読み出す。この場合、top_nt[8]として、E_4(キーナンバ64),G_4(67),B♭4(70),C_5(72),E_5(76),G_5(79),B♭5(82),C_6(84)が得られる。また、前回発音フレーズ最終音がないので、初期値として仮に与えられたキーナンバ76(E_5)がpre_last_noteとして得られる。
次に、処理2(S53)で、先頭音の変換音と前回発音フレーズ最終音との音程が最小になる12音階を選択する。処理2では、最終的に、inv_no=4,sub_min=0が得られる。
次に、S54でNOと判定されてS56に進み、S56では、選択された12音階のうち、B音に対応する変換音をフレーズ選択時変換最高音バッファに記憶する。この場合、76(E_5)(=scale_inv_table[3(chord_type)][4(inv_no)][11]+0(chord_root)))がフレーズ選択時変換最高音バッファpre_highest_noteに記憶される。
次に、処理6(S57)で上記12音階をコードスケール変換音バッファに記憶する。この場合、final_chd_scale[12]として、G_4(キーナンバ67),G♭4(66),G_4(67),A_4(69),B♭4(70),B♭4(70),B_4(71),C_5(72),C_5(72),E_5(76),E♭5(75),E_5(76)が得られる。
次に、処理7(S58)でフレーズノートをコードスケール変換音バッファの対応する変換音に差し替える。これにより、data=76(E_5)となり、先頭音のシ(キーナンバ71)は、最終的にミ(キーナンバ76)に変換される。この場合、先頭音は、初期値として設定した前回発音フレーズ最終音キーナンバ76(E_5)と同音で繋がっている。
次に、フレーズ1の4音目のシ(キーナンバ71)がフレーズ変換処理ルーチンに入力された時点を考える。S50では、この時点でのコードルート、コードタイプを参照する。この時点ではコードがC7からA7に変わるので、コードルートは、A(chord_root=9)、コードタイプは、7th(chord_type=3)が参照される。
4音目のシは、先頭ノートデータでなく、コード発音中のコード変更であるので、処理4(S61)および処理5(S62)を実行する。処理4では、コードスケール音テーブルの各12音階から変換最高音、すなわち、コードスケール音テーブルのC〜Bの12音階の最高音B音を読み出す。処理4により、highest_nt[8]として、C#5(キーナンバ73),E_5(76),G_5(79),A_5(81),C#6(85),E_6(88),G_6(91),A_6(93)が得られる。処理5では、上記変換最高音とフレーズ選択時変換最高音との音程が最小になる12音階を選択する。これにより、最終的に、inv_no=1,sub_min=0が得られる。
次に、処理6(S57)で上記12音階をコードスケール変換音バッファに記憶する。この場合、final_chd_scale[12]として、G_4(キーナンバ67),F#4(66),G_4(67),G#4(68),A_4(69),C#5(73),C_5(72),C#5(73),D#5(75),E_5(76),D#5(75),E_5(76)が得られる。
次に、処理7(S58)でフレーズノートをコードスケール変換音バッファの対応する変換音に差し替える。これにより、data=76(E_5)となり、4音目のシ(キーナンバ71)は、最終的にミ(キーナンバ76)に変換される。
上記コードC7時とA7時のコードスケール変換音final_chrd_scale[12]のどの列を比べてみても、両者の音程は、3つの半音内に収まっている。これは、コードC7で発音開始したフレーズ1が、どのタイミングでコードA7に変わっても、元のフレーズの形はそれほど変わらないことを意味する。つまり、フレーズ発音中のコード変更時に大きく音跳びしないことを意味する。
上記フレーズ変換の結果、フレーズ1の3音目と4音目は、C7コード時E♭5(=d#5,キーナンバ75)、A7コード時E_5(キーナンバ76)と半音で滑らかに繋がり、フレーズ2の6音目と7音目は、全音(2半音)で滑らかに繋がる(丸枠で囲った部分)。これは、ルート音をC音とするコード構成音から始まり、その音を最低音としたコードの転回形としてコードスケール音が配置された、複数の12音階からなるコードスケール音テーブルを用い、コード変更前後の音がなるべく近くなるように、コードスケール音テーブルからコードスケール音を選択し、このコードスケール音によりフレーズを変換することで実現される。
フレーズ2の1音目(先頭音)のシ(キーナンバ71)も、同様に、"ド"に変換され、フレーズ1の最終音"ド♯"と滑らかに繋がるようになる(四角枠で囲った部分)。これも、ルート音をC音とするコード構成音から始まり、その音を最低音としたコードの転回形としてコードスケール音が配置された、複数の12音階からなるコードスケール音テーブルを用い、前回発音されたフレーズの最終音がいずれの音高であれ、その音に今回発音するフレーズの先頭音がなるべく近くなるように、コードスケール音テーブルからコードスケール音を選択し、このコードスケール音によりフレーズを変換することで実現される。
以上のように、数小節のフレーズデータがアサインされた鍵盤上の特定音域内の任意の鍵が押下されてアドリブ演奏が行われた際、今回のフレーズの先頭の音程が前回のフレーズの終わりの音程に繋がるようにしているので、フレーズ間での大きな音跳びを抑制することができる。また、フレーズ発音中にコードの変更があっても、その変更による音跳びを抑制することができる。
次に、本発明の第2実施形態について説明する。第2実施形態では、前回の離鍵から今回の押鍵までの時間が所定時間を超えている場合、フレーズ間での音跳びを抑制しないようにして、実演奏に近い楽音を発生できるようにしている。以下では、第2実施形態が第1実施形態と異なる点だけについて説明する。
図15は、第2実施形態におけるキーイベント処理を示すフローチャートである。これは、図4のS12内での処理である。
キーイベント処理では、まず、キーイベントによる通常のキーイベント処理を実行する(S80)。この通常のキーイベント処理は、第1実施形態でのキーイベント処理に相当する。
次に、キーイベントが押鍵か否かを判定する(S81)。S81で、押鍵と判定された場合、そのままリターンしてS13(図4)に進むが、押鍵でない、つまり離鍵と判定された場合には、キーオフ時間を計測するタイマをリセット(key_off_time←0)する(S82)。このタイマは、通常時にkey_off_timeをインクリメントしており、離鍵時にリセットされるので、key_off_timeは、離鍵時からの経過時間を示す。
図16は、第2実施形態におけるフレーズノート変換処理ルーチンを示すフローチャートである。このフローチャートが図6と異なるのは、S52に続いて、key_off_timeが予め設定された所定時間THを超えているか否かを判定し(S63)、key_off_timeが予め設定された所定時間THを超えていないと判定された場合には、第1実施形態と同様に、S53(処理2)を実行した後にS54に進むが、超えていると判定された場合には、S53を実行せずに、フレーズデータを所定音域に設定(S64)してS54に進む点である。
所定時間THは、演奏の流れの点から、小節あるいは拍を単位として設定するのが好ましい。例えば、所定時間THは、2小節分に設定される。
S64で、転回形番号を5に設定している(inv_no←5)のは、フレーズデータを所定音域とするためである。なお、コードタイプは、S50で参照されたものである。これにより、アドリブ演奏の離鍵から押鍵までの時間が所定時間THを超えている場合、そのフレーズデータは、コードスケール音テーブルにおける転回形番号5の音域に変換される。S64では、5以外の他の転回形番号を設定してもよい。所定時間THや転回形番号は、工場出荷時などにデフォルトとして予め設定される。
以上実施形態を説明したが、本発明は、上記実施形態に限定されない。例えば、自動演奏の曲(グループ)毎、音色(グループ)毎、テンポ毎に細分化された複数セットのフレーズデータを記憶し、その中から1セットのフレーズデータを適宜選択して用いてもよい。
図17は、複数セットのフレーズデータの例を示す。この例では、フレーズデータは、自動演奏の曲(グループ)毎、音色(グループ)毎、中低速テンポ用/高速テンポ用に細分化されている。自動演奏の曲は、曲のスタイル(音楽ジャンル)により、例えば、ジャズ、ラテン、ブルースなどにグループ化される。音色は、例えば、ピアノ、オルガンなどにグループ化される。また、テンポは、中低速、高速などにグループ化される。中低速か高速かは、例えば、180(BPM:beat per minute)以下か否かより判定される。
特定のセットのフレーズデータは、パネル105上の操作ボタンの操作に従ってRAM101から読み出される。すなわち、曲選択ボタンによる曲の選択、音色選択ボタンによる音色の選択、テンポ選択ボタンによるテンポの選択に従って1つのセットのフレーズデータが指定される。
図17の例において、パネル105上の操作ボタンの操作により、例えば、曲(グループ)1、音色(グループ)2、180以下(中低速)のテンポが選択されたとすると、アドリブ演奏用の各鍵(キー(1),キー(2),キー(3),・・・)に対してフレーズデータ(1'),(2'),(3'),・・・が割り当てられる。また、曲(グループ)1、音色(グループ)1、180超(高速)のテンポが選択されたとすると、アドリブ演奏用の各鍵(キー(1),キー(2),キー(3),・・・)に対してフレーズデータ(1"),(2"),(3"),・・・が割り当てられる。
このようにフレーズデータを細分化することにより、自動演奏の曲のスタイル(音楽ジャンル)、音色およびテンポの速さに合ったフレーズをアドリブ演奏できる。例えば、音色をピアノに変更した場合、減衰音に合ったフレーズをアドリブ演奏でき、音色をオルガンに変更した場合、持続音に合ったフレーズをアドリブ演奏できる。また、例えば、テンポが低速の場合、音符数の少ないゆったりとしたフレーズをアドリブ演奏でき、テンポが高速の場合、音符数の多い歯切れのよいフレーズをアドリブ演奏できる。
100・・・CPU、101・・・ROM、102・・・RAM、103・・・I/F、104・・・鍵盤、105・・・パネル、106・・・キーアサイナ、107・・・楽音発生器、108・・・波形メモリ、109・・・DSP(digital signal processor)、110・・・D/A変換器、111・・・アンプ、112・・・スピーカ、113・・・バス

Claims (10)

  1. 鍵盤上の特定音域の各鍵にアサインされた数小節のフレーズデータを格納しておき、前記各鍵のいずれかが押下されている間、該鍵に対応するフレーズデータを読み出して発音させるアドリブ演奏機能を有する電子楽器において、
    ルート音をC音とするコード構成音から始まり、その音を最低音としたコードの転回形としてコードスケール音が配置された、複数の12音階からなるコードスケール音テーブルと、
    前記コードスケール音テーブルを用いてフレーズデータのキーナンバを変更することによって音跳びを抑制する制御手段を備えたことを特徴とするアドリブ演奏機能を有する電子楽器。
  2. 前記制御手段は、フレーズの先頭音の場合、前回フレーズの最終音のキーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から選択し、前記先頭音のキーナンバを該12音階の構成音のうちの対応する変換音に差し替えることを特徴とする請求項1に記載のアドリブ演奏機能を有する電子楽器。
  3. 前記制御手段は、選択した12音階が最大値となって想定している音域よりも高い音域に達した場合には、基準キーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から再選択し、前記先頭音のキーナンバを該12音階の構成音のうちの対応する変換音に差し替えることを特徴とする請求項2に記載のアドリブ演奏機能を有する電子楽器。
  4. 前記制御手段は、フレーズの発音中にコード変更が有った場合、フレーズの先頭音の場合に前回フレーズの最終音のキーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から選択した、また、選択した12音階が最大値となって想定している音域よりも高い音域に達した場合には、基準キーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から再選択した、ことにより得られた12音階の構成音のうち、コード構成音として配置された所定音の変換音のキーナンバと上記所定音に対応する変換音のキーナンバとの音程が最小になるような12音階をコード変更後のコードタイプに該当するコードスケール音テーブルの複数の12音階から選択し、コード変更後の音のキーナンバを該12音階の構成音のうちの対応する変換音に差し替えることを特徴とする請求項1に記載のアドリブ演奏機能を有する電子楽器。
  5. 前記制御手段は、前回の離鍵から今回の押鍵までの時間が所定時間を超えている場合、前回フレーズの最終音と今回フレーズの先頭音との間での音跳びを抑制せず、今回フレーズを所定音域で発音させることを特徴とする請求項1に記載のアドリブ演奏機能を有する電子楽器。
  6. 鍵盤上の特定音域の各鍵にアサインされた数小節のフレーズデータのうち、前記各鍵のいずれかが押下されている間、該鍵に対応するフレーズデータを読み出して発音させるためのアドリブ演奏機能用プログラムであって、
    電子楽器に、
    ルート音をC音とするコード構成音から始まり、その音を最低音としたコードの転回形としてコードスケール音が配置された、複数の12音階からなるコードスケール音テーブルを用いてフレーズデータのキーナンバを変更するステップを含む手順を実行させることにより、音跳びが抑制されたアドリブ演奏機能を実現させるアドリブ演奏機能用プログラム。
  7. 前記ステップは、フレーズの先頭音の場合、前回フレーズの最終音のキーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から選択するステップと、前記先頭音のキーナンバを、該12音階の構成音のうちの対応する変換音に差し替える請求項6に記載のアドリブ演奏機能用プログラム。
  8. 前記ステップは、さらに、選択した12音階が最大値となって想定している音域よりも高い音域に達した場合には、基準キーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から再選択し、前記先頭音のキーナンバを該12音階の構成音のうちの対応する変換音に差し替える請求項7に記載のアドリブ演奏機能用プログラム。
  9. 前記ステップは、フレーズの発音中にコード変更が有った場合、フレーズの先頭音の場合に前回フレーズの最終音のキーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から選択した、また、選択した12音階が最大値となって想定している音域よりも高い音域に達した場合には、基準キーナンバと先頭音に対応する変換音のキーナンバとの音程が最小になるような12音階をその時点のコードタイプに該当するコードスケール音テーブルの複数の12音階から再選択した、ことにより得られた12音階の構成音のうち、コード構成音として配置された所定音の変換音のキーナンバと上記所定音に対応する変換音のキーナンバとの音程が最小になるような12音階をコード変更後のコードタイプに該当するコードスケール音テーブルの複数の12音階から選択し、コード変更後の音のキーナンバを該12音階の構成音のうちの対応する変換音に差し替える請求項6に記載のアドリブ演奏機能用プログラム。
  10. 前記ステップは、前回の離鍵から今回の押鍵までの時間が所定時間を超えている場合、前回フレーズの最終音と今回フレーズの先頭音との間での音跳びを抑制せず、今回フレーズを所定音域で発音させる請求項6に記載のアドリブ演奏機能用プログラム。
JP2009180699A 2008-09-09 2009-08-03 アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム Active JP5574474B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009180699A JP5574474B2 (ja) 2008-09-09 2009-08-03 アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム
DE102009040540.2A DE102009040540B4 (de) 2008-09-09 2009-09-08 Elektronisches Musikinstrument mit Stegreifaufführungsfunktion und Programm für Stegreifaufführungsfunktion
US12/555,671 US8017850B2 (en) 2008-09-09 2009-09-08 Electronic musical instrument having ad-lib performance function and program for ad-lib performance function

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008230863 2008-09-09
JP2008230863 2008-09-09
JP2009180699A JP5574474B2 (ja) 2008-09-09 2009-08-03 アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム

Publications (2)

Publication Number Publication Date
JP2010092016A true JP2010092016A (ja) 2010-04-22
JP5574474B2 JP5574474B2 (ja) 2014-08-20

Family

ID=41821454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009180699A Active JP5574474B2 (ja) 2008-09-09 2009-08-03 アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム

Country Status (3)

Country Link
US (1) US8017850B2 (ja)
JP (1) JP5574474B2 (ja)
DE (1) DE102009040540B4 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5574474B2 (ja) * 2008-09-09 2014-08-20 株式会社河合楽器製作所 アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム
EP3206202B1 (en) * 2011-03-25 2018-12-12 Yamaha Corporation Accompaniment data generating apparatus and method
US8802955B2 (en) * 2013-01-11 2014-08-12 Berggram Development Chord based method of assigning musical pitches to keys
US9064483B2 (en) * 2013-02-06 2015-06-23 Andrew J. Alt System and method for identifying and converting frequencies on electrical stringed instruments
FI20135621L (fi) * 2013-06-04 2014-12-05 Berggram Dev Oy Ristikkoon perustuva käyttöliittymä sointuesitystä varten kosketusnäyttölaitteessa
US9183820B1 (en) * 2014-09-02 2015-11-10 Native Instruments Gmbh Electronic music instrument and method for controlling an electronic music instrument
US9773487B2 (en) 2015-01-21 2017-09-26 A Little Thunder, Llc Onboard capacitive touch control for an instrument transducer
US10854180B2 (en) 2015-09-29 2020-12-01 Amper Music, Inc. Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine
US9721551B2 (en) * 2015-09-29 2017-08-01 Amper Music, Inc. Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions
US11037538B2 (en) 2019-10-15 2021-06-15 Shutterstock, Inc. Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system
US10964299B1 (en) 2019-10-15 2021-03-30 Shutterstock, Inc. Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions
US11024275B2 (en) 2019-10-15 2021-06-01 Shutterstock, Inc. Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system
US11615772B2 (en) * 2020-01-31 2023-03-28 Obeebo Labs Ltd. Systems, devices, and methods for musical catalog amplification services

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03196195A (ja) * 1989-12-26 1991-08-27 Yamaha Corp 電子楽器
JPH0535273A (ja) * 1991-08-01 1993-02-12 Kawai Musical Instr Mfg Co Ltd 自動伴奏装置
JPH0580766A (ja) * 1991-09-25 1993-04-02 Matsushita Electric Ind Co Ltd 自動伴奏装置
JPH06274169A (ja) * 1993-03-22 1994-09-30 Yamaha Corp 伴奏パターン選択装置
JPH0756567A (ja) * 1993-08-17 1995-03-03 Roland Corp 自動演奏装置
JPH0772864A (ja) * 1993-09-01 1995-03-17 Kawai Musical Instr Mfg Co Ltd 電子楽器の自動伴奏装置
JPH07219547A (ja) * 1994-02-08 1995-08-18 Kawai Musical Instr Mfg Co Ltd 電子楽器の自動伴奏装置
JPH09101778A (ja) * 1995-10-04 1997-04-15 Kawai Musical Instr Mfg Co Ltd 自動伴奏装置
JPH10288988A (ja) * 1997-04-16 1998-10-27 Yamaha Corp 自動演奏装置
JP2001166771A (ja) * 2000-11-01 2001-06-22 Kawai Musical Instr Mfg Co Ltd モチーフ演奏装置及びモチーフ演奏方法
JP2004170840A (ja) * 2002-11-22 2004-06-17 Yamaha Corp 演奏制御装置および演奏制御用プログラム
JP2004206073A (ja) * 2002-09-04 2004-07-22 Yamaha Corp 演奏補助装置、入力音変換装置及びそれらのプログラム
JP2008275808A (ja) * 2007-04-27 2008-11-13 Yoshihiko Sano 音楽生成方法,音楽生成装置,音楽生成システム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4682526A (en) * 1981-06-17 1987-07-28 Hall Robert J Accompaniment note selection method
JPH0664468B2 (ja) * 1988-12-04 1994-08-22 株式会社河合楽器製作所 アドリブ演奏機能を有する電子楽器
US5099738A (en) * 1989-01-03 1992-03-31 Hotz Instruments Technology, Inc. MIDI musical translator
US5182414A (en) * 1989-12-28 1993-01-26 Kabushiki Kaisha Kawai Gakki Seisakusho Motif playing apparatus
US5286912A (en) * 1991-03-29 1994-02-15 Kabushiki Kaisha Kawai Gakki Seisakusho Electronic musical instrument with playback of background tones and generation of key-on phrase tones
JP2756877B2 (ja) * 1991-07-19 1998-05-25 株式会社河合楽器製作所 フレーズ演奏装置
JP2660462B2 (ja) * 1991-08-01 1997-10-08 株式会社河合楽器製作所 自動演奏装置
JP2860510B2 (ja) * 1991-08-09 1999-02-24 株式会社河合楽器製作所 自動演奏装置
US5283388A (en) * 1991-08-23 1994-02-01 Kabushiki Kaisha Kawai Gakki Seisakusho Auto-play musical instrument with an octave shifter for editing phrase tones
JPH05108068A (ja) * 1991-10-14 1993-04-30 Kawai Musical Instr Mfg Co Ltd フレーズ情報入出力装置
JP2636640B2 (ja) * 1992-07-09 1997-07-30 ヤマハ株式会社 自動伴奏装置
US5532425A (en) * 1993-03-02 1996-07-02 Yamaha Corporation Automatic performance device having a function to optionally add a phrase performance during an automatic performance
JP3567611B2 (ja) * 1996-04-25 2004-09-22 ヤマハ株式会社 演奏支援装置
JP2001242859A (ja) * 1999-12-21 2001-09-07 Casio Comput Co Ltd 自動伴奏装置および自動伴奏方法
JP5574474B2 (ja) * 2008-09-09 2014-08-20 株式会社河合楽器製作所 アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03196195A (ja) * 1989-12-26 1991-08-27 Yamaha Corp 電子楽器
JPH0535273A (ja) * 1991-08-01 1993-02-12 Kawai Musical Instr Mfg Co Ltd 自動伴奏装置
JPH0580766A (ja) * 1991-09-25 1993-04-02 Matsushita Electric Ind Co Ltd 自動伴奏装置
JPH06274169A (ja) * 1993-03-22 1994-09-30 Yamaha Corp 伴奏パターン選択装置
JPH0756567A (ja) * 1993-08-17 1995-03-03 Roland Corp 自動演奏装置
JPH0772864A (ja) * 1993-09-01 1995-03-17 Kawai Musical Instr Mfg Co Ltd 電子楽器の自動伴奏装置
JPH07219547A (ja) * 1994-02-08 1995-08-18 Kawai Musical Instr Mfg Co Ltd 電子楽器の自動伴奏装置
JPH09101778A (ja) * 1995-10-04 1997-04-15 Kawai Musical Instr Mfg Co Ltd 自動伴奏装置
JPH10288988A (ja) * 1997-04-16 1998-10-27 Yamaha Corp 自動演奏装置
JP2001166771A (ja) * 2000-11-01 2001-06-22 Kawai Musical Instr Mfg Co Ltd モチーフ演奏装置及びモチーフ演奏方法
JP2004206073A (ja) * 2002-09-04 2004-07-22 Yamaha Corp 演奏補助装置、入力音変換装置及びそれらのプログラム
JP2004170840A (ja) * 2002-11-22 2004-06-17 Yamaha Corp 演奏制御装置および演奏制御用プログラム
JP2008275808A (ja) * 2007-04-27 2008-11-13 Yoshihiko Sano 音楽生成方法,音楽生成装置,音楽生成システム

Also Published As

Publication number Publication date
DE102009040540A1 (de) 2010-04-15
US20100224051A1 (en) 2010-09-09
JP5574474B2 (ja) 2014-08-20
DE102009040540B4 (de) 2014-04-03
US8017850B2 (en) 2011-09-13

Similar Documents

Publication Publication Date Title
JP5574474B2 (ja) アドリブ演奏機能を有する電子楽器およびアドリブ演奏機能用プログラム
US8314320B2 (en) Automatic accompanying apparatus and computer readable storing medium
US8324493B2 (en) Electronic musical instrument and recording medium
JP5293710B2 (ja) 調判定装置および調判定プログラム
JP6175812B2 (ja) 楽音情報処理装置及びプログラム
WO2003042969A1 (en) Musical invention apparatus
JP5909967B2 (ja) 調判定装置、調判定方法及び調判定プログラム
JP3724347B2 (ja) 自動作曲装置及び方法並びに記憶媒体
JP2010117419A (ja) 電子楽器
JP2007163710A (ja) 演奏支援装置及びプログラム
JP4197153B2 (ja) 電子楽器
JP3661963B2 (ja) 電子楽器
JP4175364B2 (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録したコンピュータ読み取り可能な媒体
JP2943560B2 (ja) 自動演奏装置
JP2024089976A (ja) 電子機器、電子楽器、アドリブ演奏方法及びプログラム
JP3674469B2 (ja) 演奏ガイド方法と装置及び記録媒体
JP2024062127A (ja) 伴奏音自動生成装置、電子楽器、伴奏音自動生成方法及びプログラム
JP4221659B2 (ja) 演奏支援装置
JP4942938B2 (ja) 自動伴奏装置
JP2000029466A (ja) 電子鍵盤楽器
JP2023088608A (ja) 自動演奏装置、自動演奏方法、プログラム、及び電子楽器
JP2013174901A (ja) 電子楽器
JP2011123108A (ja) 電子楽器
JP2004198574A (ja) 演奏補助装置および演奏補助用プログラム
Holden Putting the Rhythm in Algorithm: Composing rock drum kit solos using stochastic processes

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120521

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140226

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140521

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140604

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140627

R150 Certificate of patent or registration of utility model

Ref document number: 5574474

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150