JPH06295179A - 演奏情報分析装置および和音検出装置 - Google Patents

演奏情報分析装置および和音検出装置

Info

Publication number
JPH06295179A
JPH06295179A JP5083043A JP8304393A JPH06295179A JP H06295179 A JPH06295179 A JP H06295179A JP 5083043 A JP5083043 A JP 5083043A JP 8304393 A JP8304393 A JP 8304393A JP H06295179 A JPH06295179 A JP H06295179A
Authority
JP
Japan
Prior art keywords
voice
performance information
chord
list
information
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
JP5083043A
Other languages
English (en)
Other versions
JP3049989B2 (ja
Inventor
Atsushi Tougi
温 東儀
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 JP5083043A priority Critical patent/JP3049989B2/ja
Priority to US08/223,611 priority patent/US5539146A/en
Priority to EP99112888A priority patent/EP0945850B1/en
Priority to DE69431013T priority patent/DE69431013T2/de
Priority to DE69430078T priority patent/DE69430078T2/de
Priority to EP94105505A priority patent/EP0619573B1/en
Priority to CN94103965A priority patent/CN1110032C/zh
Priority to KR1019940007468A priority patent/KR100203423B1/ko
Priority to TW083103329A priority patent/TW255959B/zh
Publication of JPH06295179A publication Critical patent/JPH06295179A/ja
Priority to US09/120,957 priority patent/USRE38477E1/en
Application granted granted Critical
Publication of JP3049989B2 publication Critical patent/JP3049989B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

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
    • G10H7/00Instruments in which the tones are synthesised from a data store, e.g. computer organs
    • 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
    • G10H1/383Chord detection and/or recognition, e.g. for correction, or automatic bass generation
    • 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/571Chords; Chord sequences
    • G10H2210/616Chord seventh, major or minor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S84/00Music
    • Y10S84/22Chord organs

Landscapes

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

Abstract

(57)【要約】 【目的】演奏情報を演奏情報に合った複数のパートに自
動的に分解し、演奏情報からの和音検出の検出精度を高
める。 【構成】鍵盤4の押鍵音のキーコードを記憶する。タイ
マ10からの割込み信号によりCPU1で8分音符1個
毎に割込み処理を行う。鍵盤4で発生しているキーコー
ドを、ベース声部、ベースコード声部、メロディコード
声部、メロディ声部の4つのパートに分解する。押鍵数
に応じて、1音声部解析、2音声部解析、3音声部解析
および4音以上声部解析を行う。音の高さ、タイミング
が小節頭か否か、強拍音か弱拍音か、前のベース声部音
との音程、前のメロディコード声部音との音程など、複
数の条件の組合せにより、押鍵音のパートを決定する。
ベースコード声部またはメロディコード声部のパートと
和音テーブル11から和音を検出する。検出和音を自動
伴奏装置5に出力する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、楽曲の音高情報を含む
演奏情報を複数のパートに分解する演奏情報分析装置お
よび演奏情報から和音を検出する和音検出装置に関す
る。
【0002】
【従来の技術】従来、電子楽器において、鍵盤で弾かれ
る演奏に合わせて自動伴奏を行う所謂自動伴奏機能を備
えたものがある。この種の電子楽器は伴奏音の音高を決
めるために和音を検出する必要があり、鍵盤から入力さ
れる演奏情報すなわち弾かれた鍵のキーコードに基づい
て和音を決定している。
【0003】ところで、鍵盤の高音側では一般にメロデ
ィ演奏が行われるので、この高音側では和音に対して非
和声音となるキーコードが検出される頻度が高くなる。
このため、鍵盤を低音側の左鍵域と高音側の右鍵域とに
仮想的に分割し、左鍵域で押鍵された鍵のキーコードに
基づいて和音を検出するようにしている。
【0004】このように、キーコードなどの音高情報に
基づいて和音を検出する場合には和音検出に適した音域
があり、検出精度はこの音域の採り方に影響される。ま
た、このような音域は1曲の中でも変化するので、和音
の検出精度を高めるために左鍵域と右鍵域の境界をスイ
ッチ操作で変更できるようにしたものがある。しかし、
このような電子楽器では、演奏しながらスイッチ操作を
しなければならないので、操作性の点で問題がある。
【0005】ところで、多くの楽曲はメロディ声部やベ
ース声部などの複数のパートに分けることができ、これ
らの中には和音検出に適したパートとなるものがある。
そこで、演奏情報をこのようなパートに分解することが
できると、このパートに応じて和音検出を行って検出精
度を高めることができる。
【0006】また、演奏情報を複数のパートに分解でき
ると次のような利点がある。例えば、自動演奏の演奏情
報をパートに分解すると、所望のパートだけを消音して
自動演奏を行うことが容易になり、この自動演奏に合わ
せて鍵盤演奏を行って消音したパートの練習を行なえる
所謂マイナスワンと称する機能が容易に得られる。さら
に、演奏情報に別のメロディを付加したり一部のパート
を別のメロディに置き換えたりする所謂自動編曲等を行
うときにも、演奏情報をパートに分解できると処理が容
易になる。
【0007】
【発明が解決しようとする課題】本発明は、演奏情報を
演奏情報に合った複数のパートに自動的に分解できるよ
うにすることを課題とする。また、このようなパートに
基づいて和音を検出することにより、和音検出の検出精
度を高めることを課題とする。
【0008】
【課題を解決するための手段】上記の課題を解決するた
めになした本発明の請求項1に係る演奏情報分析装置
は、複数の音高情報を含む演奏情報を入力する演奏情報
入力手段と、前記複数の音高情報の相対的な音程に基づ
いて前記演奏情報を複数のパートに分解するパート分解
手段と、を備えたことを特徴とする。
【0009】また、本発明の請求項2に係る演奏情報分
析装置は、複数の音高情報を含む演奏情報を入力する演
奏情報入力手段と、前記演奏情報を記憶する演奏情報記
憶手段と、前記演奏情報記憶手段に記憶された演奏情報
の時間的に隣接した前の演奏情報と現在の演奏情報との
関係に基づいて、現在の演奏情報を分析して複数のパー
トに分解するパート分解手段と、を備えたことを特徴と
する。
【0010】また、本発明の請求項3に係る演奏情報分
析装置は、複数の音高情報を含む演奏情報を入力する演
奏情報入力手段と、前記演奏情報についてのタイミング
の情報を入力するタイミング情報入力手段と、前記演奏
情報の前記タイミングの情報と前記音高情報とに基づい
て該演奏情報を複数のパートに分解するパート分解手段
と、を備えたことを特徴とする。
【0011】また、本発明の請求項4に係る和音検出装
置は、複数の音高情報を含む演奏情報を入力する演奏情
報入力手段と、前記複数の音高情報の相対的な音程に基
づいて前記演奏情報を複数のパートに分解するパート分
解手段と、前記パート分解手段で分解された所定のパー
トの演奏情報に基づいて和音を検出する和音検出手段
と、を備えたことを特徴とする。
【0012】また、本発明の請求項5に係る和音検出装
置は、複数の音高情報を含む演奏情報を入力する演奏情
報入力手段と、前記演奏情報を記憶する演奏情報記憶手
段と、前記演奏情報記憶手段に記憶された演奏情報の時
間的に隣接した前の演奏情報と現在の演奏情報との関係
に基づいて、現在の演奏情報を分析して複数のパートに
分解するパート分解手段と、前記パート分解手段で分解
された所定のパートの演奏情報に基づいて和音を検出す
る和音検出手段と、を備えたことを特徴とする。
【0013】また、本発明の請求項6に係る和音検出装
置は、複数の音高情報を含む演奏情報を入力する演奏情
報入力手段と、前記演奏情報についてのタイミングの情
報を入力するタイミング情報入力手段と、前記演奏情報
の前記タイミングの情報と前記音高情報とに基づいて該
演奏情報を複数のパートに分解するパート分解手段と、
前記パート分解手段で分解された所定のパートの演奏情
報に基づいて和音を検出する和音検出手段と、を備えた
ことを特徴とする。
【0014】
【作用】本発明の請求項1に係る演奏情報分析装置にお
いて、パート分解手段は演奏情報における音高情報の相
対的な音程に基づいて演奏情報を複数のパートに分解す
るので、分解されるパートの音域は演奏情報に適応した
ものとなる。
【0015】また、本発明の請求項2に係る演奏情報分
析装置において、パート分解手段は演奏情報記憶手段に
記憶された演奏情報の時間的に隣接した前の演奏情報と
現在の演奏情報との関係に基づいて演奏情報を分析する
ので、パートに分解する条件が演奏の流れに沿ったもの
となる。なお、演奏情報記憶手段としては、演奏情報の
全てを記憶するものでもよく、また、前の演奏情報を逐
次一時的に記憶しておくものでもよい。
【0016】また、本発明の請求項3に係る演奏情報分
析装置において、演奏情報入力手段は複数の音高情報を
含む演奏情報を入力し、タイミング情報入力手段は演奏
情報についてのタイミングの情報を入力し、パート分解
手段は演奏情報のタイミングの情報と音高情報とに基づ
いて演奏情報を複数のパートに分解するので、パートに
分解する条件が演奏のタイミングに応じた強拍や弱拍あ
るいは小節頭などの特徴に応じたものとなる。
【0017】また、本発明の請求項4に係る和音検出装
置において、パート分解手段は、演奏情報における音高
情報の相対的な音程に基づいて演奏情報を複数のパート
に分解し、和音検出手段はこの分解された所定のパート
の演奏情報に基づいて和音を検出するするので、随時演
奏情報に適応した音域で分解されたパートに基づいて和
音が検出される。
【0018】また、本発明の請求項5に係る和音検出装
置において、パート分解手段は、演奏情報記憶手段に記
憶された演奏情報の時間的に隣接した前の演奏情報と現
在の演奏情報との関係に基づいて演奏情報を分析し、和
音検出手段はこの分解された所定のパートの演奏情報に
基づいて和音を検出するので、演奏の流れに沿った条件
で分解されたパートに基づいて和音が検出される。
【0019】また、本発明の請求項6に係る和音検出装
置において、演奏情報入力手段は複数の音高情報を含む
演奏情報を入力し、タイミング情報入力手段は演奏情報
についてのタイミングの情報を入力し、パート分解手段
は演奏情報のタイミングの情報と音高情報とに基づいて
演奏情報を複数のパートに分解し、和音検出手段はこの
分解された所定のパートの演奏情報に基づいて和音を検
出するするので、演奏のタイミングに応じた強拍や弱拍
あるいは小節頭などの特徴に応じた条件で分解されたパ
ートに基づいて和音が検出される。
【0020】なお、上記の各演奏情報入力手段は、鍵盤
などの演奏用操作子等によって演奏情報をリアルタイム
で入力するものでもよく、また、記憶装置から演奏情報
を入力するもの等でもよい。また、前記和音検出手段で
検出された和音を自動伴奏装置に出力して、鍵盤等から
の演奏情報を演奏しながら検出した和音で自動伴奏を行
うような電子楽器を構成することもできる。
【0021】
【実施例】図1は本発明実施例の演奏情報分析装置およ
び和音検出装置を備えた電子楽器のブロック図であり、
CPU1はプログラムメモリ2に格納されている制御プ
ログラムに基づいてワーキングメモリ3のワーキングエ
リアを使用して電子楽器全体の制御を行い、鍵盤4の操
作による鍵盤演奏と自動伴奏装置5による自動伴奏を行
う。
【0022】CPU1は鍵盤4のキーイベントを検出
し、キーイベントのあった鍵に対応するキーコードをキ
ーオン信号またはキーオフ信号とともに取り込み、音源
6にキーコードとノートオンまたはノートオフを出力し
て鍵盤演奏に対応する発音処理と消音処理を行う。自動
伴奏装置5は、曲のスタイルに応じた複数の伴奏パター
ンを記憶しており、CPU1からのスタート信号により
現在選択されているスタイルの伴奏パターンで自動伴奏
を行い、CPU1からのストップ信号により自動伴奏を
停止する。
【0023】また、自動伴奏装置5は、鍵盤演奏の進行
に従ってCPU1から和音が指定されると、指定された
和音とベース音に応じた音高となる伴奏音の楽音信号を
発生する。そして、音源6からの楽音信号と自動伴奏装
置5からの楽音信号はミキサ7で合成されてサウンドシ
ステム8に出力され、サウンドシステム8はこの楽音信
号のD/A変換、増幅等を行って楽音を発生する。
【0024】操作スイッチ9は、自動伴奏のスタート/
ストップを指定するスタート/ストップスイッチ、自動
伴奏装置5のスタイル選択やテンポ設定を行うスイッ
チ、音源6の音色設定を行うスイッチなどの各種のスイ
ッチを備えており、自動伴奏装置5は操作スイッチ9で
設定されたスタイルおよびテンポに応じた自動伴奏を行
う。また、CPU1は操作スイッチ9で設定されたテン
ポをタイマ10に設定し、タイマ10は設定されたテン
ポに応じて8分音符1個毎にCPU1に割込み信号を発
生する。
【0025】そして、CPU1はこの割込み信号によっ
て割込み処理を行い、自動伴奏をスタートした時から8
分調毎にテンポをカウントすることにより小節中の強拍
または弱拍のタイミングや小節線のタイミングを検出
し、鍵盤4の押鍵によって発生しているキーコードにつ
いて声部解析を行う。そしてこの解析結果に基づいて和
音検出を行い、検出した和音情報を自動伴奏装置5に出
力する。
【0026】和音テーブル11は、例えば図14に示し
たように、C調の和音について和音種類と和音構成音と
を対応付けたテーブルであり、和音構成音は、12の音
名に対応する12ビットのデータにより和音構成音に対
応するビットを“1”それ以外のビットを“0”として
記憶されている。そして、和音検出時には、12ビット
のレジスタにおいて和音検出に用いるキーコードの音名
に対応するビットに“1”を立て、このレジスタを循環
シフトしながら和音テーブル11の12ビットデータと
のマッチングを行うことにより和音を検出する。すなわ
ち、マッチングした和音テーブル11のデータにより和
音の種類のデータが得られ、そのときのシフト回数によ
り和音の根音のデータが得られる。
【0027】ここで、この実施例の声部解析では、鍵盤
4における押鍵音を、上声部で旋律をとるメロディ声
部、メロディに和声を加えるメロディコード声部、下声
部でベースをとるベース声部、ベースに和声づけするベ
ースコード声部の4つのパートに分解する。また、押鍵
数に応じて、1音声部解析、2音声部解析、3音声部解
析および4音以上声部解析を行う。
【0028】この声部解析で4つのパートに分解する判
断条件は、音の高さ、現在のタイミングが小節の頭であ
るか否か、現在のタイミングが強拍音か弱拍音か、前の
ベース声部音との音程、前のメロディコード声部音との
音程など、複数の条件の組合せであり、これらの条件に
応じて現在のキーコードがどのパートに属するかを決定
する。したがって、この4つのパートは、その音域が固
定の音域ではなく演奏情報に応じて変化するものであ
る。
【0029】そして、このように演奏の進行に応じて声
部解析でキーコードを各パートに割り当てながら、ベー
スコード声部にキーコードがあればこのベースコード声
部に基づく和音検出を行い、このベースコード声部にキ
ーコードがなければメロディコード声部のキーコードに
基づく和音検出を行う。
【0030】なお、この実施例では、自動伴奏装置5に
は声部解析で得られたベース声部のベース音と検出和音
が入力され、自動伴奏装置5は入力されたベース音が入
力される和音の根音と異なるときはこのベース音を優先
的に発音する。すなわち、ベース音が和音の本来の根音
と異なるような所謂分数和音についても、そのベース音
を発音できるように構成されている。
【0031】この実施例では、キーコードを前記4つの
パートに分解するにあたって、各パートとキーコードの
関係を次式(1)のリスト構造で表すようにしている。 [[a1].[b1.b2.…].[c1.c2.…].[d1.d2.…]] …(1) ここで、“[”,“]”はリストの各要素を括る記号、
“.”はリストの各要素を区切る記号、a1はベース声部
のキーコード(ベース声部は1音)、b1,b2等はベース
コード声部のキーコード、c1,c2等はメロディコード声
部のキーコード、d1,d2等はメロディ声部のキーコード
であり、上式(1)全体は各パート毎のキーコードのリ
ストをそれぞれ要素とする全体のリスト(以後、全解析
リストという)を示している。
【0032】図2は制御プログラムのメインルーチンの
フローチャート、図3〜図13はサブルーチンおよび割
込み処理ルーチンのフローチャートであり、各フローチ
ャートに基づいて実施例の動作を説明する。なお、以下
の説明では、鍵盤から入力されるキーコードを「入力
音」、各パートのリストの要素となったキーコードを
「検出音」と、必要に応じて適宜呼び代えて説明する。
また、フローチャートにおいて、「ベース声部」を「B
声部」、「ベースコード声部」を「BC声部」、「メロ
ディコード声部」を「MC声部」および「メロディ声
部」を「M声部」と表記する。さらに、以下の説明およ
び各フローチャートにおいて各レジスタ、フラグおよび
リスト等を下記のラベルで表記し、それらの内容は特に
断らない限り同一のラベルで表す。
【0033】BCLST:現在のベースコード声部のリ
スト BSKC:自動伴奏装置に出力する検出されたベース声
部の検出音 butlLis:最下音を除いた押鍵音のリスト butlUI5:押鍵音の下方から5度以内の間隔をとる最下
音以外の音のリスト CHRD:自動伴奏装置に出力する検出和音の情報 LIST:全解析リスト Nt :1音声部解析時の解析の対象となる入力音 Ntl:押鍵下音(または最下音) Nth:押鍵上音 Ntm:押鍵中音 Ntm2:押鍵中音
【0034】Nt Lis:押鍵音のリスト PBCtop :前回のベースコード声部の最上音の検出音 PBCLST:前回のベースコード声部の検出音のリス
ト PBS:前回のベース声部の検出音 PMbtm :前回のメロディ声部の最下音の検出音 PMCtop :前回のメロディコード声部の最上音の検出
音 RUN:自動伴奏のスタート/ストップを示すフラグ rLis:押鍵音から特定音を除いた音のリスト ShrLis:全解析リストのベースコード声部またはメロ
ディコード声部の同音を丸めたリスト UndInt5:押鍵音の下方から5度以内の間隔をとる音
のリスト vl:1音声部解析直後の全解析リスト
【0035】電源の投入によって図2のメインルーチン
の処理を開始すると、ステップM1で各フラグおよびレ
ジスタのリセット等の初期設定を行い、ステップM2で
鍵盤4におけるキーイベントの有無を判定し、キーイベ
ントが無ければステップM6に進み、キーイベントが有
ればステップM3でキーオンイベントであるか否かを判
定する。キーオンイベントであればステップM4で発音
処理を行ってステップM6に進み、キーオンイベントで
なければステップM5で消音処理を行ってステップM6
に進む。
【0036】ステップM6では、操作スイッチ9におけ
るスタート/ストップスイッチの操作イベントの有無を
判定し、イベントが無ければステップM2に戻り、イベ
ントが有ればステップM7でフラグRUNを反転し、ス
テップM8でRUN=1であるか否かを判定する。そし
て、RUN=1であればステップM9で自動伴奏装置5
にスタート信号を出力してステップM2に戻り、RUN
=0であればステップM10で自動伴奏装置5にストッ
プ信号を出力してステップM2に戻る。
【0037】以上の処理により、鍵盤演奏における発音
と消音が行われるとともに、操作スイッチ9におけるス
タート/ストップスイッチの操作による自動伴奏の開始
と停止が行われる。
【0038】図3の割込み処理はタイマ10からの割込
み信号により8分音符毎に起動され、先ず、ステップi
1で、「RUN=1でかつ押鍵数N>0」という条件を
満足するか否かを判定し、条件を満足しなければそのま
まメインルーチンに復帰し、条件を満足していれば、自
動伴奏中で押鍵音があるので、ステップi2で図4以降
の声部解析を行う。
【0039】この声部解析が終了すると、ステップi3
でベースコード声部の検出音の有無を判定し、ベースコ
ード声部に検出音があればステップi4で図12のベー
スコードを中心とした和音検出処理を行ってステップi
7に進む。また、ベースコード声部に検出音がなければ
ステップi5でメロディコード声部の検出音の有無を判
定し、メロディコード声部に検出音がなければそのまま
メインルーチンに復帰し、メロディコード声部に検出音
があればステップi6で図13のメロディコードを中心
とした和音検出処理を行ってステップi7に進む。
【0040】以上の処理により、声部解析で得られた全
解析リストLISTに基づいてベースコード声部とメロ
ディコード声部の検出音が和音検出に用いられ、ベース
コード声部で優先的に和音検出を行って、ベースコード
声部に検出音が無ければメロディコード声部で和音検出
が行われる。
【0041】ステップi7では、和音検出が成功したか
否かを判定し、和音検出が失敗であればそのままメイン
ルーチンに復帰し、和音検出に成功していればステップ
i8でLISTのベース声部の要素(1個の検出音)を
レジスタBSKCに格納するとともに、ステップi9で
検出された和音の情報をレジスタCHRDに格納し、ス
テップi10で自動伴奏装置5にベース音BSKCと和
音CHRDを出力してメインルーチンに復帰する。
【0042】図4の声部解析では、ステップA1,A
4,A6で押鍵音数をそれぞれ判定して押鍵音数が1音
の場合、2音の場合、3音の場合および4音以上の場合
の処理を行い、1音の場合はステップA2で押鍵音のキ
ーコード(入力音)をNt に格納してステップA3で図
5の1音声部解析を行い、2音の場合はステップA5で
図9の2音声部解析を行い、3音の場合はステップA7
で図10の3音声部解析を行い、4音以上の場合はステ
ップA8で図11の4音以上声部解析を行い、それぞれ
声部解析が終了すると元のルーチンに復帰する。
【0043】図5の1音声部解析では、ステップS11
で前回のベース音のキーコード(現在のLISTのベー
ス声部のキーコード)をPBSに格納する。なお、初期
状態あるいは今までにベース音が検出されていないとき
はキーコード無効のデータがPBSに格納され、前回の
ベース音が無しとなる。
【0044】次に、ステップS12で前回のベース音P
BSの有無を判定し、前回のベース音PBSが無ければ
ステップS13でNt ≦G3コード(キーコード)であ
るか否か、すなわち、入力音Nt が「一点ト(ソ)」ま
たはそれより下の音であるか否かを判定し、Nt ≦G3
コードであればNt をベース音とみなしてステップS1
04に進み、Nt ≦G3コードでなければNt をメロデ
ィ音とみなしてステップS105に進む。
【0045】ステップS12でPBCが有れば、ステッ
プS14で現在のタイミングが小節頭であるか否かを判
定し、小節頭であればステップS18以降の処理を行
い、小節頭でなければステップS15で現在のタイミン
グが強拍か否かを判定して、強拍であればステップS1
6で図6の1音解析強拍の処理を行って元のルーチンに
復帰し、強拍でなければステップS17で図7の1音解
析弱拍の処理を行って元のルーチンに復帰する。
【0046】ステップS18以降は現在のタイミングが
小節頭であった場合の処理であり、先ずステップS18
で、「Nt ≦G3コードかつNt <PBS+12」の条
件を満足するか否かを判定し、条件を満足すればステッ
プS104に進み、条件を満足しなければステップS1
9で「Nt >G3コードかつNt <PBS+7」の条件
を満足するか否かを判定する。ステップS19で条件を
満足すればステップS104に進み、条件を満足しなけ
ればステップS101で前回のメロディ声部に検出音が
有るか否かを判定し、無ければステップS104に進
み、有ればステップS102で前回のメロディ声部の検
出音の最下音をPMbtm に格納してステップS103に
進む。
【0047】ステップS103では「Nt <PMbtm −
12」の条件、すなわち、「入力音Nt が前回メロディ
声部の最下音(PMbtm )より1オクターブ以上下の音
である」という条件を満足するか否かを判定し、条件を
満足すればステップS104に進み、条件を満足しなけ
ればステップS105に進む。
【0048】ステップS104は全解析リストLIST
のベース声部の要素を入力音Nt だけにして他のパート
のリストを空にする処理であり、ステップS105は全
解析リストLISTのメロディ声部の要素を入力音Nt
だけにして他のパートのリストを空にする処理である。
このステップS104またはステップS105の処理が
終了すると元のルーチンに復帰する。
【0049】以上のように、1音声部解析では、前回ベ
ース音がない場合はG3コードを基準にしてベース声部
かメロディ声部に割り当て、前回ベース音がある場合は
現在のタイミングが小節頭であるか否かによって異なる
条件で解析を行う。小節頭の場合はG3コードと前回ベ
ース音PBSまたは前回メロディ声部最低音PMbtmに
応じた条件で解析を行い、例えば図15のようにベース
声部またはメロディ声部に割り当てられる。また、前回
ベース音があり、現在のタイミングが小節頭でない場合
は、現在のタイミングが強拍のタイミングか弱拍のタイ
ミングかに応じて解析を行う。
【0050】図6の1音解析強拍の処理では、ステップ
a1で前回のメロディ声部の最低音をPMbtm に格納
し、前回のベースコード声部の最高音をPBCtop に格
納し、さらに前回のベースコード声部のリストをPBC
LISTに格納し、ステップa2に進む。ステップa2
では、LIST=[[PBS].[].[].[]]で
あるか否か、すなわち、現在までに検出されているキー
コード(LISTの要素)が前回のベース音PBSだけ
であるか否かを判定し、前回のベース音だけであればス
テップa3以降の処理を行い、その他の音が検出されて
いればステップa7以降の処理を行う。
【0051】図16は1音解析強拍の処理での入力音N
tに応じたパートの割り当てを示す図であり、ステップ
a3、ステップa4およびステップa5では、現在の検
出音Nt が前回のベース音PBSに対してどのような音
程関係にあるかを判定し、「PBS−2≦Nt ≦PBS
+2」であればステップa19でNt をベース声部の要
素としてベースコード声部、メロディコード声部、メロ
ディ声部を空リストにし、「PBS+2<Nt ≦PBS
+12」であればステップa15でPBSをベース声部
の要素とするとともにNt をベースコード声部の要素と
してメロディコード声部、メロディ声部を空リストにす
る。
【0052】また、「Nt >PBS+12」であればス
テップa14でPBSをベース声部の要素とするととも
にNt をメロディ声部の要素としてベースコード声部、
メロディコード声部を空リストにする。さらに、これら
の範囲でなければ、すなわち、「Nt <PBS−2」で
あればステップa6でNt をベース声部の要素とすると
ともにPBSをベースコード声部の要素とし、メロディ
コード声部およびメロディ声部を空リストにする。
【0053】ステップa2において、LISTに現在ま
でに検出されている音が前回のベース音PBSだけでな
かった場合は、ステップa7、ステップa8およびステ
ップa9で現在の検出音Nt が前回のベース音PBSに
対してどのような音程関係にあるかを判定する。すなわ
ち、「PBS=Nt 」であればそのまま元のルーチンに
復帰し、「PBS−2≦Nt <PBS」であればステッ
プa19でNt をベース声部の要素としてベースコード
声部、メロディコード声部、メロディ声部を空リストに
する。また、「Nt <PBS−2」であればステップa
10で前回のベースコード声部のリストにPBSを加入
してBCLSTに格納し、ステップa11でNt をベー
ス声部の要素とするとともにBCLSTをベースコード
声部のリストとしてメロディコード声部およびメロディ
声部を空リストにする。さらに、上記範囲でなければ、
すなわち、「Nt >PBS」であればステップa12以
降の処理を行う。
【0054】ステップa12ではLISTのベースコー
ド声部が空であるか否かを判定し、空であれば、ステッ
プa13で「PMbtm が有り、かつNt ≧PMbtm −
7」の条件を満足するか否かを判定し、条件を満足すれ
ばステップa14でPBSをベース声部の要素、Nt を
メロディ声部の要素とし、ベースコード声部とメロディ
声部を空リストにする。また、条件を満足しなければス
テップa15でPBSをベース声部の要素、Nt をベー
スコード声部の要素とし、メロディコード声部とメロデ
ィ声部を空リストにする。
【0055】一方、ステップa12でLISTのベース
コード声部が空でなければ、ステップa16で「Nt ≦
PBCtop 」であるか否かを判定し、「Nt ≦PBCto
p 」でなければステップa17で図8のアルペジオ拡張
の処理を行い、「Nt ≦PBCtop 」であれば、ステッ
プa18でLISTのベースコード声部の中にNt と一
致するものがあるか否かを判定し、一致するものがあれ
ばそのまま元のルーチンに復帰し、一致するものがなけ
ればステップa19でNt をベース声部の要素としてベ
ースコード声部、メロディコード声部、メロディ声部を
空リストにし、元のルーチンに復帰する。
【0056】図7の1音解析弱拍の処理では、ステップ
b1で前回のメロディ声部の最低音のキーコードをPM
btm に格納し、前回のベースコード声部の最高音のキー
コードをPBCtop に格納し、さらに前回のベースコー
ド声部のリストをPBCLISTに格納し、ステップb
2に進む。ステップb2では、現在までに検出されてい
るキーコードが前回のベース音PBSだけであるか否か
を判定し、前回のベース音だけであればステップb3以
降の処理を行い、その他の音が検出されていればステッ
プb7以降の処理を行う。
【0057】図17は1音解析強拍の処理での入力音N
tに応じたパートの割り当てを示す図であり、ステップ
b3、ステップb4およびステップb5では、入力音N
t と前回のベース音PBSとの音程関係を判定し、入力
音Nt の音高に応じて全解析リストを更新して元のルー
チンに復帰する。すなわち、「Nt =PBS」であれば
そのまま復帰し、「PBS<Nt ≦PBS+16」であ
ればステップb14でPBSをベース声部の要素、Nt
をベースコード声部の要素とし、メロディコード声部と
メロディ声部を空リストにする。また、「Nt >PBS
+16」であればステップb13でPBSをベース声部
の要素、Nt をメロディ声部の要素とし、ベースコード
声部とメロディコード声部を空リストにする。さらに、
これらの範囲外(Nt <PBS)であればステップb6
でNt をベース声部の要素、PBSをベースコード声部
の要素とし、メロディコード声部とメロディ声部を空リ
ストにする。
【0058】また、ステップb2において、現在までに
検出されている音が前回のベース音PBSだけでなかっ
た場合は、ステップb7およびステップb8で入力音N
t と前回のベース音PBSとの音程関係を判定し、入力
音Nt の音高に応じて全解析リストを更新して元のルー
チンに復帰する。すなわち、「Nt =PBS」であれば
そのまま復帰し、「Nt <PBS」であればステップb
9で前回のベースコード声部のリストにPBSを加入し
てBCLSTに格納し、ステップb10でNtをベース
声部の要素、BCLSTをベースコード声部のリストと
し、メロディコード声部とメロディ声部を空リストにす
る。さらに、上記範囲外(Nt >PBS)であればステ
ップb11以降の処理を行う。
【0059】ステップb11ではLISTのベースコー
ド声部が空であるか否かを判定し、空であれば、ステッ
プb12で「PMbtm が有り、かつNt ≧PMbtm −
7」の条件を満足するか否かを判定し、入力音Nt の音
高に応じて全解析リストを更新して元のルーチンに復帰
する。すなわち、条件を満足すればステップb13でP
BSをベース声部の要素、Nt をメロディ声部の要素と
し、ベースコード声部とメロディコード声部を空リスト
にする。また、条件を満足しなければステップb14で
PBSをベース声部の要素、Nt をベースコード声部の
要素とし、メロディコード声部とメロディ声部を空リス
トにする。
【0060】一方、ステップb11でLISTのベース
コード声部が空でなければ、ステップb15で「Nt ≦
PBCtop 」であるか否かを判定し、「Nt ≦PBCto
p 」でなければステップb16で図8のアルペジオ拡張
の処理を行い、「Nt ≦PBCtop 」であれば、ステッ
プb17でLISTのベースコード声部の中にNt と一
致するものがあるか否かを判定する。このステップS1
7の判定で一致するものがあればそのまま元のルーチン
に復帰し、一致するものがなければステップb18で前
回のベースコード声部のリストにNt を加入してBCL
STに格納し、ステップb19でPBSをベース声部の
要素、BCLSTをベースコード声部のリストとし、メ
ロディコード声部とメロディ声部を空リストにして元の
ルーチンに復帰する。
【0061】以上の1音解析強拍と1音解析弱拍の処理
では、入力音Ntを割り当てる条件(音域)が異なって
おり、例えば、前回までベースのみ検出の場合には、図
17に示したように弱拍の処理ではNtがPBS以下の
ときだけベース声部とされるのに対して、図16に示し
たように強拍の処理ではNtはPBSの1音上(PBS
+2)までがベース声部とされる。
【0062】また、前回までベースのみ検出ではなくて
LISTのベースコード声部が空でない場合、PBS<
Nt≦PBCtop のとき、弱拍の処理ではNtはベース
コード声部に加えられるのに対して、強拍の処理ではベ
ース声部とされる。このように、検出音Ntが前回のベ
ース音PBSの近傍であるとき、強拍の場合は弱拍の場
合よりもベース音となる場合が多く、強拍でベース弱拍
でベースコードという楽曲の傾向に応じた処理となって
いる。
【0063】図8のアルペジオ拡張の処理は入力音Nt
が前回のベースコード声部の最高音PBCtop より高い
場合の処理であり、先ず、ステップc1で前回のメロデ
ィコード声部の最高音のキーコードをPMCtop に格納
する。次に、ステップc2、ステップc3で入力音Nt
と前回のベースコード声部の最高音PBCtop との音程
関係を判定し、入力音Nt の音高に応じて全解析リスト
を更新して元のルーチンに復帰する。
【0064】図18はアルペジオ拡張の処理での入力音
Ntに応じたパートの割り当てを示す図であり、ステッ
プc2で「PBCtop <Nt ≦PBCtop +9」でれ
ば、ステップc7で前回のベースコード声部のリストP
BCLSTにNt を要素として加入し、そのリストをB
CLSTに格納してステップc8でPBSをベース声部
の要素、BCLSTをベースコード声部のリストとし、
メロディコード声部とメロディ声部を空リストにする。
また、ステップc3で「PBCtop +9<Nt ≦PBC
top +16」でなければ、ステップc10でPBSをベ
ース声部の要素、前回のベースコード声部音のリストP
BCLSTをそのままベースコード声部のリスト、Nt
をメロディ声部の要素とし、メロディコード声部を空リ
ストにする。
【0065】ステップc3で「PBCtop +9<Nt ≦
PBCtop +16」であれば、ステップc4で前回のメ
ロディ声部のリストが空であるか否かを判定し、空であ
れば前記ステップc7以降の処理を行い、空でなければ
ステップc5で「Nt ≦PMCtop +9」であるか否か
を判定する。「Nt ≦PMCtop +9」であれば、ステ
ップc6でPBSをベース声部の要素、前回のベースコ
ード声部音のリストPBCLSTをそのままベースコー
ド声部のリスト、Nt をメロディコード声部の要素と
し、メロディ声部を空リストにして、元のルーチンに復
帰する。一方、ステップc5で「Nt ≦PMCtop +
9」でなければ、ステップc9で「Nt <PMbtm −
7」であるか否かを判定し、「Nt <PMbtm −7」で
あればステップc7以降の処理を行い、「Nt <PMbt
m −7」でなければステップc10の処理を行う。
【0066】このアルペジオ拡張の処理では、例えば図
17に示したように、前回のベースコード声部の最高音
PBCtop より高いキーコードが、PBCtop +9,P
MCtop +9,PMbtm −7,PBCtop +16との音
程関係に応じて、ベースコード声部、メロディコード声
部またはメロディ声部に割り当てられる。
【0067】以上の1音解析強拍、1音解析弱拍および
アルペジオ拡張の各処理を含む1音声部解析の処理は、
2音声部解析、3音声部解析および4音以上声部解析に
も共通な基本的な処理であり、次に説明するように、2
音声部解析、3音声部解析および4音以上声部解析の各
処理で、それぞれ複数ある入力音の最下音について先ず
1音声部解析を行う。
【0068】なお、図9〜図11に示した2音声部解
析、3音声部解析および4音以上声部解析の各処理は、
小節頭であるか否か、各押鍵音の音程関係および1音声
部解析の結果である全解析リストLISTの内容に応じ
て全解析リストを更新する処理であり、簡単のために要
部以外はステップを追った説明を省略する。また、図9
〜図11のフローチャートにおいて、六角形の判定ブロ
ックで「vl=[…]」と表記したものは左辺のリスト
vlの要素が右辺のリストの要素と等しいか否かという
判定を表している。また、四角のブロックでリストの内
容のみを表記したものは全解析リストをその表記した内
容に更新すること(LIST←[…])を示している。
【0069】図9の2音声部解析の処理では、先ず、ス
テップS21で前回のベース音(ベース声部)のキーコ
ードをPBSに格納し、押鍵2音(入力音)の下音のキ
ーコードをNtlに格納し、さらに、押鍵2音の上音のキ
ーコードをNthに格納してステップS22に進む。次
に、ステップS22で下音NtlをNt にセットし、この
Nt についてステップS23で前述した1音声部解析の
処理を行い、ステップS24でこの1音声部解析の結果
となる全解析リストLISTをリストvlに格納してス
テップS25に進む。
【0070】ステップS25では現在のタイミングが小
節頭であるか否かを判定し、小節頭であればステップS
26に進み、小節頭でなければステップS27に進む。
そして、ステップS26またはステップS27でNtlと
Nthの音程差が1オクターブを越えるか否かを判定し、
小節頭で1オクターブ以内の場合、小節頭で1オクター
ブを越える場合、小節頭ではなく1オクターブ以内の場
合、小節頭ではなく1オクターブを越える場合につい
て、それぞれフローチャートのようにリストvlの状態
に応じてNtlとNthをパートに割り当て、全解析リスト
を更新する。
【0071】小節頭でNtlとNthの音程差が1オクター
ブ以内の場合は、ステップS201以降の処理により、
メロディコード声部またはメロディ声部についてはNtl
とNthを対にして割り当て、ベース声部およびベースコ
ード声部についてはNtlをベース声部、Nthをベースコ
ード声部として隣接したパートに割り当てる。
【0072】小節頭でNtlとNthの音程差が1オクター
ブを越える場合は、ステップS202以降の処理によ
り、メロディコード声部とメロディ声部についてはNtl
をメロディコード声部、Nthをメロディ声部に割り当
て、ベース声部とメロディ声部についてはNtlをベース
声部、Nthをメロディ声部となるように離れたパートに
割り当てる。
【0073】小節頭でなくてNtlとNthの音程差が1オ
クターブ以内の場合は、ステップS203以降の処理に
より、ベース声部がNtlで他のパートが空のときはNtl
をベース声部、Nthをベースコード声部に割り当て、ベ
ース声部がNtlでないか他のパートが空でないときはP
BSをベース声部にし、NtlとNthを対にしてベースコ
ード声部またはメロディコード声部またはメロディ声部
に割り当てる。
【0074】小節頭でなくてNtlとNthの音程差が1オ
クターブを越える場合は、ステップS204以降の処理
により、ベース声部がNtlで他のパートが空のときはN
tlをベース声部、Nthをメロディ声部に割り当て、ベー
ス声部がNtlでないか他のパートが空でないときはPB
Sをベース声部、Nthをメロディ声部にし、Ntlをベー
スコード声部またはメロディコード声部に割り当てる。
【0075】図10の3音声部解析の処理では、先ず、
ステップS31で前回のベース音のキーコードをPBS
に、押鍵3音(入力音)の下音のキーコードをNtlに、
中音のキーコードをNtmに、および、上音のキーコード
をNthにそれぞれ格納する。次に、ステップS32で下
音NtlをNt にセットし、このNt についてステップS
33で前述した1音声部解析の処理を行い、ステップS
34でこの1音声部解析の結果となる全解析リストLI
STをリストvlに格納してステップS35に進む。
【0076】ステップS35では小節頭であるか否かを
判定して、小節頭の場合とそれ以外の場合について、ス
テップS36およびステップS37以降の処理で、押鍵
3音の音程関係とvl=[[Nt
l].[].[].[]]であるか否かに基づいてNt
l、NtmおよびNthをパートに割り当てて全解析リスト
を更新する。
【0077】すなわち、小節頭で上音と下音が中音から
共に5度以内のとき、vl=[[Ntl].[].[].
[]]であればNtlをベース声部、NtmとNthをベース
コード声部にし、vl=[[Nt
l].[].[].[]]でなければNtl、Ntmおよび
Nthの3音をベースコード声部にする。また、小節頭で
なくて上音と下音が中音から共に5度以内のとき、vl
=[[Ntl].[].[].[]]であればNtlをベー
ス声部、NtmとNthをベースコード声部にし、vl=
[[Ntl].[].[].[]]でなければPBSをベ
ース声部、Ntl、NtmおよびNthの3音をベースコード
声部にする。このように、小節頭の場合には和音が変化
し易いのでベース声部にPBSを用いず、小節頭でない
場合には和音が継続され易いのでベース声部にPBSを
用いる場合がある。
【0078】また、フローチャートから判るように、上
音と下音が中音から共には5度以内でない場合、小節頭
のときはNtl、NtmおよびNthを低音側とする傾向で割
り当て、小節頭でないときはNtl、NtmおよびNthを高
音側とする傾向で割り当てる。また、このように上音と
下音が中音から共には5度以内でない場合にも、小節頭
の場合にはベース声部にPBSを用いずにNtlをベース
声部となるような傾向で割り当て、小節頭でない場合に
はPBSがベース声部となるような傾向で割り当てる。
【0079】なお、フローチャートにおいて、「上2音
8度より音程大」は「NtmとNth間の音程が8度より大
きい」ということを示し、「下2音8度以内」は「Ntl
とNtm間の音程が8度以内である」ということを示して
いる。また、「上2音8度以内」は「NtmとNth間の音
程が8度以内である」ということを示し、「5度」の場
合も同様である。
【0080】図11の4音以上声部解析の処理では、先
ず、ステップS41で前回のベース音のキーコードをP
BSに、押鍵音の最下音のキーコードをNtlに、押鍵音
のリストをNTLisに、最下音を除いた押鍵音のリストを
but1Lis にそれぞれ格納する。次に、ステップS42で
最下音NtlをNt にセットし、このNt についてステッ
プS43で1音声部解析の処理を行い、ステップS44
でこの1音声部解析の結果となる全解析リストLIST
をリストvlに格納してステップS45に進む。
【0081】ステップS45では最下音とその次に低い
音(下2音)の音程差が8度より大きいか否かを判定
し、大きければステップS46の判定でvl=[[Nt
l].[].[].[]]であればNtlをベース声部、
リストbut1Lis をベースコード声部にし、vl=[[N
tl].[].[].[]]でなければPBSをベース声
部、押鍵音リストNTLisをベースコード声部にする。ま
た、下2音の音程差が8度以下であれば、ステップS4
7でこの下2音の音程差が5度以内であるか否かを判定
し、5度以内であればステップS48以降の処理を行
い、5度以内でなければステップS49以降の処理を行
う。
【0082】ステップS48では、押鍵音リストNTLis
の下方の音から音程差が順に5度以内の間隔をとる音の
リストをとってリストUndInt5 に格納し、ステップS4
01で押鍵音リストNTLisの要素からリストUndInt5 の
要素を取り除いたリストを作成してリストrLisに格納し
てステップS402に進む。
【0083】そして、ステップS402の判定でvl=
[[Ntl].[].[].[]]でなければPBSをベ
ース声部、リストUndInt5 をベースコード声部、リスト
rLisをメロディコード声部にする。また、vl=[[N
tl].[].[].[]]であればステップS403で
リストUndInt5 の要素からNtlを取り除いたリストを作
成してリストbut1UI5 に格納し、Ntlをベース声部、リ
ストbut1UI5 をベースコード声部、リストrLisをメロデ
ィコード声部にする。
【0084】一方、ステップS49では、押鍵音リスト
NTLisの下方の音から2番目の音をNtm に、下方の音か
ら3番目の音をNtmn2 にそれぞれ格納し、ステップS4
04でNtm とNtm2の間の音程が5度以内であるか否かを
判定して、5度以内であればステップS405に進み、
5度以内でなければステップS409に進む。そして、
ステップS405またはステップS409で現在のタイ
ミングが小節頭であるか否かを判定し、Ntm とNtm2の間
の音程が5度以内で小節頭の場合、5度以内で小節頭で
ない場合、5度を超えて小節頭の場合、5度を超えて小
節頭でない場合について押鍵音をパートに割り当て、全
解析リストを更新する。
【0085】5度以内で小節頭の場合は、Ntlをベース
声部、リストUndInt5 をベースコード声部、リストrLis
をメロディコード声部にする。また、5度以内で小節頭
でない場合は、ステップS406で、押鍵音リストNTL
isの下方の音から音程差が順に5度以内の間隔をとる音
のリストをとってリストUndInt5 に格納し、ステップS
407で押鍵音リストNTLisの要素からリストUndInt5
の要素を取り除いたリストを作成してリストrLisに格納
してステップS408に進む。
【0086】そして、ステップS408の判定でvl=
[[Ntl].[].[].[]]でなければPBSをベ
ース声部、Ntlをベースコード声部、リストUndInt5 を
メロディコード声部、リストrLisをメロディ声部にす
る。また、vl=[[Ntl].[].[].[]]であ
れば、Ntlをベース声部、リストUndInt5 をベースコー
ド声部、リストrLisをメロディコード声部にする。
【0087】5度を超えて小節頭の場合は、Ntlをベー
ス声部、Ntm をベースコード声部、メロディコード声
部、リストrLisをメロディコード声部にする。また、5
度を超えて小節頭でない場合は、ステップS410で押
鍵音リストNTLisの要素からNtlとリストUndInt5 の要
素を取り除いたリストを作成してリストrLisに格納し、
ステップS411の判定でvl=[[Nt
l].[].[].[]]でなければPBSをベース声
部、NtlとNtm をベースコード声部、リストrLisをメロ
ディコード声部にする。また、vl=[[Nt
l].[].[].[]]であれば、Ntlをベース声
部、Ntm をベースコード声部、リストrLisをメロディコ
ード声部にする。
【0088】以上の声部解析の処理により、8分長毎の
割込み処理の間に発生している押鍵音のキーコードが、
音の高さ、現在のタイミングが小節の頭であるか否か、
現在のタイミングが強拍音か弱拍音か、前のベース声部
音との音程、前のメロディコード声部音との音程など、
複数の判断条件に応じて4つのパートに分解され、全解
析リストLISTに各パートのキーコードが得られる。
そして、この全解析リストLISTに基づいて、次のよ
うに和音検出が行われる。
【0089】図12のベースコードを中心とした和音検
出処理では、先ず、ステップS51で、全解析リストL
ISTのベースコード声部の要素について同じ音となる
キーコードの重複を無くしたリストを作り、それをリス
トShrLisに格納し、ステップS52で、リストShrLisの
要素が3つ以上であるか否かを判定する。そして、3つ
以上であれば、ステップS53以降で和音検出を行い、
3つ以上でなければステップS56に進む。
【0090】ステップS53では、リストShrLisに含ま
れているキーコードに対応する12ビットレジスタCH
Dのビットを“1”に、他のビットを“0”にセット
し、ステップS54でCHDに基づいて和音テーブルを
検索して和音検出を行う。そしてステップS55で和音
検出が成功したか否かを判定し、成功していれば元のル
ーチンに復帰し、失敗であればステップS56に進む。
【0091】ステップS56では、全解析リストLIS
Tのベース声部の要素(一個)とベースコード声部の要
素を合わせたリストについて同じ音となるキーコードの
重複を無くしたリストを作り、それをリストShrLisに格
納し、ステップS57で、リストShrLisの要素が3つ以
上であるか否かを判定する。そして、3つ以上でなけれ
ばステップS502に進み、3つ以上であれば、ステッ
プS58およびステップS59で上記同様の和音検出を
行って、ステップS501で和音検出が成功したか否か
を判定し、成功していれば元のルーチンに復帰し、失敗
であればステップS502に進む。そして、ステップS
502で、全解析リストLISTのベース声部の要素
(一個)とベースコード声部の要素およびメロディコー
ド声部の要素を合わせたリストについて同じ音となるキ
ーコードの重複を無くしたリストを作り、それをリスト
ShrLisに格納し、元のルーチンに復帰する。
【0092】図13のメロディコードを中心とした和音
検出処理では、先ず、ステップS61で、全解析リスト
LISTのメロディコード声部の要素について同じ音と
なるキーコードの重複を無くしたリストを作り、それを
リストShrLisに格納し、ステップS62で、リストShrL
isの要素が3つ以上であるか否かを判定する。そして、
3つ以上でなければステップS66に進み、3つ以上で
あればステップS63およびステップS64で上記同様
の和音検出を行って、ステップS65で和音検出が成功
したか否かを判定し、成功していれば元のルーチンに復
帰し、失敗であればステップS66に進む。
【0093】ステップS66では、全解析リストLIS
Tのベース声部の要素とメロディコード声部の要素を合
わせたリストについて同じ音となるキーコードの重複を
無くしたリストを作り、それをリストShrLisに格納し、
ステップS67およびステップS68で上記同様の和音
検出を行って元のルーチンに復帰する。
【0094】以上のように、鍵盤演奏による押鍵音のキ
ーコードが、演奏に応じて音域が変化する4つのパート
に分解される。また、このように演奏に応じて分解した
パートに基づいて和音を検出するので、和音が検出し易
くなる。
【0095】なお、以上の実施例では、鍵盤から入力さ
れる押鍵音を演奏情報として声部解析を行うようにして
いるが、外部機器から入力される演奏情報、あるいは予
め記憶手段に記憶した演奏情報について、それぞれ同様
の声部解析を行うことができることはいうまでもない。
また、このような演奏情報に小節線の情報を記憶してお
くことによりタイミングを検出できることはいうまでも
ない。
【0096】また、上記の実施例では、割込み処理毎に
全解析リストを更新しながら和音を検出するようにして
いるが、各パートに分解して得られた全解析リストを逐
次記憶することにより、声部解析の結果を蓄積しておく
ことができることはいうまでもない。
【0097】さらに、上記の実施例では分解した所定の
パートから自動伴奏のための和音を検出するようにして
いるが、自動演奏の演奏情報等を記憶しておき、この演
奏情報をパートに分解して記憶しておき、鍵盤演奏時に
所望のパートを消音して自動演奏を行うなど、マイナス
ワン機能に適用してもよい。
【0098】
【発明の効果】以上説明したように本発明の請求項1に
係る演奏情報分析装置によれば、演奏情報における音高
情報の相対的な音程に基づいて演奏情報を複数のパート
に分解するようにしたので、分解されるパートの音域が
演奏情報に適応したものとなる。また、本発明の請求項
2に係る演奏情報分析装置によれば、演奏情報記憶手段
に記憶された演奏情報の時間的に隣接した前の演奏情報
と現在の演奏情報との関係に基づいて演奏情報を分析し
てパートに分解するようにしたので、パートに分解する
条件が演奏の流れに沿ったものとなる。さらに、本発明
の請求項3に係る演奏情報分析装置によれば、演奏され
るタイミングと音高情報とに基づいて演奏情報を複数の
パートに分解するようにしたので、パートに分解する条
件が演奏のタイミングに応じた強拍や弱拍あるいは小節
頭などの特徴に応じたものとなる。したがって、本発明
の請求項1〜3に係る演奏情報分析装置によれば、演奏
情報をその演奏情報に合った複数のパートに自動的に分
解することができる。
【0099】また、本発明の請求項4に係る和音検出装
置によれば、演奏情報における音高情報の相対的な音程
に基づいて演奏情報を複数のパートに分解し、この分解
された所定のパートの演奏情報に基づいて和音を検出す
るようにしたので、演奏情報に適応したパートに基づい
て和音を検出できる。また、本発明の請求項5に係る和
音検出装置によれば、演奏情報記憶手段に記憶された演
奏情報の時間的に隣接した前の演奏情報と現在の演奏情
報との関係に基づいて演奏情報を分析してパートに分解
し、この分解された所定のパートの演奏情報に基づいて
和音を検出するようにしたので、演奏の流れに沿った条
件で分解された、演奏情報に適応したパートに基づいて
和音を検出できる。さらに、本発明の請求項6に係る和
音検出装置によれば、演奏されるタイミングと音高情報
とに基づいて演奏情報を複数のパートに分解し、この分
解された所定のパートの演奏情報に基づいて和音を検出
するようにしたので、演奏の強拍や弱拍あるいは小節頭
などの特徴に応じた条件で分解された、演奏情報に適応
したパートに基づいて和音を検出できる。したがって、
本発明の請求項4〜5に係る和音検出装置によれば、和
音検出の検出精度を高めることができる。
【図面の簡単な説明】
【図1】本発明の実施例の演奏情報分析装置および和音
検出装置を備えた電子楽器のブロック図である。
【図2】実施例における制御プログラムのメインルーチ
ンのフローチャートである。
【図3】実施例における割込み処理のフローチャートで
ある。
【図4】実施例における声部解析のフローチャートであ
る。
【図5】実施例における1音声部解析のフローチャート
である。
【図6】実施例における1音解析強拍の処理のフローチ
ャートである。
【図7】実施例における1音解析弱拍の処理のフローチ
ャートである。
【図8】実施例におけるアルペジオ拡張の処理のフロー
チャートである。
【図9】実施例における2音声部解析の処理のフローチ
ャートである。
【図10】実施例における3音声部解析の処理のフロー
チャートである。
【図11】実施例における4音以上声部解析の処理のフ
ローチャートである。
【図12】実施例におけるベースコードを中心とした和
音検出処理のフローチャートである。
【図13】実施例におけるメロディコードを中心とした
和音検出処理のフローチャートである。
【図14】実施例における和音テーブルを説明する図で
ある。
【図15】実施例における1音声部解析での入力音のパ
ートへの割り当てを示す図である。
【図16】実施例における1音解析強拍での入力音のパ
ートへの割り当てを示す図である。
【図17】実施例における1音解析弱拍での入力音のパ
ートへの割り当てを示す図である。
【図18】実施例におけるアルペジオ拡張での入力音の
パートへの割り当てを示す図である。
【符号の説明】
1…CPU、4…鍵盤、5…自動伴奏装置、10…タイ
マ、11…和音テーブル。

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 複数の音高情報を含む演奏情報を入力す
    る演奏情報入力手段と、 前記複数の音高情報の相対的な音程に基づいて前記演奏
    情報を複数のパートに分解するパート分解手段と、を備
    えたことを特徴とする演奏情報分析装置。
  2. 【請求項2】 複数の音高情報を含む演奏情報を入力す
    る演奏情報入力手段と、 前記演奏情報を記憶する演奏情報記憶手段と、 前記演奏情報記憶手段に記憶された演奏情報の時間的に
    隣接した前の演奏情報と現在の演奏情報との関係に基づ
    いて、現在の演奏情報を分析して複数のパートに分解す
    るパート分解手段と、を備えたことを特徴とする演奏情
    報分析装置。
  3. 【請求項3】 複数の音高情報を含む演奏情報を入力す
    る演奏情報入力手段と、 前記演奏情報についてのタイミングの情報を入力するタ
    イミング情報入力手段と、 前記演奏情報の前記タイミングの情報と前記音高情報と
    に基づいて該演奏情報を複数のパートに分解するパート
    分解手段と、を備えたことを特徴とする演奏情報分析装
    置。
  4. 【請求項4】 複数の音高情報を含む演奏情報を入力す
    る演奏情報入力手段と、 前記複数の音高情報の相対的な音程に基づいて前記演奏
    情報を複数のパートに分解するパート分解手段と、 前記パート分解手段で分解された所定のパートの演奏情
    報に基づいて和音を検出する和音検出手段と、を備えた
    ことを特徴とする和音検出装置。
  5. 【請求項5】 複数の音高情報を含む演奏情報を入力す
    る演奏情報入力手段と、 前記演奏情報を記憶する演奏情報記憶手段と、 前記演奏情報記憶手段に記憶された演奏情報の時間的に
    隣接した前の演奏情報と現在の演奏情報との関係に基づ
    いて、現在の演奏情報を分析して複数のパートに分解す
    るパート分解手段と、 前記パート分解手段で分解された所定のパートの演奏情
    報に基づいて和音を検出する和音検出手段と、を備えた
    ことを特徴とする和音検出装置。
  6. 【請求項6】 複数の音高情報を含む演奏情報を入力す
    る演奏情報入力手段と、 前記演奏情報についてのタイミングの情報を入力するタ
    イミング情報入力手段と、 前記演奏情報の前記タイミングの情報と前記音高情報と
    に基づいて該演奏情報を複数のパートに分解するパート
    分解手段と、 前記パート分解手段で分解された所定のパートの演奏情
    報に基づいて和音を検出する和音検出手段と、を備えた
    ことを特徴とする和音検出装置。
JP5083043A 1993-04-09 1993-04-09 演奏情報分析装置および和音検出装置 Expired - Fee Related JP3049989B2 (ja)

Priority Applications (10)

Application Number Priority Date Filing Date Title
JP5083043A JP3049989B2 (ja) 1993-04-09 1993-04-09 演奏情報分析装置および和音検出装置
US08/223,611 US5539146A (en) 1993-04-09 1994-04-06 Performance information analyzer and chord detection device associated therewith
DE69431013T DE69431013T2 (de) 1993-04-09 1994-04-08 Elektronische Vorrichtung zum Musikvortrag
DE69430078T DE69430078T2 (de) 1993-04-09 1994-04-08 Elektronische Vorrichtung zum Musikvortrag
EP94105505A EP0619573B1 (en) 1993-04-09 1994-04-08 Electronic music-performing apparatus
EP99112888A EP0945850B1 (en) 1993-04-09 1994-04-08 Electronic music-performing apparatus
CN94103965A CN1110032C (zh) 1993-04-09 1994-04-09 演奏信息分析装置及和音检测装置
KR1019940007468A KR100203423B1 (ko) 1993-04-09 1994-04-09 연주정보 분석장치 및 화음검출장치
TW083103329A TW255959B (ja) 1993-04-09 1994-04-14
US09/120,957 USRE38477E1 (en) 1993-04-09 1998-07-23 Performance information analyzer and chord detection device associated therewith

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5083043A JP3049989B2 (ja) 1993-04-09 1993-04-09 演奏情報分析装置および和音検出装置

Related Child Applications (3)

Application Number Title Priority Date Filing Date
JP26993499A Division JP3186748B2 (ja) 1999-09-24 1999-09-24 演奏情報分析装置および演奏情報分析方法
JP2000007772A Division JP3186752B2 (ja) 1993-04-09 2000-01-17 演奏情報分析装置および演奏情報分析方法
JP2000007773A Division JP3189837B2 (ja) 1993-04-09 2000-01-17 演奏情報分析装置および演奏情報分析方法

Publications (2)

Publication Number Publication Date
JPH06295179A true JPH06295179A (ja) 1994-10-21
JP3049989B2 JP3049989B2 (ja) 2000-06-05

Family

ID=13791181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5083043A Expired - Fee Related JP3049989B2 (ja) 1993-04-09 1993-04-09 演奏情報分析装置および和音検出装置

Country Status (7)

Country Link
US (1) US5539146A (ja)
EP (2) EP0619573B1 (ja)
JP (1) JP3049989B2 (ja)
KR (1) KR100203423B1 (ja)
CN (1) CN1110032C (ja)
DE (2) DE69430078T2 (ja)
TW (1) TW255959B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5639980A (en) * 1994-12-09 1997-06-17 Yamaha Corporation Performance data editing apparatus
US7205470B2 (en) 2003-10-03 2007-04-17 Oki Electric Industry Co., Ltd. Play data editing device and method of editing play data
JP2008538827A (ja) * 2005-04-25 2008-11-06 ガオンダ コーポレイション オーディオデータの自動生成方法及びこれを利用した使用者端末機及び記録媒体
WO2011136414A1 (ko) * 2010-04-30 2011-11-03 Yoo Soek Jong 화성학 연주조건 입력기 및 이를 채택한 화성학 연주 악기

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3196604B2 (ja) * 1995-09-27 2001-08-06 ヤマハ株式会社 和音分析装置
US5905223A (en) * 1996-11-12 1999-05-18 Goldstein; Mark Method and apparatus for automatic variable articulation and timbre assignment for an electronic musical instrument
EP1340219A4 (en) * 2000-12-05 2005-04-13 Amusetec Co Ltd METHOD OF ANALYZING MUSIC USING INSTRUMENT SOUNDS
JP4465626B2 (ja) * 2005-11-08 2010-05-19 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP5625235B2 (ja) * 2008-11-21 2014-11-19 ソニー株式会社 情報処理装置、音声解析方法、及びプログラム
JP5463655B2 (ja) * 2008-11-21 2014-04-09 ソニー株式会社 情報処理装置、音声解析方法、及びプログラム
JP5168297B2 (ja) * 2010-02-04 2013-03-21 カシオ計算機株式会社 自動伴奏装置および自動伴奏プログラム
JP6176480B2 (ja) * 2013-07-11 2017-08-09 カシオ計算機株式会社 楽音発生装置、楽音発生方法およびプログラム
WO2019159259A1 (ja) * 2018-02-14 2019-08-22 ヤマハ株式会社 音響パラメータ調整装置、音響パラメータ調整方法および音響パラメータ調整プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03213899A (ja) * 1990-01-18 1991-09-19 Yamaha Corp 電子鍵盤楽器
JPH0540474A (ja) * 1991-08-06 1993-02-19 Yamaha Corp 電子楽器における自動演奏装置
JPH0580762A (ja) * 1991-03-01 1993-04-02 Yamaha Corp 自動伴奏装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4506580A (en) * 1982-02-02 1985-03-26 Nippon Gakki Seizo Kabushiki Kaisha Tone pattern identifying system
JPS5997172A (ja) * 1982-11-26 1984-06-04 松下電器産業株式会社 演奏装置
JPS6219898A (ja) * 1985-07-18 1987-01-28 株式会社東芝 電子楽器の自動伴奏制御装置
JPS6242517A (ja) * 1985-08-20 1987-02-24 Fujitsu Ltd 半導体気相処理方法
JPS62186298A (ja) * 1986-02-12 1987-08-14 ヤマハ株式会社 電子楽器の自動伴奏装置
JPH0634170B2 (ja) * 1986-09-29 1994-05-02 ヤマハ株式会社 電子楽器の自動伴奏装置
US4951544A (en) * 1988-04-06 1990-08-28 Cadio Computer Co., Ltd. Apparatus for producing a chord progression available for a melody
US5136914A (en) * 1988-06-23 1992-08-11 Gibson Guitar Corp. Stringed instrument emulator and method
US5056401A (en) * 1988-07-20 1991-10-15 Yamaha Corporation Electronic musical instrument having an automatic tonality designating function
JPH06100113B2 (ja) * 1989-07-11 1994-12-12 株式会社ユニシアジェックス 燃料噴射制御装置
US5225618A (en) * 1989-08-17 1993-07-06 Wayne Wadhams Method and apparatus for studying music
JP2995303B2 (ja) * 1990-08-30 1999-12-27 カシオ計算機株式会社 メロディ対コード進行適合性評価装置及び自動コード付け装置
US5202526A (en) * 1990-12-31 1993-04-13 Casio Computer Co., Ltd. Apparatus for interpreting written music for its performance

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03213899A (ja) * 1990-01-18 1991-09-19 Yamaha Corp 電子鍵盤楽器
JPH0580762A (ja) * 1991-03-01 1993-04-02 Yamaha Corp 自動伴奏装置
JPH0540474A (ja) * 1991-08-06 1993-02-19 Yamaha Corp 電子楽器における自動演奏装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5639980A (en) * 1994-12-09 1997-06-17 Yamaha Corporation Performance data editing apparatus
US7205470B2 (en) 2003-10-03 2007-04-17 Oki Electric Industry Co., Ltd. Play data editing device and method of editing play data
JP2008538827A (ja) * 2005-04-25 2008-11-06 ガオンダ コーポレイション オーディオデータの自動生成方法及びこれを利用した使用者端末機及び記録媒体
WO2011136414A1 (ko) * 2010-04-30 2011-11-03 Yoo Soek Jong 화성학 연주조건 입력기 및 이를 채택한 화성학 연주 악기

Also Published As

Publication number Publication date
KR100203423B1 (ko) 1999-06-15
DE69431013D1 (de) 2002-08-29
EP0619573A2 (en) 1994-10-12
US5539146A (en) 1996-07-23
EP0619573B1 (en) 2002-07-24
DE69430078D1 (de) 2002-04-11
DE69431013T2 (de) 2003-03-27
CN1110032C (zh) 2003-05-28
CN1098809A (zh) 1995-02-15
TW255959B (ja) 1995-09-01
EP0619573A3 (en) 1995-01-11
JP3049989B2 (ja) 2000-06-05
DE69430078T2 (de) 2002-10-31
EP0945850A1 (en) 1999-09-29
EP0945850B1 (en) 2002-03-06
KR940024657A (ko) 1994-11-18

Similar Documents

Publication Publication Date Title
US8314320B2 (en) Automatic accompanying apparatus and computer readable storing medium
JP2562370B2 (ja) 自動伴奏装置
JPH06295179A (ja) 演奏情報分析装置および和音検出装置
JPH11126074A (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
JPH05281970A (ja) 自動編曲装置および電子楽器
JPH09179559A (ja) 自動伴奏装置及び自動伴奏方法
JP3186752B2 (ja) 演奏情報分析装置および演奏情報分析方法
JP3189837B2 (ja) 演奏情報分析装置および演奏情報分析方法
JP3353777B2 (ja) アルペジオ発音装置およびアルペジオ発音を制御するためのプログラムを記録した媒体
US5942711A (en) Roll-sound performance device and method
JP3186748B2 (ja) 演奏情報分析装置および演奏情報分析方法
JP2623955B2 (ja) 電子楽器
JP2640992B2 (ja) 電子楽器の発音指示装置及び発音指示方法
JP3661963B2 (ja) 電子楽器
JP2943560B2 (ja) 自動演奏装置
JPH01179089A (ja) 自動伴奏装置
JPH07110685A (ja) 演奏情報分析装置
JPH06337677A (ja) 自動伴奏装置
JP3120806B2 (ja) 自動伴奏装置
JPH09305176A (ja) 自動伴奏装置
JPH10133661A (ja) 自動演奏装置
JPS6342272B2 (ja)
JP2000029466A (ja) 電子鍵盤楽器
JPS6342273B2 (ja)
JPH0968982A (ja) 自動伴奏機能を有する電子楽器

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20000229

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313532

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

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090331

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100331

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110331

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110331

Year of fee payment: 11

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120331

Year of fee payment: 12

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130331

Year of fee payment: 13

LAPS Cancellation because of no payment of annual fees