JP2005049444A - 演奏補助装置 - Google Patents
演奏補助装置 Download PDFInfo
- Publication number
- JP2005049444A JP2005049444A JP2003203760A JP2003203760A JP2005049444A JP 2005049444 A JP2005049444 A JP 2005049444A JP 2003203760 A JP2003203760 A JP 2003203760A JP 2003203760 A JP2003203760 A JP 2003203760A JP 2005049444 A JP2005049444 A JP 2005049444A
- Authority
- JP
- Japan
- Prior art keywords
- performance information
- input
- pitch difference
- performance
- musical performance
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【解決手段】演奏補助装置は、修正対象となる演奏情報を入力する入力手段と、コード進行を記憶し、現在の時刻におけるコードを供給するコード供給手段と、前記入力手段から入力される第1の演奏情報を、前記供給されるコードのルート音と特定の度数の音高差を有する第2の演奏情報に変換する第1の変換手段と、前記第1の演奏情報を、直前に入力された演奏情報と相対的な音高差を有する第3の演奏情報に変換する第2の変換手段と、前記入力手段から直前に入力された演奏情報と今回入力された演奏情報との音高差を検出する音高差検出手段と、前記第1の演奏情報が最初に入力される演奏情報である場合及び前記検出した音高差が0度又は5度以上である場合は、前記第1の変換手段に前記第1の演奏情報の変換を行わせ、前記検出した音高差が1度から4度以内である場合は、前記第2の変換手段に前記第1の演奏情報の変換を行わせる変換手段選択手段とを有する。
【選択図】 図2
Description
【発明の属する技術分野】
本発明は、演奏補助装置に関し、より詳しくは、ユーザの入力する演奏情報を補正する演奏補助装置に関する。
【0002】
【従来の技術】
従来、音楽的知識の乏しい演奏者が、音楽理論を気にしないで、自由に演奏を楽しめるように、入力される演奏信号を音楽理論に沿ったものに変換する装置が知られている。(例えば、特許文献1参照。)
【0003】
【特許文献1】特開平05−027757号公報
【0004】
【発明が解決しようとする課題】
従来の演奏補助装置は、入力される演奏信号を、一律にコード構成音や、指定される調のスケールトーンに変換してしまい。演奏者の感性を十分に活かすことが出来ない場合がある。
【0005】
また、従来の演奏補助装置は、伴奏演奏(和音演奏)を行うことを主な目的としているので、入力されたノートをその時点におけるコードに合うノートに変換する。従って、演奏者がアドリブ演奏を意図した演奏入力を行ったとしても、例えば、相対的な音程等はある程度破棄されるため、演奏者の演奏意図を反映させたアドリブ的な演奏出力を得ることは難しい。
【0006】
本発明の目的は、演奏者の演奏意図を反映させたアドリブ的な演奏出力を得ることが可能な演奏補助装置を提供することである。
【0007】
【課題を解決するための手段】
本発明の一観点によれば、演奏補助装置は、修正対象となる演奏情報を入力する入力手段と、コード進行を記憶し、現在の時刻におけるコードを供給するコード供給手段と、前記入力手段から入力される第1の演奏情報を、前記供給されるコードのルート音と特定の度数の音高差を有する第2の演奏情報に変換する第1の変換手段と、前記第1の演奏情報を、直前に入力された演奏情報と相対的な音高差を有する第3の演奏情報に変換する第2の変換手段と、前記入力手段から直前に入力された演奏情報と今回入力された演奏情報との音高差を検出する音高差検出手段と、前記第1の演奏情報が最初に入力される演奏情報である場合及び前記検出した音高差が0度又は5度以上である場合は、前記第1の変換手段に前記第1の演奏情報の変換を行わせ、前記検出した音高差が1度から4度以内である場合は、前記第2の変換手段に前記第1の演奏情報の変換を行わせる変換手段選択手段とを有する。
【0008】
【発明の実施の形態】
図1は、本発明の実施例による演奏補助装置1のハードウェア構成を示すブロック図である。
【0009】
演奏補助装置1のバス2には、RAM3、ROM4、CPU5、外部記憶装置7、検出回路8、表示回路10、音源回路12、効果回路13、MIDIインターフェイス16、通信インターフェイス17が接続される。
【0010】
ユーザは、検出回路8に接続される複数のパネル操作子9を用いて、各種設定をすることができる。パネル操作子9は、例えば、ロータリーエンコーダ、スイッチ、マウス、文字入力用キーボード、ジョイスティック、ジョグシャトル等、ユーザの入力に応じた信号を出力できるものならどのようなものでもよい。
【0011】
また、パネル操作子9は、マウス等の他の操作子を用いて操作するディスプレイ11上に表示されるソフトスイッチ等でもよい。
【0012】
表示回路10は、ディスプレイ11に接続され、各種情報をディスプレイ11に表示することができる。
【0013】
外部記憶装置7は、外部記憶装置用のインターフェイスを含み、そのインターフェイスを介してバス2に接続される。外部記憶装置7は、例えばフロッピ(登録商標)ディスクドライブ(FDD)、ハードディスクドライブ(HDD)、光磁気ディスク(MO)ドライブ、CD−ROM(コンパクトディスク−リードオンリィメモリ)ドライブ、DVD(Digital Versatile Disc)ドライブ、半導体メモリ等である。
【0014】
外部記憶装置7には、各種パラメータ、各種データ、及び本実施例を実現するためのプログラム及び演奏情報等を記憶することができる。
【0015】
RAM3は、フラグ、レジスタ又はバッファ、各種パラメータ等を記憶するCPU5のワーキングエリアを有する。ROM4には、各種パラメータ及び制御プログラム、又は本実施例を実現するためのプログラム等を記憶することができる。CPU5は、ROM4又は、外部記憶装置7に記憶されている制御プログラム等に従い、演算又は制御を行う。
【0016】
タイマ6は、CPU5に接続されており、基本クロック信号、割り込み処理タイミング等をCPU5に供給する。
【0017】
音源回路12は、外部記憶装置7等に記録された演奏情報MD、演奏操作子15又はMIDIインターフェイス16に接続されたMIDI機器18等から供給されるMIDI信号等の演奏信号に応じて楽音信号を生成し、効果回路13を介して、サウンドシステム14に供給する。
【0018】
音源回路12の方式は、波形メモリ方式、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式、VCO+VCF+VCAのアナログシンセサイザ方式、アナログシミュレーション方式等、どのような方式であってもよい。また、専用のハードウェアを用いて音源回路12を構成してもよいし、DSP+マイクロプログラムを用いて音源回路12を構成してもよいし、CPU+ソフトウェアのプログラムで音源回路12を構成してもよい。また、これらの組合せでもよい。さらに、1つの回路を時分割で使用して複数の発音チャンネルを形成してもよいし、1つの発音チャンネルを1つの回路で形成してもよい。
【0019】
効果回路13は、音源回路12から供給されるデジタル形式の楽音信号に各種効果を与える。サウンドシステム14は、D/A変換器及びスピーカを含み、供給されるデジタル形式の楽音信号をアナログ形式に変換し、発音する。
【0020】
演奏操作子15は、検出回路8に接続され、ユーザの演奏動作に従い、演奏信号を供給する。本実施例では、演奏操作子15として、演奏用の鍵盤が用いられている。演奏操作子15は、少なくとも、MIDI信号等の演奏信号を出力可能な操作子であればどのようなものでもよい。
【0021】
MIDIインターフェイス(MIDI I/F)16は、電子楽器、その他の楽器、音響機器、コンピュータ等に接続できるものであり、少なくともMIDI信号を送受信できるものである。MIDIインターフェイス16は、専用のMIDIインターフェイスに限らず、RS−232C、USB(ユニバーサル・シリアル・バス)、IEEE1394(アイトリプルイー1394)等の汎用のインターフェイスを用いて構成してもよい。この場合、MIDIメッセージ以外のデータをも同時に送受信するようにしてもよい。
【0022】
MIDI機器18は、MIDIインターフェイス16に接続される音響機器、楽器等である。MIDI機器18の形態は鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。また、音源装置、自動演奏装置等を1つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、MIDIや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。ユーザは、このMIDI機器18を演奏(操作)することにより演奏信号の入力を行うこともできる。
【0023】
また、MIDI機器18は、演奏情報以外の各種データ及び各種設定を入力するための操作子としても用いることが出来る。
【0024】
通信インターフェイス17は、LAN(ローカルエリアネットワーク)やインターネット、電話回線等の通信ネットワーク19に接続可能であり、該通信ネットワーク19を介して、サーバコンピュータ20と接続し、HDD等外部記憶装置7、又はRAM4等内に、サーバコンピュータ20から制御プログラムや本実施例を実現するためのプログラム、演奏情報等をダウンロードすることができる。
【0025】
なお、通信インターフェイス17及び通信ネットワーク19は、有線のものに限らず無線でもよい。また双方を備えていてもよい。
【0026】
図2は、本発明の実施例による演奏補助装置1の機能を表すブロック図である。
【0027】
演奏補助装置1は、例えば、演奏信号入力部21、コード進行供給部22、ノート変換部23及び発音部24で構成される。
【0028】
演奏信号入力部21は、例えば、図1の演奏操作子15及び検出回路8、あるいはMIDI機器18等で構成され、ノート変換部23に演奏信号を供給する。
【0029】
コード進行供給部22は、ROM4又は外部記憶装置7等で構成され、複数のコード進行データを記憶している。コード進行データは、楽曲のコード進行を、一連のコードネーム又はコードを度数表記したDegreeコードにより記録したデータである。コード進行データは、特定の楽曲に対応したものでもよいし、特定の楽曲を想定していないものでもよい。また、コード進行データ以外に、ドラムやその他のパートの演奏データを含んでいてもよい。本実施例では、コードネームを「key(調)情報+度数」で管理することにより、各コードの機能を音楽的に解釈している。よって、コード進行データには、Degreeコードのみが記録され、ユーザの指定するkey情報と併せて、実際のコードネームを特定する。あるいは、key情報をコード進行データ中に含ませてもよい。なお、実際のコードネームをコード進行データに記録するようにしても良く、その場合はkey情報は無くてもよい。コード進行供給部22は、ユーザの指定するコード進行データをノート変換部23に供給する。
【0030】
ノート変換部23は、後述する本実施例による演奏補助処理により、コード進行供給部22から供給されるコード進行データに基づき、演奏信号入力部21から供給される演奏信号に含まれるノートナンバーを変更する。
【0031】
ノート変換部23は、移調部31、直前音高差検出部32、ゲート33、セレクタ34、加算部35、ルート音高差検出部36、ディレイ37、復調部38、入力記憶部39及びテーブルT1、T2を含んで構成される。
【0032】
移調部31は、演奏信号入力部21から入力される演奏信号に含まれるノートナンバー(音高情報)をコード進行供給部22からkey情報として供給される原調からCMajor調(ハ長調)に移調する。
【0033】
直前音高差検出部32は、移調部31で、CMajor調に移調された入力ノートナンバーと、入力記憶部39に記憶されている直前の入力ノートナンバー(CMajor調に移調されている)との音高差を算出する。算出した音高差に従い、テーブルT2の列参照ポインタiと、ゲート33及びセレクタ34を制御するための制御信号gateを出力する。なお、算出した各音高差における列参照ポインタi及び制御信号gateの値は、図8のステップSA8を参照。
【0034】
ゲート33は、直前音高差検出部32から入力される制御信号gateの値が「0」の場合(gate=0)に、テーブルT1を参照して変換される入力ノートナンバー(変換ノートナンバー)を、セレクタ34に出力する。制御信号gateの値が「1」の場合(gate=0)は、入力ノートナンバーを遮断する。
【0035】
テーブルT1は、Degreeコードごとに複数用意されており、例えば、図3(A)に示すように、一定範囲の入力ノートナンバー(ノートナンバー0〜31、32〜37等)を、現在のDegreeコードにおける3度又は7度の音(28(E0)、35(B0)等)に変換するためのテーブルである。なお、図3(A)に示すテーブルT1は、Degreeコードが、IM7の場合のものである。
【0036】
セレクタ34は、直前音高差検出部32から入力される制御信号gateの値が「0」の場合(gate=0)に、ゲート33から供給されるテーブルT1によって変換された入力ノートナンバーを、復調部38及びディレイ37に出力する。直前音高差検出部32から入力される制御信号gateの値が「1」の場合(gate=0)は、加算部35から入力されるテーブルT2によって変換された入力ノートナンバー(変換ノートナンバー)を、復調部38及びディレイ37に出力する。
【0037】
加算部35は、ルート音高差検出部36から供給される直前の変換ノートナンバーに一番近いルート音(C音)のノートナンバーrootと、テーブルT2を参照して得られたオフセット値を加算して、変換ノートナンバーを出力する。
【0038】
ルート音高差検出部36は、ディレイ37から供給される直前の変換ノートナンバーに一番近いルート音(C音)のノートナンバーrootを算出するとともに、該算出したルート音(C音)のノートナンバーrootとディレイ37から供給される直前の変換ノートナンバーとの差分値をテーブルT2の行参照ポインタ(音高差)jとして決定する。
【0039】
テーブルT2は、テーブルT1と同様に、Degreeコードごとに複数用意されており、例えば、図3(B)に示すように、列参照ポインタi及び行参照ポインタ(音高差)jで示されるノートナンバーのオフセット値(変換係数)を出力するためのテーブルである。
【0040】
ここで、テーブルT2では、列参照ポインタiの値が、「1」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「1」又は「2」である場合(0<直前の入力ノートナンバー−今回の入力ノートナンバー≦2)は、スケール的な演奏で且つスケールアップしていく演奏に変換する。列参照ポインタiの値が、「2」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「−1」又は「−2」である場合(0>直前の入力ノートナンバー−今回の入力ノートナンバー≧−2)は、スケール的な演奏で且つスケールダウンしていく演奏に変換する。
【0041】
また、列参照ポインタiの値が、「3」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「3」又は「4」である場合(2<直前の入力ノートナンバー−今回の入力ノートナンバー≦4)は、アルペジオ的な演奏で且つスケールアップしていく演奏に変換する。列参照ポインタiの値が、「4」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「−3」又は「−4」である場合(−2>直前の入力ノートナンバー−今回の入力ノートナンバー≧−4)は、アルペジオ的な演奏で且つスケールダウンしていく演奏に変換する。
【0042】
なお、列参照ポインタiの値が、「0」の場合、すなわち直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が「0」又は「±5」以上である場合は、オフセット値「0」を出力する。
【0043】
また、本明細書では、現在の調に含まれるスケールノートを用いた演奏をスケール的な演奏と呼び、現在のDegreeコードの構成音を用いた演奏をアルペジオ的な演奏と呼ぶ。
【0044】
上述したように、テーブルT2は、テーブルT1と同様に、Degreeコードごとに複数用意されており、図3(A)に示すテーブルは、Degreeコードが、IM7の場合に適用されるものである。例えば、Degreeコードが、IIIm7の場合には図4(A)に示すテーブルT2が用いられ、IIm7の場合は、
図4(B)に示すテーブルT2が用いられる。
【0045】
図3に戻り、ディレイ37は、セレクタ34から選択出力される変換ノートナンバーを一時的に保存して、次回の変換時(次のノートナンバーの変換時)に、直前の変換ノートナンバーとして、ルート音高差検出部36に出力する。
【0046】
復調部38は、セレクタ34から選択出力される変換ノートナンバーをCMajor調から原調に復調して、該変換されて復調されたノートナンバーを含む演奏信号を発音部24に出力する。
【0047】
発音部24は、例えば、図1の音源回路12、効果回路13及びサウンドシステム14からなり、入力される演奏信号に基づく楽音信号を生成して発音する。なお、発音部24を外部に接続される装置(音源モジュール等)で構成しても良い。
【0048】
次ぎに、図2に示す本実施例の演奏補助装置1において、最初に入力される演奏情報(ノートナンバー)、2回目以降に入力されるノートナンバーであって直前のノートナンバーとの音高差が1〜4度以内のもの及び直前に入力されるノートナンバーとの音高差が0度又は5度以上ある場合のそれぞれについて、図5〜図7を参照して具体的に説明する。
【0049】
図5は、最初に入力される演奏情報(1音目)の変換処理の一例を表すブロック図である。
【0050】
まず、移調部31に、コード進行供給部22からkey情報(F)と演奏信号入力部21から第1音目の音高(ノートナンバー)「G3♯(68)」とが入力される。移調部31では、入力された「G3♯(68)」を現在の調である「F」から、「C」に移調(音高を5度下げる)し、ノートナンバーを「D3♯(63)」とする。その後、移調されたノートナンバー「D3♯(63)」は、入力記憶部39に次回の変換処理のために記憶されるとともに、直前音高差検出部32及びゲート33に送られる。
【0051】
直前音高差検出部32は、移調されたノートナンバー「D3♯(63)」と、入力記憶部39に記憶されている前回入力されたノートナンバーの音高差を検出するが、前回入力されたノートナンバーが記憶されていないので、gate=0及びi=0を出力する。
【0052】
ゲート33が、gate=0の信号を受け取ることにより、openの状態となり、移調されたノートナンバー「D3♯(63)」は、テーブルT1を用いて、コード進行供給部22から供給される現在のDegreeコード「IM7」の三度の音であるノートナンバー「E3(64)」に変換される。ここで変換されたノートナンバー「E3(64)」は、セレクタ34に送られる。
【0053】
セレクタ34は、gate=0の信号に従い、テーブルT1によって変換されたノートナンバーを選択し、後段の復調部38及びディレイ37に変換されたノートナンバー「E3(64)」を送出する。復調部38では、受け取ったノートナンバー「E3(64)」を元々の調である「F」に復調(音高を5度上げる)し、ノートナンバー「A3(69)」として、発音部24に出力する。ディレイ37は、受け取ったノートナンバー「E3(64)」を次に入力される演奏信号の処理に使うために一時的に保存する。
【0054】
一方、テーブルT2は、i=0の信号を直前音高差検出部32から受け取るとともに、ルート音高差検出部36から、j=0の信号を受け取り、オフセット値「0」を加算部35に出力する。ルート音高差検出部36は、ディレイ37に前回の変換ノートナンバーが記憶されていないので、i=0の信号を出力する。なお、制御信号gateの値が「0」の場合(gate=0)は、テーブルT2、ルート音高差検出部36、加算部35の処理を省略しても良い。
【0055】
図6は、2番目以降に入力される演奏情報(2音目以降)の変換処理の一例を表すブロック図である。ここでは、第2音目として、第1音目との音高差が4度以下のノートナンバーが入力された場合の例を説明する。
【0056】
まず、移調部31に、コード進行供給部22からkey情報(F)と演奏信号入力部21から第2音目の音高(ノートナンバー)「F3♯(66)」とが入力される。移調部31では、入力された「F3♯(66)」を現在の調である「F」から、「C」に移調(音高を5度下げる)し、ノートナンバーを「C3♯(61)」とする。その後、移調されたノートナンバー「C3♯(61)」は、入力記憶部39に次回の変換処理のために記憶されるとともに、直前音高差検出部32及びゲート33に送られる。
【0057】
直前音高差検出部32は、移調されたノートナンバー「C3♯(61)」と、入力記憶部39に記憶されている前回入力(及び移調)されたノートナンバー「D3♯(63)」の音高差「−2」を検出し、gate=1及びi=2を出力する。
【0058】
ゲート33が、gate=1の信号を受け取ることにより、closeの状態となり、移調されたノートナンバー「C3♯(61)」に対するテーブルT1を用いた変換処理は行われなくなる。
【0059】
ルート音高差検出部36は、ディレイ37に前回の変換ノートナンバー「E3(64)」に一番近いルート音「C3(60)」を算出し、該算出したルート音「C3(60)」と前回の変換ノートナンバー「E3(64)」との音高差「4」をj=4としてテーブルT2に出力する。テーブルT2は、i=2の信号を直前音高差検出部32から受け取るとともに、ルート音高差検出部36から、j=4の信号を受け取り、オフセット値「2」を加算部35に出力する。加算部35では、ルート音高差検出部36から出力されるルート音「C3(60)」に、オフセット値「2」を加算して、ノートナンバー「D3(62)」を変換ノートナンバーとして出力する。
【0060】
セレクタ34は、gate=1の信号に従い、テーブルT2によって変換されたノートナンバー「D3(62)」を選択し、後段の復調部38及びディレイ37に変換されたノートナンバー「D3(62)」を送出する。復調部38では、受け取ったノートナンバー「D3(62)」を元々の調である「F」に復調(音高を5度上げる)し、ノートナンバー「G3(67)」として、発音部24に出力する。ディレイ37は、受け取ったノートナンバー「D3(62)」を次に入力される演奏信号の処理に使うために一時的に保存する。
【0061】
図7は、2番目以降に入力される演奏情報(2音目以降)の変換処理の他の例を表すブロック図である。ここでは、第2音目として、第1音目との音高差が4度以上のノートナンバーが入力された場合の例を説明する。
【0062】
まず、移調部31に、コード進行供給部22からkey情報(F)と演奏信号入力部21から第2音目の音高(ノートナンバー)「G4♯(80)」とが入力される。移調部31では、入力された「G4♯(80)」を現在の調である「F」から、「C」に移調(音高を5度下げる)し、ノートナンバーを「D4♯(75)」とする。その後、移調されたノートナンバー「D4♯(75)」は、入力記憶部39に次回の変換処理のために記憶されるとともに、直前音高差検出部32及びゲート33に送られる。
【0063】
直前音高差検出部32は、移調されたノートナンバー「D4♯(75)」と、入力記憶部39に記憶されている前回入力(及び移調)されたノートナンバー「C3♯(61)」の音高差「14」を検出し、gate=0及びi=0を出力する。
【0064】
ゲート33が、gate=0の信号を受け取ることにより、openの状態となり、移調されたノートナンバー「D4♯(75)」は、テーブルT1を用いて、コード進行供給部22から供給される現在のDegreeコード「IM7」の三度の音であるノートナンバー「E4(76)」に変換される。ここで変換されたノートナンバー「E4(76)」は、セレクタ34に送られる。
【0065】
一方、ルート音高差検出部36は、ディレイ37に前回の変換ノートナンバー「D3(62)」に一番近いルート音「C3(60)」を算出し、該算出したルート音「C3(60)」と前回の変換ノートナンバー「D3(62)」との音高差「2」をj=2としてテーブルT2に出力する。テーブルT2は、i=0の信号を直前音高差検出部32から受け取るとともに、ルート音高差検出部36から、j=2の信号を受け取り、オフセット値「0」を加算部35に出力する。加算部35では、ルート音高差検出部36から出力されるルート音「C3(60)」に、オフセット値「0」を加算して、ノートナンバー「C3(60)」を変換ノートナンバーとして出力する。なお、制御信号gateの値が「0」(gate=0)であるので、テーブルT2、ルート音高差検出部36、加算部35の処理は省略しても良い。
【0066】
セレクタ34は、gate=0の信号に従い、テーブルT1によって変換されたノートナンバー「E4(76)」を選択し、後段の復調部38及びディレイ37に変換されたノートナンバー「E4(76)」を送出する。復調部38では、受け取ったノートナンバー「E4(76)」を元々の調である「F」に復調(音高を5度上げる)し、ノートナンバー「A5(81)」として、発音部24に出力する。ディレイ37は、受け取ったノートナンバー「A5(81)」を次に入力される演奏信号の処理に使うために一時的に保存する。
【0067】
以上のように、最初に入力されるノートナンバー及び前回入力されたノートナンバーとの音高差が「0度」又は「5度以上(+5度及び−5度を含む)」ある場合は、テーブルT1を用いて現在のDegreeコードの三度(若しくは7度の構成音)の構成音に変換する。また、前回入力されたノートナンバーとの音高差が「2度〜4度以内(±2度〜±4度以内)」の場合は、テーブルT2を用いて、スケール的演奏又は、アルペジオ的演奏に変換する。
【0068】
このようにすることで、入力されるノートナンバー(演奏情報)の相対的音高差に基づき変換態様を異ならせることができる。よって、現在のコードにそって、演奏者の意図を反映したアドリブ演奏の変換を行うことができる。
【0069】
図8は、本発明の実施例による演奏補助処理を説明するためのフローチャートである。
【0070】
ステップSA1では、演奏補助処理をスタートし、ステップSA2で、演奏時刻の計時を開始するとともに、コード進行の管理を開始する。コード進行の管理は、予め用意され保存されたコード進行に従い行われる。
【0071】
ステップSA3では、現在の演奏時刻がコード進行の切り替えタイミングか否かを判断する。コード進行の切り替えタイミングである場合は、YESの矢印で示すステップSA4に進み、切り替えタイミングで無い場合は、NOの矢印で示すステップSA5に進む。
【0072】
ステップSA4では、テーブルT1及びテーブルT2を現在のコード(Degreeコード)に合わせて切り替える。その後、ステップSA5では、演奏信号の入力を検出する。演奏信号の入力を検出した場合は、YESの矢印で示すステップSA6に進む。演奏信号の入力を検出しない場合は、NOの矢印で示すステップSA3に戻る。
【0073】
ステップSA6では、入力された演奏信号に含まれるノートナンバーをCMajor調に移調する。
【0074】
ステップSA7では、ステップSA6で移調された今回入力された演奏信号の音高(ノートナンバー)と前回入力されて移調された演奏信号の音高(ノートナンバー)の音高差を検出する。
【0075】
ステップSA8では、ステップSA7で検出された音高差に従い、テーブルT2の列参照ポインタiと、制御信号gateとを決定する。例えば、ステップSA7で検出された音高差が、「0」、「5」以上又は「−5」以下の場合は、列参照ポインタi=「0」、制御信号gate=「0」となる。ステップSA7で検出された音高差が、「1」、又は「2」の場合は、列参照ポインタi=「1」、制御信号gate=「1」となる。ステップSA7で検出された音高差が、「−1」、又は「−2」の場合は、列参照ポインタi=「2」、制御信号gate=「1」となる。ステップSA7で検出された音高差が、「3」、又は「4」の場合は、列参照ポインタi=「3」、制御信号gate=「1」となる。ステップSA7で検出された音高差が、「−3」、又は「−4」の場合は、列参照ポインタi=「4」、制御信号gate=「1」となる。
【0076】
ステップSA9では、ステップSA8で決定された列参照ポインタiの値が、「0」であるか否か、すなわち、ステップSA7で検出された音高差が、「0」、「5」以上又は「−5」以下であるか否かを判断する。列参照ポインタiの値が、「0」である場合は、YESの矢印で示すステップSA10に進み、列参照ポインタiの値が、「0」でない場合は、YESの矢印で示すステップSA11に進む。ここでの分岐は、直前の入力ノートナンバーと今回の入力ノートナンバーの音高差が0度又は±5度以上である場合に、仕切りなおしとして、今回のノートナンバーを現在のDegreeコードの3度あるいは7度の音に変換して出力し、それ以外の場合は、音高差に応じたノート変換係数(オフセット値)を特定してノート変換を行うためのものである。
【0077】
ステップSA10では、入力ノートナンバーをテーブルT1を用いて変換し、変換ノートナンバーとする。その後、ステップSA12に進む。
【0078】
ステップSA11では、列参照ポインタi及び行参照ポインタ(音高差)jで示されるノートナンバーのオフセット値(変換係数)をテーブルT2から取得し、該オフセット値と算出したルート音(C音)のノートナンバーrootとを加算して、変換ノートナンバーとする。なお、直前の変換ノートナンバーに一番近いルート音(C音)のノートナンバーrootと、該ルート音(C音)のノートナンバーrootと直前の変換ノートナンバーとの差分値であるテーブルT2の行参照ポインタ(音高差)jは、後のステップSA12及び13で決定される。最初の入力ノートナンバーである場合は、必然的にステップSA10が実行されるので、このステップSA11が実行される時点では、既に、ルート音rootと行参照ポインタiは、決定されている。
【0079】
ステップSA12では、直前の変換ノートナンバーに一番近いルート音(C音)のノートナンバーrootを算出する(root=Int(直前の変換ノートナンバー/12)×12)。
【0080】
ステップSA13では、ステップSA12で算出された該ルート音(C音)のノートナンバーrootと直前の変換ノートナンバーとの差分値であるテーブルT2の行参照ポインタ(音高差)jを決定する(j=直前の変換ノートナンバー−root)。
【0081】
ステップSA14では、ステップSA10又はステップSA11で変換されたノートナンバーを原調に復調(移調)し、ステップSA15で、該復調された変換ノートナンバーを含む演奏信号を出力する。
【0082】
ステップSA16では、演奏が終了したか否かを判断する。演奏の終了は、例えば、ユーザの終了指示により判断する。演奏が終了した場合は、YESの矢印で示すステップSA17に進み、この演奏補助処理を終了する。演奏が終了していない場合は、NOの矢印で示すステップSA3に戻り、以降の処理を繰り返す。
【0083】
以上、本発明の実施例によれば、音高差が小さければスケール的な演奏意図とみなして自動的に変換を行い、音高差が中程度であれば、アルペジオ的な演奏意図とみなして自動的に変換を行う。このように、音高差に応じて異なる処理を行うので、全く音楽的知識のない、又は楽器の演奏経験のない演奏者であっても、演奏者の演奏意図を反映しつつ、容易にコード進行上破綻のないアドリブ演奏を行うことができる。
【0084】
また、本発明の実施例によれば、音楽的知識に乏しい演奏者であっても、音楽理論等を気にすることなく、音楽理論に沿った演奏を行うことが出来る。
【0085】
また、さまざまな音楽ジャンルや楽器に対応した複数種類のコード発音分布テーブル又はコードトーン選択テーブルを用意することにより、幅広い音楽ジャンルへの対応や各楽器ごとの特長を活かした演奏を行うことが出来る。
【0086】
なお、本発明の実施例では、入力された演奏信号を一旦C Major調に移調してから、変換したが、それぞれの調に対応するテーブルを用意することで、移調せずに入力された演奏信号をそのまま変換するようにしてもよいし、任意の数の調に対応するテーブルを持ち、指定された調から最も近い調のテーブルに基づいて変換するようにしてもよい。
【0087】
なお、本実施例の演奏補助装置1は、電子楽器の形態に限らず、カラオケ装置や、ゲーム装置、携帯電話等の携帯型通信端末、自動演奏ピアノに適用してもよい。携帯型通信端末に適用した場合、端末のみで所定の機能が完結している場合に限らず、機能の一部をサーバ側に持たせ、端末とサーバとからなるシステム全体として所定の機能を実現するようにしてもよい。
【0088】
また、電子楽器の形態を取った場合、その形態は実施例で説明したような鍵盤楽器に限らず、弦楽器タイプ、管楽器タイプ、打楽器タイプ等の形態でもよい。また、音源装置、自動演奏装置等を1つの電子楽器本体に内蔵したものに限らず、それぞれが別体の装置であり、MIDIや各種ネットワーク等の通信手段を用いて各装置を接続するものであってもよい。
【0089】
また、本実施例は、本実施例に対応するコンピュータプログラム等をインストールした汎用のコンピュータ等によって、実施させるようにしてもよい。
【0090】
その場合には、本実施例に対応するコンピュータプログラム等を、CD−ROMやフロッピー(登録商標)ディスク等の、コンピュータが読み込むことが出来る記憶媒体に記憶させた状態で、ユーザに提供してもよい。
【0091】
以上実施例に沿って本発明を説明したが、本発明はこれらに制限されるものではない。例えば、種々の変更、改良、組合せ等が可能なことは当業者に自明であろう。
【0092】
【発明の効果】
以上説明したように、本発明によれば、演奏者の演奏意図を反映させたアドリブ的な演奏出力を得ることが可能な演奏補助装置を提供することができる。
【図面の簡単な説明】
【図1】本発明の実施例による演奏補助装置1のハードウェア構成を示すブロック図である。
【図2】本発明の実施例による演奏補助装置1の機能を表すブロック図である。
【図3】本発明の実施例によるテーブルT1及びテーブルT2の一例を表す概念図である。
【図4】本発明の実施例によるテーブルT2のその他の例を表す概念図である。
【図5】最初に入力される演奏情報(1音目)の変換処理の一例を表すブロック図である。
【図6】2番目以降に入力される演奏情報(2音目以降)の変換処理の一例を表すブロック図である。
【図7】2番目以降に入力される演奏情報(2音目以降)の変換処理の他の例を表すブロック図である。
【図8】本発明の実施例による演奏補助処理を説明するためのフローチャートである。
【符号の説明】
1…演奏補助装置、2…バス、3…RAM、4…ROM、5…CPU、6…タイマ、7…外部記憶装置、8…検出回路、9…パネル操作子、10…表示回路、11…ディスプレイ、12…音源回路、13…効果回路、14…サウンドシステム、15…演奏操作子、16…MIDI I/F、17…通信I/F、18…MIDI機器、19…通信ネットワーク、20…サーバコンピュータ、21…演奏信号入力部、22…コード進行供給部、23…ノート変換部、24…発音部、31…移調部、32…直前音高差検出部、33…ゲート、34…セレクタ、35…加算部、36…ルート音高差検出部、37…ディレイ、38…復調部、39…入力記憶部
Claims (3)
- 修正対象となる演奏情報を入力する入力手段と、
コード進行を記憶し、現在の時刻におけるコードを供給するコード供給手段と、
前記入力手段から入力される第1の演奏情報を、前記供給されるコードのルート音と特定の度数の音高差を有する第2の演奏情報に変換する第1の変換手段と、
前記第1の演奏情報を、直前に入力された演奏情報と相対的な音高差を有する第3の演奏情報に変換する第2の変換手段と、
前記入力手段から直前に入力された演奏情報と今回入力された演奏情報との音高差を検出する音高差検出手段と、
前記第1の演奏情報が最初に入力される演奏情報である場合及び前記検出した音高差が0度又は5度以上である場合は、前記第1の変換手段に前記第1の演奏情報の変換を行わせ、前記検出した音高差が1度から4度以内である場合は、前記第2の変換手段に前記第1の演奏情報の変換を行わせる変換手段選択手段と
を有する演奏補助装置。 - 前記第2の変換手段は、直前に入力された演奏情報と今回入力された演奏情報との音高差に応じて、スケール的な音高変換又はアルペジオ的な音高変換のいずれかを行う請求項1記載の演奏補助装置。
- 修正対象となる演奏情報を入力する入力手順と、
コード進行を記憶し、現在の時刻におけるコードを供給するコード供給手順と、
前記入力手順から入力される第1の演奏情報を、前記供給されるコードのルート音と特定の度数の音高差を有する第2の演奏情報に変換する第1の変換手順と、
前記第1の演奏情報を、直前に入力された演奏情報と相対的な音高差を有する第3の演奏情報に変換する第2の変換手順と、
前記入力手順から直前に入力された演奏情報と今回入力された演奏情報との音高差を検出する音高差検出手順と、
前記第1の演奏情報が最初に入力される演奏情報である場合及び前記検出した音高差が0度又は5度以上である場合は、前記第1の変換手順に前記第1の演奏情報の変換を行わせ、前記検出した音高差が1度から4度以内である場合は、前記第2の変換手順に前記第1の演奏情報の変換を行わせる変換手順選択手順と
を有する演奏補助処理をコンピュータに実行させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003203760A JP4172703B2 (ja) | 2003-07-30 | 2003-07-30 | 演奏補助装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003203760A JP4172703B2 (ja) | 2003-07-30 | 2003-07-30 | 演奏補助装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005049444A true JP2005049444A (ja) | 2005-02-24 |
JP4172703B2 JP4172703B2 (ja) | 2008-10-29 |
Family
ID=34263000
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003203760A Expired - Fee Related JP4172703B2 (ja) | 2003-07-30 | 2003-07-30 | 演奏補助装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4172703B2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007212672A (ja) * | 2006-02-08 | 2007-08-23 | Yamaha Corp | 演奏補助装置及びプログラム |
JP2014153597A (ja) * | 2013-02-12 | 2014-08-25 | Casio Comput Co Ltd | 楽曲生成装置、楽曲生成方法及びプログラム |
US20210383783A1 (en) * | 2019-03-26 | 2021-12-09 | Yamaha Corporation | Chord processing method and chord processing device |
-
2003
- 2003-07-30 JP JP2003203760A patent/JP4172703B2/ja not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007212672A (ja) * | 2006-02-08 | 2007-08-23 | Yamaha Corp | 演奏補助装置及びプログラム |
JP4572839B2 (ja) * | 2006-02-08 | 2010-11-04 | ヤマハ株式会社 | 演奏補助装置及びプログラム |
JP2014153597A (ja) * | 2013-02-12 | 2014-08-25 | Casio Comput Co Ltd | 楽曲生成装置、楽曲生成方法及びプログラム |
US20210383783A1 (en) * | 2019-03-26 | 2021-12-09 | Yamaha Corporation | Chord processing method and chord processing device |
Also Published As
Publication number | Publication date |
---|---|
JP4172703B2 (ja) | 2008-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3707364B2 (ja) | 自動作曲装置、方法及び記録媒体 | |
EP2690619B1 (en) | Accompaniment data generation device | |
JP5891656B2 (ja) | 伴奏データ生成装置及びプログラム | |
JP3906997B2 (ja) | 演奏補助装置、入力音変換装置及びそれらのプログラム | |
CN101000761B (zh) | 音调合成设备和方法 | |
JP5821229B2 (ja) | 伴奏データ生成装置及びプログラム | |
JP4172703B2 (ja) | 演奏補助装置 | |
JP2008089975A (ja) | 電子楽器 | |
US8362348B2 (en) | Electronic musical apparatus for generating a harmony note | |
JP4962592B2 (ja) | 電子楽器および電子楽器に適用されるコンピュータプログラム | |
JP4670686B2 (ja) | コード表示装置及びプログラム | |
JP4572839B2 (ja) | 演奏補助装置及びプログラム | |
JP2004246069A (ja) | 電子音楽装置及びトランスポーズ設定プログラム | |
JP3960242B2 (ja) | 自動伴奏装置及び自動伴奏プログラム | |
JP3873880B2 (ja) | 演奏補助装置および演奏補助用プログラム | |
JP5104414B2 (ja) | 自動演奏装置及びプログラム | |
JP5560759B2 (ja) | 電子音楽装置およびハーモニー音生成方法を実現するためのプログラム | |
JP3804498B2 (ja) | コンテンツ生成装置及びプログラム | |
JP3855760B2 (ja) | 和音構成音提示装置及び和音構成音提示プログラム | |
JP2005017676A (ja) | 自動演奏装置及びプログラム | |
JP3733887B2 (ja) | 楽曲データ編集装置、及びプログラム | |
JP4470895B2 (ja) | コード表示装置及びプログラム | |
JP3525795B2 (ja) | メロディ生成装置及び記録媒体 | |
JP2005249903A (ja) | 自動演奏データ編集装置及びプログラム | |
JP2004279953A (ja) | アルペジオ生成装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A625 | Written request for application examination (by other person) |
Free format text: JAPANESE INTERMEDIATE CODE: A625 Effective date: 20060724 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20061019 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20061019 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080311 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080408 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080609 |
|
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: 20080715 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080808 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4172703 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110822 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120822 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130822 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |