JP4368222B2 - Concert support system - Google Patents

Concert support system Download PDF

Info

Publication number
JP4368222B2
JP4368222B2 JP2004059540A JP2004059540A JP4368222B2 JP 4368222 B2 JP4368222 B2 JP 4368222B2 JP 2004059540 A JP2004059540 A JP 2004059540A JP 2004059540 A JP2004059540 A JP 2004059540A JP 4368222 B2 JP4368222 B2 JP 4368222B2
Authority
JP
Japan
Prior art keywords
performance
data
weight
performance position
sound
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004059540A
Other languages
Japanese (ja)
Other versions
JP2005250053A (en
Inventor
一志 西本
千佳 大島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
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 ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2004059540A priority Critical patent/JP4368222B2/en
Publication of JP2005250053A publication Critical patent/JP2005250053A/en
Application granted granted Critical
Publication of JP4368222B2 publication Critical patent/JP4368222B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Auxiliary Devices For Music (AREA)

Description

この発明は合奏システムに関し、特にたとえば、初心者同士でも簡単に合奏や連弾を楽しむことができる、新規な合奏支援システムに関する。   The present invention relates to an ensemble system, and in particular, to a novel ensemble support system that enables even beginners to easily enjoy ensembles and renditions.

子供がピアノのレッスンを受けている場合など、子供と一緒に合奏を楽しみたいという親の声は多い。   There are many parents who want to enjoy ensembles with their children, such as when they are taking piano lessons.

このため、最近では子供向けのみならず、大人のための音楽教室や音楽ソフトも流行っている。中でも、なるべく短い時間で各々の大人が弾きたい曲を演奏できるようにするレッスンやソフトが多い。これらは、子供のように月日を重ねて基礎から学ぶことよりも、いち早く裡にある音楽を表現することを優先していると思われる。しかし、子供といろんな曲で合奏できるようになるには、やはり楽譜上の音符通りに楽器を奏でるという基礎から習得しなければならず、長い年月を要してしまう。   For this reason, recently music schools and music software for adults as well as children are popular. In particular, there are many lessons and software that allow each adult to play the song they want to play in as short a time as possible. These seem to have given priority to expressing the music in the earliest rather than learning from the basics like a child. However, in order to be able to perform with various songs with children, it is necessary to learn from the basics of playing musical instruments according to the notes on the score, which takes a long time.

また、ピアノのレッスンでは、合奏の1つである連弾を取り入れることが奨励されている。たとえば、ピアノを習い始めて1週目の子供が、「ド」を数個並べただけの楽曲を練習する際にも、先生が連弾のパートナーとして多様な和音を響かせながら付き添うレッスンが行われている。連弾を通じて生徒の練習意欲が高まったという報告や、子供たちがパートナーの演奏を聴くことで自ら「やりたい表現」を自然に演奏に表すようになったという報告もある。どんなに初心者の子供も、連弾の中で先生と「呼吸」を通わせるという、音楽性を育てる上で不可欠な営みを行っている。   Also, piano lessons are encouraged to incorporate a series of ensembles. For example, when a child in the first week of learning piano learns a song with just a few “dos” arranged, the teacher is attending a lesson that accompanies various chords as a partner in the series. . There are reports that students' motivation to practice has increased through the bullets, and that children have naturally expressed their "expressions they want to do" themselves by listening to their partner's performances. No matter how novice children are doing their essential activities to nurture their musicality, they can “breath” with the teacher in the bullet.

しかし、家庭においてレッスンに通い始めの子供と、楽器演奏経験のほとんどない親とのペアで、練習や楽しみとして連弾を行うことは非常に困難である。これは、市販されているほとんどのピアノ連弾曲集が、少なくともペアの一方が中級以上に想定されていることからも伺える。最近ではピアノ学習用として、予めパートナーの演奏データが用意されたマイナス・ワンを多くみかけるようになった。しかし、マイナス・ワンを利用してもこの方法では一人ひとりの演奏行為と実在的な関わりを持たないため、パートナーと「呼吸」を通わせることができない。   However, it is very difficult for a pair of a child who has begun to attend a lesson at home and a parent who has little experience of playing musical instruments to practice and play as a series. This can also be explained by the fact that most of the piano renditions on the market are supposed to be at least one intermediate pair. Recently, for piano learning, a lot of minus ones with partner performance data prepared in advance have been seen. However, even if Minus One is used, this method does not have a real relationship with each person's performance, so it is not possible to “breath” with the partner.

一方、近年、人間の演奏者と合奏するシステムの研究が進んでいる。予め楽譜が与えられている音楽を対象とした自動伴奏システムが非特許文献1や非特許文献2に開示される。非特許文献1のものは、演奏者が出力した音高情報だけを用いたアルゴリズムを示し、非特許文献2のものは、音高と一定時間ごとの演奏時刻とを認識して伴奏を変化させる手法を提案している。   On the other hand, in recent years, research on a system for performing with a human performer has progressed. Non-Patent Document 1 and Non-Patent Document 2 disclose an automatic accompaniment system for music for which a score is given in advance. The non-patent document 1 shows an algorithm using only pitch information output by the performer, and the non-patent document 2 recognizes a pitch and a performance time every predetermined time and changes an accompaniment. A method is proposed.

さらに、非特許文献3では、より自然な伴奏システムの演奏を目指して、人間とコンピュータの合奏を分析し、コンピュータと人間との「ずれ」から次の「時間長変化」を予測するモデルを提案している。   Furthermore, Non-Patent Document 3 proposes a model that analyzes the ensemble between a person and a computer and predicts the next “change in time length” from the “deviation” between the person and the computer, aiming at a more natural accompaniment system performance. is doing.

また、非特許文献4では、人間とコンピュータの相互作用を考慮したモデルの提案が行われている。
Dannenberg、 R.: An On-Line Algorithm for Real-Time Accompaniment、Proc. ICMC 1984、 pp. 193-198、 1984 Vercoe、 B.: The Synthetic Performer in the Context of Live Performance、 Proc. ICMC 1984、 pp. 200、 1984 堀内靖雄、坂本圭司、市川憙:合奏における人間の発音時刻制御モデルの推定、情報処理学会論文誌、Vol. 43、No.2、pp. 260-267、 2002 井川孝之、直井邦彰、大照完、橋本周司:相互作用モデルによる実時間適応自動伴奏とその動作解析、電子情報通信学会春季全国大会講演論文集、 pp. 1.389-390、 1992
Non-Patent Document 4 proposes a model that takes into account the interaction between a human and a computer.
Dannenberg, R.D. : An On-Line Algorithm for Real-Time Accompaniment, Proc. ICMC 1984, pp. 193-198, 1984 Vercoe, B.E. : The Synthetic Performer in the Context of Live Performance, Proc. ICMC 1984, pp. 200, 1984 Horiuchi Ikuo, Sakamoto Koji, Ichikawa Satoshi: Estimation of human pronunciation time control model in ensemble, IPSJ Transactions, Vol. 43, no. 2, pp. 260-267, 2002 Takayuki Igawa, Kuniaki Naoi, Osamu Oteru, Shuji Hashimoto: Real-time adaptive automatic accompaniment and its analysis by interaction model, Proceedings of the IEICE Spring National Conference, pp. 1. 389-390, 1992

しかしながら、以上の研究は、すべて、人間とシステム(コンピュータ)とによる合奏を目的とするもので、この発明が向けられる、人間同士特に初級者同士が合奏するのを支援するシステムを対象とするものではない。   However, all of the above studies are aimed at ensembles between humans and systems (computers), and are aimed at systems that support the ensemble between humans, especially beginners, to which this invention is directed. is not.

それゆえに、この発明の主たる目的は、新規な、合奏支援システムを提供することである。   Therefore, the main object of the present invention is to provide a novel ensemble support system.

この発明の他の目的は、たとえば楽器演奏の初心者の親と初級者の子供とのようなペアでも、すぐに合奏できるようにする、合奏支援システムを提供することである。   Another object of the present invention is to provide an ensemble support system that allows a pair such as a beginner's parent of a musical instrument performance and a beginner's child to perform immediately.

請求項1の発明は、第1奏者によって操作され、演奏に応じて第1演奏データを出力する第1入力インタフェース、第2奏者によって操作され、演奏に応じて第2演奏データを出力する第2入力インタフェース、演奏位置と、各演奏位置毎の第1奏者が演奏すべき音の音高データと、各演奏位置毎の第2奏者が演奏すべき音の音高データとを含む楽譜データを格納する楽譜データベース、第1演奏データと楽譜データとに基づいて第1奏者の演奏位置を判定する演奏位置判定手段、楽譜データを参照して演奏位置判定手段によって判定された第1奏者の演奏位置における第2奏者が演奏すべき音の音高データを取得する音高データ取得手段、第2演奏データの内の音高データだけを音高データ取得手段が取得した音高データに差し替える音高データ差替え手段、および第1演奏データと、音高データ差替え手段によって音高データだけが差し替えられた第2演奏データとに応じて発音する発音手段を備える、合奏支援システムである。   According to the first aspect of the present invention, a first input interface that is operated by the first player and outputs the first performance data according to the performance, and a second input that is operated by the second player and outputs the second performance data according to the performance. Stores musical score data including an input interface, performance positions, pitch data of sounds to be played by the first player at each performance position, and pitch data of sounds to be played by the second player at each performance position A musical score database, performance position determination means for determining the performance position of the first player based on the first performance data and the score data, and the performance position of the first player determined by the performance position determination means with reference to the score data. Pitch data acquisition means for acquiring pitch data of a sound to be played by the second player, and a pitch for replacing only pitch data in the second performance data with pitch data acquired by the pitch data acquisition means. Chromatography comprising data replacement means and and the first performance data, and pronounce sound generating means in accordance with the second performance data that only pitch data has been replaced by the pitch data replacement means is a ensemble support system.

請求項1の発明では、入力インタフェース(実施例において相当する部分の参照符号12.以下同様。)が第1奏者(プリモ)によって操作され、演奏に応じて第1演奏データとしてMIDIデータを出力する。入力インタフェース(14)が第2奏者(セコンド)によって操作され、演奏に応じて第2演奏データとしてMIDIデータを出力する。第1入力インタフェースからのMIDIデータはそのまま発音手段(16,18)から発音されるが、このMIDIは演奏位置判定手段にも与えられる。   In the first aspect of the invention, an input interface (reference numeral 12 corresponding to the corresponding portion in the embodiment) is operated by a first player (primo), and MIDI data is output as first performance data according to the performance. . The input interface (14) is operated by the second player (second), and MIDI data is output as the second performance data according to the performance. The MIDI data from the first input interface is sounded as it is from the sounding means (16, 18), but this MIDI is also given to the performance position judging means.

演奏位置判定手段(20,S1,S101−S133)では、第1入力インタフェースからの第1演奏データ(MIDIデータ)と、楽譜データベース(22)の楽譜データとに基づいて、第1奏者の楽譜上での演奏位置を判定する。   In the performance position judging means (20, S1, S101-S133), on the score of the first player based on the first performance data (MIDI data) from the first input interface and the score data of the score database (22). The performance position at is determined.

音高データ取得手段(20,S3,S301−S311)は、このようにして判定された第1奏者の演奏位置に基づいて楽譜データから、第2奏者が演奏すべき音の音高データを取得する。そして、音高データ差替え手段(20,S5,S501−S503)は、第2入力インタフェースから入力される第2演奏データの内の音高データだけを音高データ取得手段が取得した音高データに差し替えて、発音手段に与える。したがって、発音手段は、第1奏者が演奏した第1演奏データと、第2奏者が演奏したものではあるが音高データのみが差し替えられている第2演奏データとに従って、音楽を出力する。   The pitch data acquisition means (20, S3, S301-S311) acquires the pitch data of the sound to be played by the second player from the score data based on the performance position of the first player determined as described above. To do. The pitch data replacement means (20, S5, S501 to S503) converts only the pitch data in the second performance data input from the second input interface into the pitch data acquired by the pitch data acquisition means. Replace and give to the pronunciation means. Therefore, the sound generation means outputs music in accordance with the first performance data performed by the first player and the second performance data which has been performed by the second player but has only the pitch data replaced.

この発明によれば、第1奏者の演奏位置における第2奏者の演奏データの音高だけを差し替えるようにしているため、第2奏者は容易に正しい演奏をすることができる。したがって、たとえば、第1奏者が初級者であってかつ第2奏者が初心者であっても、合奏や連弾が簡単に行える。   According to this invention, since only the pitch of the performance data of the second player at the performance position of the first player is replaced, the second player can easily perform the correct performance. Therefore, for example, even if the first player is a beginner and the second player is a beginner, it is possible to easily perform ensembles and renditions.

また、弾き直しへの対応を可能にすれば、初級者に多く見られる演奏途中での弾き直しが生じた場合でも、迅速に正しい演奏位置を判定できる。   Also, if it is possible to cope with replaying, it is possible to quickly determine the correct performance position even when replaying during the performance, which is often seen by beginners, occurs.

この発明の上述の目的、その他の目的、特徴および利点は、図面を参照して行う以下の実施例の詳細な説明から一層明らかとなろう。   The above object, other objects, features, and advantages of the present invention will become more apparent from the following detailed description of embodiments with reference to the drawings.

図1に示すこの実施例の合奏支援システム10は、プリモ用入力インタフェース12およびセコンド用入カインタフエース14を含む。ただし、この図1では2つのインタフェース12および14を別々に図示しているが、連弾の場合には、同一インタフェース(鍵盤)を2つの領域に分けて使用することになる。また、この実施例の入力インタフェースとしては鍵盤(キーボード)が用いられるが、他の楽器のインタフェースが用いられてもよい。   The ensemble support system 10 of this embodiment shown in FIG. 1 includes a primo input interface 12 and a second input interface 14. However, in FIG. 1, the two interfaces 12 and 14 are separately illustrated. However, in the case of continuous shots, the same interface (keyboard) is divided into two areas and used. Further, a keyboard (keyboard) is used as the input interface of this embodiment, but an interface of another musical instrument may be used.

なお、「プリモ」とは、ピアノ連弾の場合に高音部を担当する演奏者のことであり、「セコンド」は低音部を演奏する演奏者のことを言う。合奏の場合には必ずしもこのような呼称を用いないが、ここでは、便宜上、合奏をリードする演奏者を「プリモ」と呼び、そうでない演奏者を「セコンド」と呼ぶ。ただし、前者を「第1奏者」、後者を「第2奏者」と呼ぶこともある。   Note that “primo” refers to a performer who is in charge of the treble part in the case of a piano series, and “second” refers to a performer who performs the bass part. In the case of an ensemble, such a designation is not necessarily used, but here, for convenience, the player who leads the ensemble is called “primo”, and the other player is called “second”. However, the former may be referred to as “first player” and the latter as “second player”.

プリモ用入力インタフェース12およびセコンド用入力インタフェース14はともに、演奏に応じて、MIDI(Musical Instrument Digital Interface)データを出力する。そして、プリモが演奏したことに応じて入力インタフェース12から出力されるMIDIデータは、そのまま、なんら処理を施されずにMIDI音源16に入力され、スピーカ18から音として出力される。プリモ用入力インタフェース12からの演奏データ(MIDI)はまた、コンピュータ20にも同時に入力される。同じように、セコンドが演奏したことに応じて入力インタフェース14から出力されるMIDIデータもコンピュータ20に入力される。   Both the primo input interface 12 and the second input interface 14 output MIDI (Musical Instrument Digital Interface) data according to the performance. Then, the MIDI data output from the input interface 12 in response to the performance of the primo is input as it is to the MIDI sound source 16 without any processing, and is output as a sound from the speaker 18. Performance data (MIDI) from the primo input interface 12 is also input to the computer 20 at the same time. Similarly, MIDI data output from the input interface 14 in response to the second performance is also input to the computer 20.

簡単に言うと、コンピュータ20は、プリモの演奏データと楽譜データとを参照しながら、セコンドの演奏だけを支援する。プリモに対しては演奏支援を行わない。   In short, the computer 20 supports only the performance of the second while referring to the performance data of the primo and the score data. No performance support for Primo.

コンピュータ20が参照すべき楽譜データは、楽譜データベース22に記憶されている。   The musical score data to be referred to by the computer 20 is stored in the musical score database 22.

図2がこのような楽譜データの基になる記述形式の一例を示す。この例で、「*」で始まる行には演奏データそのものが記述されているのではなく、その曲を初心者が演奏する場合に戻りやすい位置を示すマーカを記述するようにしている。   FIG. 2 shows an example of a description format on which such score data is based. In this example, the performance data itself is not described in the line beginning with “*”, but a marker indicating a position that is easy to return to when a beginner plays the song.

Bloch & Dannenberg(Bloch, J. and Dannenberg, R.B.: Real-Time Computer Accompaniment of Keyboard Performances, Proc. ICMC 1985, pp.279-289, 1985)によれば、演奏の誤りは、以下の3つに分類される。
(1)挿入(extra):演奏された音が楽譜上の音と一致しない(余分な音数)。
(2)音高誤り(wrong):楽譜上の音数通りに音を出しているが、音高が不正確である。
(3)脱落(missing):演奏された音が楽譜上の音の数よりも少ない。
According to Bloch & Dannenberg (Bloch, J. and Dannenberg, RB: Real-Time Computer Accompaniment of Keyboard Performances, Proc. ICMC 1985, pp.279-289, 1985), performance errors are classified into the following three categories: Is done.
(1) Extra: The played sound does not match the sound on the score (extra number of notes).
(2) Pitch error (wrong): The sound is produced according to the number of notes on the score, but the pitch is incorrect.
(3) Missing: The number of played sounds is less than the number of sounds on the score.

しかし、特に初級者の場合はこれらに「弾き直し」が追加されると考えられる。弾き直しとは、「挿入」と同様に楽譜上の音数よりも多く音が演奏されたケースではあるが、楽譜上に記載されていない音や音高列ではなく、楽譜上に記載されている音や音高列が重複して演奏された場合のことを指す。中級者以上になると、練習中に意識して弾き直しする以外は、基本的に失敗しても演奏の流れを止めずに最後までいこうとする傾向がある。一方、初級者は途中で失敗した場合に戻ろうとする傾向が多い。   However, especially for beginners, it is thought that “replay” will be added to these. Replaying is a case where more notes are played than the number of notes on the score, as in “Insert”, but it is not a note or pitch sequence that is not indicated on the score. This refers to the case where a sound or pitch sequence is played in duplicate. Beyond intermediate, there is a tendency to continue to the end without stopping the flow of performance, even if it fails, except for replaying it during practice. On the other hand, beginners tend to return if they fail on the way.

ピアノレッスンに通いはじめて4年半の小学4年生である、被験者Aと、ピアノレッスンに通いはじめて1年の保育園生である、被験者Bとによって、いずれもプリモとして、様々な練習曲を初見で、演奏してもらった実験によれば、表1に示す結果が得られた。ただし、実験ではセコンドは、発明者の1人が担当した。表1は、弾き直した回数と弾き直すために戻った個所の特徴である。   With subject A who is 4th and 4th grade elementary school students for the first time in piano lessons and subject B who is a nursery school student for the first year after attending piano lessons, as a primo, various practice songs are first seen. According to the experiments performed, the results shown in Table 1 were obtained. However, in the experiment, one of the inventors was in charge of the second. Table 1 shows the characteristics of the number of replays and the points returned to replay.

Figure 0004368222
Figure 0004368222

「1拍目」とは、小節の1拍目に戻ったことを示す。「第2の強拍」とは、4拍子の3拍目や2拍子の2拍目を指す。「最終拍」とは3拍子の3拍目や4拍子の4拍目を指す。以上の3項目は、弾き直しする直前に弾いた音と同じ小節内の拍である。「フレーズ開始」とは、スラーのはじめや、弱起のメロディのはじまりを指す。「手の替え」とは、1つのメロディの中で、弾く手が右手から左手に替った個所に戻ったことを意味する。以上の2項目は「1拍目」「第2の強拍」「最終拍」のカテゴリには数えていない。「段」とは譜面上で横一列に印刷された数小節の塊を指す。なお「1小節前」とは、弾き直す直前の音の1小節前に戻ったことを意味している。   “First beat” means returning to the first beat of the measure. The “second strong beat” refers to the third beat of 4 beats and the second beat of 2 beats. The “last beat” refers to the third beat of the third beat and the fourth beat of the fourth beat. The above three items are beats within the same bar as the sound played immediately before replaying. “Phrase start” refers to the beginning of a slur or the beginning of a weak melody. “Change hand” means that the playing hand returns to the place where the right hand changes to the left hand in one melody. The above two items are not counted in the categories of “first beat”, “second strong beat”, and “last beat”. A “column” refers to a group of several bars printed in a horizontal row on a musical score. Note that “one measure before” means that the sound has returned to one measure before the sound immediately before being replayed.

弾き直しの数は被験者Aは377個所あり、被験者Bは181個所あった。また、戻り位置は小節の1拍目が8割を占めている。   The number of replays was 377 for subject A and 181 for subject B. In the return position, the first beat of the measure occupies 80%.

一方、「挿入」は、被験者Aに1音、被験者Bに6音見られた。「音高誤り」は被験者Bに37音(延べ111音)見られた。「脱落」は被験者Aに3音見られた。   On the other hand, “insertion” was seen by the subject A with 1 sound and the subject B with 6 sounds. “Pitch error” was found in subject B by 37 sounds (total of 111 sounds). “Dropped” was seen by subject A in 3 sounds.

その他、被験者Aは小節ごとに楽譜を見て弾く傾向があったため、小節の1拍目の直前に楽譜上には記述されていない空白の時間が起りやすかった。そのため、連弾曲ではセコンドが先走って1拍目の音を鳴らし、再度、被験者Aと一緒に鳴らすという場面が多くみられた。なお、課題にした独奏曲と連弾曲のレベルや曲数等が違うため、一概には言えないが、被験者Aは連弾曲のほうが弾き直しが少ない傾向にあった。   In addition, since subject A tended to see and play the score for each measure, a blank time not described on the score was likely to occur immediately before the first beat of the measure. For this reason, there were many scenes where the second sounded the first beat in the rendition, and then sounded with the subject A again. In addition, because the level of the solo solo and the number of pieces of the twin pieces are different from each other, the subject A tends to be replayed less frequently.

この実施例では、上記のような実験の結果を参考にして、図2の「*」が付された行のように、曲を初心者が演奏する場合に戻りやすい位置をマーカとして記述するようにした。そして、マーカとしては、発明者等の実験では、次の4種類を設定できるようにしている。ただし、1箇所に複数種のマーカを同時に設定することもできる。   In this embodiment, referring to the result of the experiment as described above, a position where a beginner can easily return to a song is described as a marker, such as a line marked with “*” in FIG. did. The following four types of markers can be set in the experiments by the inventors. However, a plurality of types of markers can be simultaneously set in one place.

B:小節の頭を示す
P:フレーズの冒頭を示す
R:印刷された楽譜の「段」の冒頭を示す
S:その他、任意に設定可能なマーカ
なお、図1の実施例では、これらのマーカの種類に依存した動作の切り替えは行っておらず、マーカの有無だけをチェックするようにしている。つまり、この実施例では、複数種類のマーカを用意しているのは、人が楽譜データを作成するときあるいは読むときの便宜のためだけであるが,表1に示す弾き直し箇所の頻度を考慮して、これらの種類に応じて重みづけを調整することにより、より精度の高い弾き直し判定を実現することも可能である。
B: Indicates the beginning of a measure P: Indicates the beginning of a phrase R: Indicates the beginning of a “column” of a printed score S: Other markers that can be arbitrarily set In the embodiment of FIG. The operation is not switched depending on the type, and only the presence or absence of the marker is checked. In other words, in this embodiment, a plurality of types of markers are prepared only for the convenience of a person when creating or reading musical score data, but the frequency of replay points shown in Table 1 is considered. And it is also possible to implement a more accurate replay determination by adjusting the weighting according to these types.

さらに、図2の記述形式では、楽譜データは、次のように記述される。
(1)「*」で始まるマーカ行以外は、すべて音符データを記述する。1行には、楽譜上で「同時に」発音されることになっている音を列挙する。
(2)「音名」には、音符の「音価」(つまり4分音符、8分音符などの音の長さ)を無視して、音高のみを記述する。たとえば「C5」、「A3」など。
(3)プリモあるいはセコンドの演奏者が1人で複数の音を同時に演奏する(和音を弾く)場合には、それらの音名を「,(カンマ)」で繋いで列挙する。
(4)プリモとセコンドとの間は「:(コロン)」で繋ぐ。
(5)ある瞬間、一方のみが発音し、他方は発音する音がない場合、発音する音がない方は音高名を指定しない。
(6)「コメント」は記述してもしなくてもよい。
Further, in the description format of FIG. 2, the score data is described as follows.
(1) All note data is described except for the marker line that starts with “*”. One line lists the sounds that are to be pronounced "simultaneously" on the score.
(2) In the “sound name”, only the pitch is described, ignoring the “note value” of the note (that is, the length of the sound such as a quarter note or an eighth note). For example, “C5”, “A3”, etc.
(3) When a single primo or second performer plays multiple sounds at the same time (plays chords), the names of those notes are connected by “, (comma)”.
(4) Connect primo and second with ": (colon)".
(5) When only one of them produces a sound at a certain moment and there is no sound to be pronounced, the person who does not have a sound to pronounce does not specify a pitch name.
(6) “Comments” may or may not be described.

具体例として図3に示す楽譜は、童謡「たき火」の冒頭4小節であり、この楽譜を図2の記述形式でデータ化したものが図4に示される。ただし、図3では、上段がプリモ、下段がセコンドの楽譜である。   As a specific example, the score shown in FIG. 3 is the first four bars of the nursery rhyme “bonfire”, and FIG. 4 shows the score converted into data in the description format of FIG. However, in FIG. 3, the upper score is a primo and the lower score is a second score.

図4において、「*S」の箇所は、小節の冒頭でもフレーズの頭でもないが、特に戻り易い箇所として設定した例である。楽譜データは上記のように通常のテキストエディタで容易に編集可能な形式であるため、個々の演奏者に応じて、特に戻り易い箇所がある場合は、このように「*S」マーカなどを利用者が自由に埋め込んで、自分用に最適化することも可能である。   In FIG. 4, “* S” is an example in which it is neither the beginning of a measure nor the beginning of a phrase, but is set as a particularly easy-to-return portion. Since the score data is in a format that can be easily edited with a normal text editor as described above, the “* S” marker or the like is used in this way when there is a particularly easy-to-return part depending on the individual player. It is also possible for a person to embed freely and optimize it for himself.

この図4の記述データに従って、図5に示す楽譜データが、図1の楽譜データベース22に格納される。   In accordance with the description data of FIG. 4, the score data shown in FIG. 5 is stored in the score database 22 of FIG.

なお、図5の楽譜データで、ポジション(位置)とは楽譜の最初からのプリモとセコンド両方を通しての音符番号を示す。同時に複数の音が演奏される箇所は、それらの音すべてに同じポジション番号を付与する。たとえばポジション1や5などは、それぞれ3つの音に同じポジション番号を割り当てている。プリモまたはセコンドの一方に演奏すべき音があるが、もう一方には対応する箇所に演奏すべき音がない箇所は空欄となる。たとえばセコンドのポジション2、4など。リターンの欄には、楽譜データでいずれかの種類のマーカが設定されたポジションの箇所にのみ「*」記号がセットされ、他は空欄となる。現実には、C言語の構造体のリンクによってこのような楽譜データ表を構成している。   In the score data in FIG. 5, the position indicates the note number through both the primo and the second from the beginning of the score. Where a plurality of sounds are played simultaneously, the same position number is assigned to all of them. For example, for positions 1 and 5, etc., the same position number is assigned to each of three sounds. There is a sound to be played in one of the primo or the second, but the other part is blank if there is no sound to be played in the corresponding part. For example, second positions 2, 4 etc. In the return field, “*” symbols are set only at positions where any kind of marker is set in the musical score data, and the others are blank. In reality, such a score data table is constituted by links of C language structures.

このような図1実施例において、コンピュータ20は、図6に示す演奏位置判定処理を実行する。この演奏位置判定処理では、楽譜データベース22から取得したプリモ用楽譜データと、逐次入力されてくるプリモの演奏データ(MIDI)とを照合し、現在楽譜上のどの位置(ポジション)が演奏されているかを判定し、この結果を図7に示す演奏音高取得処理に通知する。   In the embodiment shown in FIG. 1, the computer 20 executes the performance position determination process shown in FIG. In this performance position determination process, the score data for the primo acquired from the score database 22 is collated with the performance data (MIDI) of the primo that is sequentially input to determine which position (position) is currently being played on the score. This result is notified to the performance pitch acquisition process shown in FIG.

演奏音高取得処理では、楽譜データベースから取得したセコンド用楽譜データを参照し、現在のプリモの演奏位置に対応する箇所をセコンドの楽譜上で見いだし、そこからセコンドが今演奏すべき音の音高データを取得し、これを図8に示す音高データ差し替え処理に渡す。   In the performance pitch acquisition process, the second musical score data obtained from the musical score database is referred to, the part corresponding to the current performance position of the primo is found on the second musical score, and the pitch of the sound that the second should play now is determined from there. Data is acquired and passed to the pitch data replacement process shown in FIG.

音高データ差し替え処理では、セコンド用の入カインタフエースから入力された演奏音のMIDIデータのうち、音高データを指定する値(MIDIノートナンバ)のみを、演奏音高取得処理によって取得した音高データに差し替える。この際、その他のデータ(発音時刻や、音の強さに対応するベロシティ値など)はすべてセコンドが入力した値を保持する。   In the pitch data replacement process, only the value (MIDI note number) that specifies the pitch data among the MIDI data of the performance sound input from the second input interface is the sound acquired by the performance pitch acquisition process. Replace with high data. At this time, all other data (such as the sound generation time and the velocity value corresponding to the sound intensity) hold the values input by the seconds.

こうして、音高データだけが差し替えられたセコンドの演奏データ(第2演奏データ)がプリモの演奏データ(第1演奏データ)とともにMIDI音源16(図1)に入力され、スピーカ18から音として出力される。つまり、MIDI音源16およびスピーカ18が発音手段として機能する。   Thus, the second performance data (second performance data) in which only the pitch data is replaced is input to the MIDI sound source 16 (FIG. 1) together with the primo performance data (first performance data), and is output from the speaker 18 as sound. The That is, the MIDI sound source 16 and the speaker 18 function as sounding means.

したがって、セコンドは鍵盤上のどの鍵を打鍵しても、各時点で演奏すべき正しい音高の音が出力される。一方、音の強弱や発音タイミングなどの音楽表情に関わる要素はすべてセコンドが演奏したまま出力される。この結果、セコンドは楽譜どおりのメロディを容易に再現でき、かつ表情づけした通りに演奏に反映できる。   Therefore, regardless of which key on the keyboard is pressed, the second sound is output at the correct pitch to be played at each time point. On the other hand, all elements related to musical expressions such as sound intensity and pronunciation timing are output while the seconds are played. As a result, the second can easily reproduce the melody according to the score, and can be reflected in the performance as expressed.

また、プリモが演奏しているにもかかわらず、セコンドがしばらく休止した場合(打鍵しなかった場合)でも、コンピュータ20はプリモの演奏データから演奏位置を認識しているため、いつセコンドが再開しても、正確な音高でプリモと合わせることができる。逆に、プリモが演奏を休止したにも拘らずセコンドが打鍵した場合は、1回目の打鍵はプリモが次に演奏する予定の個所に相当した音高が鳴るが、それ以後はプリモが演奏し始めるまで、音が出なくなるように設定されている。   Even when the primo is playing, even if the second pauses for a while (when no key is pressed), the computer 20 recognizes the performance position from the performance data of the primo, so when the second resumes. But you can match the primo with the correct pitch. On the other hand, if the second key is played even though the primo has stopped playing, the first keystroke will produce a pitch that corresponds to the point where the primo will play next, but after that the primo will play. It is set so that no sound is output until it starts.

ここで、図6に示す演奏位置判定処理について、詳細に説明する。ただし、この図6は、プリモの打鍵(入力インタフェース12の操作)というイベントで駆動されるもので、演奏時点tにおいてプリモがPの音を演奏したものとして表されていることを、予め留意されたい。 Here, the performance position determination process shown in FIG. 6 will be described in detail. However, FIG. 6 is intended to be driven in the event that keying (operation of the input interface 12) Primo, that are represented as Primo in playing time t j is played sounds P j, previously Please keep in mind.

演奏位置検出(いわゆるScore Following/Tracking)に関する研究は80年代より非常に多数なされている。過去のシステムは、「挿入」、「音高誤り」、「脱落」の3種類の誤りに対して対処しているが、いずれも基本的に大きな誤りは起こらない演奏を前提としている。   A great deal of research on performance position detection (so-called Score Following / Tracking) has been made since the 1980s. Past systems have dealt with three types of errors: “insertion”, “pitch error”, and “dropout”, but all of them are basically premised on performances that do not cause major errors.

これに対して、この発明の合奏支援システム10では、初心者による練習段階でのきわめて不完全な演奏を取り扱う。この場合、上記のように、弾き直しが非常に多く発生し、演奏位置が何度も繰り返して大きく遡ることが頻発する。したがって、従来のシステムではこのような弾き直しに対処できない。   On the other hand, in the ensemble support system 10 of the present invention, a very incomplete performance at the practice stage by a beginner is handled. In this case, as described above, replaying occurs very frequently, and the performance position frequently goes back many times repeatedly. Therefore, the conventional system cannot cope with such replay.

そこで、この実施例では、先の非特許文献1でDannenbergが提案したDPマッチングによる手法を拡張し、弾き直しに対処可能な演奏位置検出手法を考案した。   Therefore, in this embodiment, the DP matching method proposed by Dannenberg in the previous Non-Patent Document 1 is extended to devise a performance position detection method capable of coping with replay.

この実施例の演奏位置検出方法では、Dannenbergの手法同様、各音の楽譜上での音価と演奏音の音長は無視して、音高のみのマッチングで演奏位置を判断する。これは、初心者の演奏では演奏時の音長の変動が極めて大きく、楽譜には無い長い停止も頻発するため、音価と音長はマッチングの対象として扱えないという判断に基づく。   In the performance position detection method of this embodiment, as in Dannenberg's method, the performance position is judged by matching only the pitch, ignoring the note value of each sound on the score and the length of the performance sound. This is based on the judgment that the note value and the tone length cannot be handled as matching targets because the variation of the tone length during performance is extremely large in the performance of the beginner and long stops that are not in the score frequently occur.

プリモ用の楽譜に含まれる音の数をNとする。ただし、和音のように複数の音が同時に発音される場合、その個所の音数は、同時に発音する音の数に拘らず「1」とし、最高音のみをマッチングの対象とする。さて、プリモが演奏開始からj番目の音Pを演奏したとき(この時刻を「演奏時点t」とする)、前回のマッチングで演奏時点tj-1での楽譜上の演奏位置がS(1≦i≦N)の音であると判定されていたとする。このとき、Pが楽譜上のどの音にあたるかの判定は、以下のアルゴリズムによって行う。 Let N be the number of sounds included in the primo score. However, when a plurality of sounds such as chords are pronounced at the same time, the number of sounds at that point is set to “1” regardless of the number of sounds that are sounded simultaneously, and only the highest sound is targeted for matching. Now, when the primo has played the j-th note P j from the start of performance (this time is referred to as “performance time t j ”), the performance position on the score at the performance time t j-1 is S in the previous matching. It is assumed that the sound is i (1 ≦ i ≦ N). At this time, it is determined by the following algorithm which sound on the musical score P j corresponds to.

(1)楽譜上のすべての音S(1≦k≦N)の音高Pitch(S)と、Pの音高Pitch(P)とを比較し、すべての音についてプリモの演奏時点tにおける重みW(S,t)を以下の数1に示す方法で評価する。 (1) and pitch Pitch of all sounds S k of the score (1 ≦ k ≦ N) (S k), compared with the P j of pitch Pitch (P j), playing Primo for all sounds The weight W (S k , t j ) at the time point t j is evaluated by the method shown in Equation 1 below.

Figure 0004368222
Figure 0004368222

このことを図6で示すと、ステップS101で音数kを「1」に設定する。最初はk<N(総音数)であるから、ステップS103で“NO”となり、次のステップS105で、コンピュータ20(図1)は、音Sにおける音高Pitch(S)と、音Pにおける音高Pitch(P)とを比較する。このステップS105で“YES”なら、コンピュータ20は、次のステップS107で、時点tでの音符Sの重みW(S,t)として、W(Sk-1,tj-1)+1を設定する。そして、ステップS109で音数kをインクリメントして先のステップS103に戻る。ただし、この実施例では、ステップS107で加える値を「1」としたが、この値は「1」でなければならないというものではなく、他の適宜の値を加算するようにしてもよい。 If this is shown in FIG. 6, the number k of sounds is set to “1” in step S101. Since initially at k <N (Sooto number), "NO" next in step S103, in a next step S105, the computer 20 (FIG. 1) includes a pitch Pitch in sound S k (S k), a sound comparing the pitch pitch (P j) in P j. If “YES” in this step S105, the computer 20 uses the weight W (S k , t j ) of the note S k at the time point t j as W (S k−1 , t j−1 ) in the next step S107. ) Set +1. In step S109, the number of sounds k is incremented and the process returns to the previous step S103. However, in this embodiment, the value added in step S107 is “1”, but this value does not have to be “1”, and other appropriate values may be added.

ステップS105で“NO”なら、コンピュータ20は、ステップS111で、時点tj−1での音符Sk−1の重みW(Sk-1,tj-1)が「1」より大きいかどうか、すなわちW(Sk-1,tj-1)−1>0かどうか判断する。“YES”なら、次のステップS113で時点tでの音符Sの重みW(S,t)としてW(Sk-1,tj-1)−1を設定する。ただし、ステップS111で“NO”なら、次のステップS115で、時点tでの音符Sの重みW(S,t)として「0」を設定する。 If “NO” in the step S105, the computer 20 determines whether or not the weight W (S k−1 , t j−1 ) of the note S k−1 at the time point t j−1 is larger than “1” in the step S111. That is, it is determined whether W (S k−1 , t j−1 ) −1> 0. If “YES”, W (S k−1 , t j−1 ) −1 is set as the weight W (S k , t j ) of the note S k at the time t j in the next step S113. However, if “NO” in the step S111, “0” is set as the weight W (S k , t j ) of the note S k at the time point t j in the next step S115.

このようなステップS101−S115をステップS103で“NO”が判断されるまで、つまり、すべての音について重みを評価するまで、繰り返し実行する。すべてのポジションで重みを評価した後は、原則的には、最大の重みを示す演奏位置を次の演奏位置として同定する。   Such steps S101 to S115 are repeatedly executed until “NO” is determined in step S103, that is, until the weights are evaluated for all sounds. After the weight is evaluated at all positions, in principle, the performance position showing the maximum weight is identified as the next performance position.

すなわち、すべてのポジションについて重みWを評価したなら、ステップS103で“YES”となり、コンピュータ20は、続くステップS117で、時点tでの演奏位置Si+1における重みが、時点tj−1での演奏位置Sにおける重みに「1」加えたものと等しいかどうか、つまりW(Si+1,t)=W(S,tj−1)+1かどうか判断する。つまり、演奏位置が正しく更新されているかどうか判断する。ただし、この実施例では、ステップS117で加える値を「1」としたが、この値は「1」でなければならないというものではなく、他の適宜の所定値を加算するようにしてもよい。 That is, if and rated the weight W for all positions, "YES", and the computer 20 in step S103 continues with step S117, the weights in playing position S i + 1 at time t j is at time t j-1 It is determined whether or not the weight at the performance position S i is equal to the weight obtained by adding “1”, that is, whether W (S i + 1 , t j ) = W (S i , t j−1 ) +1. That is, it is determined whether or not the performance position is correctly updated. However, in this embodiment, the value added in step S117 is “1”, but this value does not have to be “1”, and other appropriate predetermined values may be added.

ここで、このステップS117での条件判定について詳しく説明する。このステップS117では、演奏時点tにおける演奏位置の判定を試みている状態である。そして、演奏時点tj−1での演奏位置がSである。したがって,W(S, tj−1)とは,前回の判定(tj−1)時点での判定で「ここが演奏位置だ」と判定した箇所の重みである。そして、W(Si+1,t)とは、楽譜上でSの次の音Si+1の、今回(t時点)での重み付け処理の結果得られた重みである。そして、W(Si+1,t)の値がW(S, tj−1)の値に「1」を加えた値になっていた場合(W(S, tj−1)が図6のS107の処理によって1加算されていた場合)に、Si+1をt時点での演奏位置と判定するものである。 Here, the condition determination in step S117 will be described in detail. In the step S117, the a state of attempting to determine the performance position in playing time t j. The performance position at the performance time t j−1 is S i . Therefore, W (S i , t j−1 ) is the weight of the portion determined as “this is the performance position” in the determination at the time of the previous determination (t j−1 ). W (S i + 1 , t j ) is a weight obtained as a result of the weighting process at this time (time t j ) of the sound S i + 1 next to S i on the score. Then, W if the value of (S i + 1, t j ) had become to a value obtained by adding "1" to the value of W (S i, t j- 1) (W (S i, t j-1) is S i + 1 is determined as the performance position at time t j when 1 is added by the process of S107 in FIG.

そして、このステップS117で“YES”なら、演奏位置が正しいのであるから、次の演奏位置Si+1をt時点の演奏箇所として、図6の演奏位置判定ルーチンを終了する。 If “YES” in this step S117, the performance position is correct, so that the performance position determination routine of FIG. 6 is terminated with the next performance position S i + 1 as the performance position at the time point t j .

(2)もし、W(Si+1,t)≠W(S,tj−1)+1であれば、ステップS121以降を実行して、演奏誤り(弾き直しを含む)への対応を行う。つまり、ステップS117で“NO”が判断されるということは、プリモは演奏を間違ったことを意味し、以下、正しい演奏位置を同定する処理を実行することになる。 (2) If W (S i + 1 , t j ) ≠ W (S i , t j−1 ) +1, step S121 and subsequent steps are executed to deal with performance errors (including replay). . That is, if “NO” is determined in step S117, it means that the primo has made a mistake in performance, and hereinafter, processing for identifying the correct performance position is executed.

まず、弾き直しについて、詳しく説明すると、「1」から「i」の範囲にあって、かつ楽譜上の小節、フレーズ、段およびページ頭など、前述の実験(表1)で得られた「弾き直しが発生し易い個所」として予め楽譜データ上に指定されている個所すべての重みを、W(Si+1,t)−m(mは正の定数)とする。つまり、弾き直し位置マーカの設定されている演奏位置の重みをすべて最大より「m」小さい値に設定する。ただし、その個所の元の重みがこの計算で得られた重みより大きい場合は、値を変更しない。なお、発明者等の実験においてmの値は、経験的に「2」としている。mの値を小さくすると、弾き直しへの追従性が向上するが、一方で類似したパターンが繰り返し現れる楽曲の場合、軽微な誤り(音脱落など)で演奏個所の認識誤りを招く可能性が高くなる。つまり、m個の音数だけ余裕を見て「弾き直し箇所」と思われる箇所からの音がm個連続して弾かれたとき初めて「弾き直し」として判定するようにしている。これによって、1音程度の音の抜けや挿入などの微少な誤りに過剰に反応しないようにしている。 First, replaying will be described in detail. The “playing” obtained in the above-mentioned experiment (Table 1) in the range of “1” to “i” and including measures, phrases, columns, and page heads on the score. The weights of all the locations previously designated on the musical score data as “locations where correction is likely to occur” are W (S i + 1 , t j ) −m (m is a positive constant). That is, the weights of the performance positions where the replay position markers are set are all set to a value “m” smaller than the maximum. However, if the original weight at that location is larger than the weight obtained by this calculation, the value is not changed. In the experiments by the inventors, the value of m is empirically set to “2”. Decreasing the value of m improves the ability to follow replays. On the other hand, in the case of music in which similar patterns appear repeatedly, there is a high possibility of inaccurately recognizing performance points with minor errors (such as missing sounds). Become. In other words, when there are m sounds from a part that seems to be a “replayed part”, it is determined as “replayed” for the first time when m pieces of sound from a part that is considered to be “replayed part” are played continuously. This prevents excessive reaction to minor errors such as missing or insertion of about one sound.

ついで、挿入、音高誤り、脱落への対応について説明する。位置Si-rからSi+rまでの範囲の音すべてについて、重みをW(Si+1,t)と同じにする。つまり、tj-1時点での現在演奏位置の前後r音ずつをt時点での演奏位置としての可能性を高く評価することにより、r個までの挿入や音高誤り、脱落に対処している。なお、音数rは正の定数とし、実験においてはrの値は、経験的に「2」としている。この値を大きくすると、より多数の音にわたる誤りに対処できるが、大きくし過ぎると可能性の範囲が広がりすぎ、逆に誤った一致箇所を見いだしてしまう危険性が高くなる。 Next, how to handle insertion, pitch error, and dropout will be described. For all sounds in the range from the position S i-r to S i + r , the weight is the same as W (S i + 1 , t j ). In other words, it is possible to deal with up to r insertions, pitch errors, and omissions by highly evaluating the possibility that each r sound before and after the current performance position at time t j-1 is the performance position at time t j. ing. Note that the number r of sounds is a positive constant, and the value of r is empirically set to “2” in the experiment. Increasing this value can deal with errors over a larger number of sounds, but increasing it too much widens the range of possibilities, and conversely increases the risk of finding incorrect matching points.

(3)そして、重みW(S,t)(ただし、1≦k≦N)最大値をとる個所を現在の演奏位置とするのであるが、もし同じ重みの個所が複数ある場合は、以下の順に優先する。
(a) 重みW(S,t)が最大値をとる箇所が唯一であるならば、そのときの重みW(S,t)が最大値となる位置Sを現在の演奏位置とする。
(b) 重みW(S,t)が最大値をとる箇所が複数個あるならば、現在の演奏位置が次のようにして決められる。
(3) And, the place where the weight W (S k , t j ) (where 1 ≦ k ≦ N) takes the maximum value is the current performance position. If there are a plurality of places with the same weight, Prioritize in the following order:
(a) the weight W (S k, t j) if it is the only that portion having the maximum value, the weight W (S k, t j) at the time the current performance position location S k with the maximum value And
(b) If there are a plurality of places where the weight W (S k , t j ) takes the maximum value, the current performance position is determined as follows.

(i)Sに最も近い最大値を取る個所Sが唯一であるならばその個所Sを現在の演奏位置とする。 (i) If the point S k taking the maximum value closest to S i is unique, that point S k is set as the current performance position.

(ii)Sに最も近い最大値を取る個所が複数個ある場合、すなわちSから等距離の位置Si-dとSi+dとに最大値が生じる場合は、Si-dを現在の演奏位置とする。 (ii) if the point where the maximum value closest to S i there is a plurality, that is, the maximum value and the position equidistant from S i S i-d and S i + d occurs, the S i-d The current performance position.

このことを図6を参照して説明すると、図6のステップS117で“NO”となったときには、コンピュータ20は、次のステップS121において、すべての弾き直し位置S(表1においてリターンのマーカが付与されている箇所)の重みとして、それらの重みを、最大よりmだけ小さい値にするために、W(Si+1,t)−mを設定する。ついで、ステップS123で、コンピュータ20は、ステップS123で、位置Sg(=i-r≦g≦i+r)での重みW(S,t)をW(Si+1,t)とする。つまり、そのときの演奏位置の前後の演奏位置の重みを等しくする。 This will be described with reference to FIG. 6. If “NO” is determined in the step S117 in FIG. 6, the computer 20 determines in the next step S121 all replay positions S h (return markers in Table 1). W (S i + 1 , t j ) −m is set as the weight of the portion to which the value is assigned) in order to make those weights smaller by m than the maximum. Next, in step S123, the computer 20 sets the weight W (S g , t j ) at the position Sg (= i−r ≦ g ≦ i + r) to W (S i + 1 , t j ) in step S123. And That is, the weights of the performance positions before and after the performance position are made equal.

そして、ステップS125において、重みW(S,t)(k=1〜N)が最大値をとる個所が複数あるかどうか判断する。“NO”の場合には、ステップS127において、コンピュータ20は、重みW(S,t)が最大値となる位置Sを現在tの演奏位置とする。 In step S125, it is determined whether there are a plurality of places where the weight W (S k , t j ) (k = 1 to N) takes the maximum value. If “NO”, in step S127, the computer 20 sets the position S k at which the weight W (S k , t j ) is the maximum value as the performance position of the current t j .

ステップS125において“YES”が判断されたときには、すなわち、重みW(S,t)が最大値を取る個所が2以上存在するときには、続くステップS129において、コンピュータ20は、位置Sに最も近い最大値の演奏個所Sが複数存在かするかどうか、判断する。ステップS129で“YES”のときには、コンピュータ20は、ステップS131において、k<iの演奏個所Sを現在の演奏位置とする.ステップS129で“NO”なら、ステップS133で、コンピュータ20は、位置Sを現在の演奏位置とする。 When “YES” is determined in step S125, that is, when there are two or more places where the weight W (S k , t j ) takes the maximum value, in the subsequent step S129, the computer 20 is the most at the position S i . playing point S k of the maximum value is whether or multiple exist, to determine close. When "YES" in the step S129, the computer 20, at step S131, the to k <playing point S k of i and the current playing position. If “NO” in the step S129, the computer 20 sets the position Sk to the current performance position in a step S133.

以上のアルゴリズムによって、従来から扱われてきた3種類の演奏誤りに加えて、初心者の演奏で頻発する「弾き直し」に対しても追従できる頑健な演奏追跡処理が実現される。   The above algorithm realizes a robust performance tracking process capable of following the “replay” that frequently occurs in beginner performances, in addition to the three types of performance errors that have been handled conventionally.

実験によれば、「弾き直しへの対応」を行った場合と行わなかった場合とでは、前者では、たとえば3音の誤認識の後正しい位置を検出した。これに対して、同じ曲でも後者の場合には、弾き直し後に正しい位置を検出するまでに13音の誤認識が生じた。このように、この実施例の演奏位置判断アルゴリズムを採用した場合には、弾き直しへも十分実用的なレベルでの追従が可能となった。   According to the experiment, in the case where “responding to replay” is performed and in the case where it is not performed, the former detects a correct position after erroneous recognition of, for example, three sounds. On the other hand, in the latter case of the same song, 13 sounds were erroneously recognized until the correct position was detected after replaying. As described above, when the performance position determination algorithm of this embodiment is employed, it is possible to follow the replay at a sufficiently practical level.

次に、図7を参照して、演奏音高取得処理を説明する。   Next, the performance pitch acquisition process will be described with reference to FIG.

演奏音高取得処理も、図6と同様に、プリモの打鍵というイベントによって駆動される。したがって、図7の最初のステップS301で、コンピュータ20は、プリモのそのときの演奏位置Sのデータを受ける。そして、ステップS303における一定時間Twミリ秒の経過の後、ステップS305で、コンピュータ20は、位置S+1にセコンドが演奏すべき音が楽譜上にあるかどうか判断する。“NO”なら、ステップS307において、コンピュータ20は、セコンドが演奏すべき音を「なし(0)」に設定する。一方、ステップS305で“YES”の判断をしたとき、つまり、位置S+1においてセコンドが演奏すべき音があるとの判断をしたときには、次のステップS309において、コンピュータ20は、そのときセコンドが演奏可能な音をたとえば図5のセコンドの欄に指定された音に設定する。 The performance pitch acquisition process is also driven by an event called primo keystroke, as in FIG. Therefore, in the first step S301 in FIG. 7, the computer 20 receives the data of the performance position S i of the primo at that time. Then, after the elapse of the fixed time Tw milliseconds in step S303, in step S305, the computer 20 determines whether or not the sound to be played by the second at the position S i +1 is on the score. If “NO”, in step S307, the computer 20 sets the sound to be played by the second to “none (0)”. On the other hand, when “YES” is determined in step S305, that is, when it is determined that there is a sound to be played by the second at the position S i +1, in the next step S309, the computer 20 For example, the sound that can be played is set to the sound specified in the second column of FIG.

したがって、プリモが誤りなく演奏している場合、位置(ポジション)Sは1、2、3、4、…と順に演奏位置がこのルーチンに投入される。たとえばS=9とプリモの演奏ポジションが通知された場合、Twミリ秒の間をとった後、ポジションS+1=10の位置にセコンドが演奏する音が指定されているかどうかを調べる。図5の例では、セコンドのポジション10の位置には音が指定されていないので、ステップS305での判定は“NO”となる。したがって、セコンドが演奏可能な音は「なし」と設定される。この状態では、セコンドが打鍵しても何も発音しない。 Therefore, if the Primo is playing without error, the position (position) S i is 1, 2, 3, 4, playing position in ... and the order is entered into this routine. For example, when S i = 9 and the performance position of the primo is notified, after taking Tw milliseconds, it is checked whether or not the sound played by the second is designated at the position S i + 1 = 10. In the example of FIG. 5, since no sound is designated at the second position 10, the determination in step S305 is “NO”. Therefore, the sound that can be played by the second is set as “none”. In this state, no sound is produced even if the second key is pressed.

引き続きプリモが誤りなく演奏を続けた場合、S=10でも同様の処理が行われ、セコンドは何も発音できない状態が続く。さらに、プリモの演奏位置がS=11となったとき、Twミリ秒の間を置いた後、ポジションS+1(=12)のセコンドの演奏音を確認する。表1の例では、セコンドのポジション12には「C5」の音が指定されているので、ステップS305の条件判定の結果は“YES”となり、ここでセコンドが演奏可能な音として、「C5」が設定され、発音可能状態になる。以上の手順で、プリモに誤りがない場合のセコンドの演奏可能音は切り替えられていく。 If the primo continues to perform without error, the same processing is performed even when S i = 10, and the second cannot continue to sound. Further, when the performance position of the primo becomes S i = 11, after a time interval of Tw milliseconds, the second performance sound at the position S i +1 (= 12) is confirmed. In the example of Table 1, since the sound “C5” is designated at the second position 12, the result of the condition determination in step S305 is “YES”. Is set, and the sound is ready. With the above procedure, the second sound that can be played when there is no error in the primo is switched.

次に、セコンドが誤って発音すべき音を発音し忘れた場合について説明する。セコンドの演奏可能音は、セコンドによる打鍵がない限りは実際には発音されない。セコンドによる発音がされないままの状態で、プリモが次のポジションを演奏し、新しい演奏位置情報Sが図7のアルゴリズムに入力されると、セコンドが先の音を実際に発音したかどうかに拘らず、このアルゴリズムが実行され、セコンドが演奏すべき音も更新される。たとえばポジション3の位置でセコンドが演奏し、G4の音を発音したとする。その後、プリモがポジション4、5と演奏を進めると、セコンドの演奏可能音はB4に更新される。しかし、この状態でセコンドが誤って演奏しないままプリモがさらにポジション6、7と演奏を進めると、B4の音は発音されないまま、セコンドの演奏可能音はG4に切り替わる。したがって、この状態でセコンドが演奏すると、演奏し忘れたB4ではなくG4の音が発音する。このようにして、セコンドが誤っていくつかの演奏音を飛ばしてしまっても、セコンドの演奏可能音は常にプリモの演奏位置に対応したものとなるため、セコンドが途中で演奏を再開しても、飛ばした音ではなく、今弾くべき音が正しく発音される。 Next, a case where the second forgets to pronounce a sound that should be pronounced by mistake will be described. The playable sound of a second is not actually played unless there is a second keystroke. In a state that is not the pronunciation by seconds, Primo is playing the next position, and a new playing position information S i are input to the algorithm of FIG. 7, regardless of whether the seconds has actually pronounce the previous sound First, this algorithm is executed, and the sound to be played by the second is also updated. For example, assume that a second plays at position 3 and produces a G4 sound. Thereafter, when the primo advances to the performance of positions 4 and 5, the playable sound of the second is updated to B4. However, if the primo further advances to positions 6 and 7 without the second being mistakenly played in this state, the second playable sound is switched to G4 while the B4 sound is not produced. Therefore, when the second plays in this state, the sound of G4 is generated instead of B4 forgot to perform. In this way, even if the second mistakenly skips some performance sounds, the second performance sound will always correspond to the primo performance position, so even if the second resumes playing in the middle The sound you should play now is pronounced correctly, not the skipped sound.

一方、セコンドが誤って本来演奏すべきでない箇所で余分に演奏した場合について説明する。たとえばポジション9でセコンドが演奏しA4の音を発音したとする。この直後、プリモがポジション10の音を演奏しないうちにセコンドが再び打鍵した場合を考える。もしこの再打鍵がプリモのポジション9の音(C5)の打鍵よりTwミリ秒以内であれば、再度A4の音が発生する。一方、プリモのポジション9の音(C5)の打鍵よりTwミリ秒以上経過した場合は、次のポジション10の音が発音される。ただし、現在の例ではセコンドのポジション10には演奏可能音が指定されていないため、この場合は何も発音しないことになる。引き続き、プリモがポジション10に演奏を進めた場合、セコンドの演奏可能音はポジション11に指定されていない。ゆえに、ここでセコンドが打鍵しても、依然として何も発音されない。さらにプリモがポジション11の音を発音し、Twミリ秒以上経過すると、セコンドの演奏可能音はようやくポジション12のC5に設定される。以上のように、セコンドが何度余分な打鍵をしても、セコンドの演奏位置だけが一方的に先走ることは起こらない。余分な音の挿入が生じる可能性はあるが、それによってプリモとセコンドの演奏位置がずれることはない。   On the other hand, a case will be described in which the second is played in an extra portion where it should not be played by mistake. For example, assume that a second plays at position 9 and produces the sound of A4. Immediately after this, consider the case where the second key is pressed again before the primo plays the sound at position 10. If this re-keying is within Tw milliseconds from the keying of the primo position 9 sound (C5), the A4 sound is generated again. On the other hand, when Tw milliseconds or more have passed since the key of the sound (C5) at the position 9 of the primo, the sound at the next position 10 is generated. However, in the present example, since no playable sound is designated at the second position 10, no sound is produced in this case. If the primo continues to play at position 10, the second playable sound is not designated at position 11. Therefore, even if the second key is played here, nothing is still pronounced. Furthermore, when the primo sounds the sound at position 11 and Tw milliseconds have passed, the playable sound of the second is finally set to C5 at position 12. As described above, no matter how many times a second plays an extra key, only the second performance position does not unilaterally advance. Extra sound may be inserted, but this will not shift the primo and second performance positions.

以上はプリモが演奏を誤らない場合の処理の流れの説明であるが、次にプリモが演奏を誤って、いくつかの音を飛ばした場合の処理を説明する。この場合も、基本的に処理の概要は変わらない。プリモが演奏を誤った場合は、演奏位置判定ルーチンから通知されるポジションデータSが前回と不連続になるだけであり、そのことはこのアルゴリズムの処理に関係しない。たとえば、プリモがポジション12の音を演奏した後、ポジション9に戻った場合を考える。この場合、演奏位置判定モジュールから通知される演奏位置情報は、演奏位置判定が理想的に動作すれば、S=12の次にS=9が図7に示す音高取得のアルゴリズムに通知される。S=12が通知されてTwミリ秒経つと、セコンドの演奏可能音はポジション13のB4となっている。この状態でプリモがポジション9の音を弾き、ほぼ同時にセコンドが打鍵すると、セコンドの演奏音はそのままポジション13のB4となってしまう。これは回避できない誤りである。しかし、演奏ポジションとしてS=9が通知されているので、次のセコンドの演奏可能音はポジション10の音となる。この例ではセコンドのポジション10の位置は空白なので、この場合は演奏可能音「なし」となる。以下、プリモが誤り無く演奏を続ければ、先に述べたのと同様に処理が進む。 The above is a description of the flow of processing when the primo does not make a mistake in performance. Next, processing when the primo makes a mistake in performance and skips several sounds will be described. Also in this case, the outline of the processing is basically the same. If Primo has wrong playing position data S i to be notified from the performance position determining routine is only becomes previous discontinuous, that it is not related to the processing of the algorithm. For example, consider the case where Primo returns to position 9 after playing the sound at position 12. In this case, the performance position information notified from the performance position determination module is notified to the pitch acquisition algorithm shown in FIG. 7 when S i = 12 and then S i = 9 if the performance position determination is ideally operated. Is done. When S i = 12 is notified and Tw milliseconds have passed, the playable sound of the second is B4 at position 13. In this state, if the primo plays the sound at position 9 and the second key is pressed almost simultaneously, the second performance sound becomes B4 at position 13 as it is. This is an unavoidable error. However, since S i = 9 is notified as the performance position, the sound that can be played in the next second is the sound at position 10. In this example, since the position of the second position 10 is blank, in this case, the playable sound is “none”. Thereafter, if the primo continues to perform without error, the process proceeds in the same manner as described above.

ここで、ステップS303でのTwミリ秒の遅延の意味について説明する。楽譜を単純に用いるならば、たとえばプリモがS=13の音(すなわちD5)を弾いた瞬間に、セコンドの演奏可能音も同時にポジション13の「B4」にすればよいことになる。しかし、現実にはプリモとセコンドの演奏タイミングが全くずれなしで一致することはありえない。プリモが若干先行する場合もあれば、セコンドが若干先行する場合もある。プリモが先行し、セコンドが遅れる場合は、上記のような同時切り替えを行っても問題なく、ポジション13の位置でプリモがD5の音を弾いた直後にセコンドはB4の音を弾くことができる。しかし、セコンドが先行し、プリモが遅れた場合は、セコンドは切り替えられていない「前の音」を演奏してしまうことになる。つまり、ポジション13の箇所でセコンドが先行してしまうと、セコンドは本来弾くべきB4の音ではなく、前の音であるC5の音を弾いてしまうことになり、不都合である。 Here, the meaning of the delay of Tw milliseconds in step S303 will be described. If the score is simply used, for example, at the moment when the primo plays the sound of S i = 13 (ie, D5), the playable sound of the second may be set to “B4” at position 13 at the same time. However, in reality, the primo and second performance timings cannot coincide with each other without any deviation. In some cases, the primo is slightly ahead, and in other cases, the second is slightly ahead. When the primo is ahead and the second is delayed, there is no problem even if the above simultaneous switching is performed, and the second can play the sound of B4 immediately after the primo plays the sound of D5 at the position of position 13. However, if the second precedes and the primo is delayed, the second will play the “previous sound” that is not switched. In other words, if the second precedes at the position 13, the second plays the C5 sound, which is the previous sound, instead of the B4 sound that should be played, which is inconvenient.

この問題を回避するために、Twミリ秒の間を設けて、その後にセコンドの演奏可能音を切り替えている。Twミリ秒の時間は、プリモとセコンドが同時発音すべき時に、セコンドがプリモよりも遅れる可能性のある時間幅の最大値で、現在のシステムでは200ミリ秒としている。つまり、このアルゴリズムでは、たとえばプリモがS=11のE5の音を弾いたTwミリ秒後に、セコンドが弾ける音はポジション12のC5の音に設定される。この状態で、プリモがS=12のE5を弾くと、その瞬間からTwミリ秒間は、セコンドは現在設定されているC5を弾ける状態が維持される。つまり、セコンドはプリモよりも遅延することTwミリ秒未満であれば、ここで弾くべき正しい音であるC5を演奏できる。しかし、Twミリ秒以上セコンドによる発音が無い場合は、セコンドが今弾くべき音を「弾き忘れた」とシステムは見なし、次のポジション13のB4の音を弾くべき音に設定し、次のプリモのS=13の発音に備える。このため、プリモがS=13のD5の音を演奏していない場合でも、セコンドの演奏音はすでにポジション13の音になっているため、セコンドがプリモに若干先行して発音してしまっても、演奏すべきポジション13のB4が正しく演奏される。以上のメカニズムによって、プリモとセコンドの演奏タイミングのずれによる演奏音の不一致の問題を吸収している。 In order to avoid this problem, a second playable sound is switched after Tw milliseconds. The time of Tw milliseconds is the maximum value of the time width in which the second may be delayed from the primo when the primo and the second should sound simultaneously, and is 200 milliseconds in the current system. In other words, in this algorithm, for example, the sound that the second can play is set to the C5 sound at position 12 after Tw milliseconds when the primo has played the E5 sound with S i = 11. In this state, when the primo plays E5 with S i = 12, the second can maintain the currently set C5 for Tw milliseconds. In other words, if the second is delayed from the primo by less than Tw milliseconds, the correct sound to be played here can be played C5. However, if there is no second pronunciation for Tw milliseconds or longer, the system assumes that the second sound has been “forgotten to play” and sets the B4 sound at the next position 13 as the sound to be played. To prepare for the pronunciation of S i = 13. For this reason, even if the primo is not playing the sound of D5 with S i = 13, the second performance sound is already the sound at position 13, so the second will sound slightly ahead of the primo. However, B4 at position 13 to be played is correctly played. With the above mechanism, the problem of inconsistency in performance sound due to a difference in performance timing between the primo and the second is absorbed.

続いて、図8に示す音高データ差替え処理について詳しく説明する。この図8の処理は、セコンドによる打鍵というイベントで駆動され、最初のステップS501で、コンピュータ20は、楽譜データを参照して、位置S+1にプリモの演奏すべき音があるかどうか判断する。“YES”ならそのままこのルーチンを抜けるが、“NO”なら、次のステップS503において、コンピュータ20は、セコンドが演奏可能な音を、楽譜データの位置S+1のセコンドの欄に指定されている音に変更する。 Next, the pitch data replacement process shown in FIG. 8 will be described in detail. The processing of FIG. 8 is driven by an event of keystroke by a second, and in the first step S501, the computer 20 refers to the score data and determines whether or not there is a sound to be played by the primo at the position S i +1. . If “YES”, the routine is exited as it is. If “NO”, in the next step S503, the computer 20 designates a sound that can be played by the second in the second column of the position S i +1 of the score data. Change to sound.

具体的に説明すると、図8の音高データ差替えのアルゴリズムは、プリモに演奏すべき音がなく、セコンドにのみ演奏すべき音がある場合の処理を行っている。ここで扱っている例で言えば、ポジション14〜16の場所がこの場合にあたる。プリモがポジション13のD5を演奏してTwミリ秒経過すると、セコンドの演奏可能音はポジション14のA4になっている。この状態でセコンドが打鍵するとこのA4の音が発音されると同時に、この図8のアルゴリズムが動作する。   More specifically, the pitch data replacement algorithm shown in FIG. 8 performs processing when there is no sound to be played in the primo and sound to be played only in the second. In the example handled here, the locations of positions 14 to 16 correspond to this case. When Primo plays D5 at position 13 and Tw milliseconds have elapsed, the second playable sound is A4 at position 14. When the second key is pressed in this state, the A4 sound is generated and the algorithm shown in FIG. 8 operates.

プリモ側の演奏位置Sは13のままなので、ポジションS+1(=14)のプリモの楽譜データを調べ、プリモがポジション14で演奏する音があるかどうかを確認する。この例では、プリモにはポジション14で演奏するデータがないので、条件判定は“NO”となる。この場合、現在の演奏位置をS=S+1(=14)とし、セコンドの演奏可能音をS+1(=15)のG4に設定する。この状態でセコンドが再度打鍵すると、G4の音が発音されると同時に、再度第2のアルゴリズムが動作し、以上と同様の処理を実施する。このようにして、プリモに演奏データが無い場合は、プリモではなくセコンドが演奏進行のイニシャティブを取って、プリモの演奏とは無関係に独自に演奏を進行させられるようになる。 Since the performance position S i on the primo side is still 13, the score data of the primo at the position S i +1 (= 14) is checked to check whether there is a sound that the primo plays at the position 14. In this example, since the primo has no data to be played at position 14, the condition determination is “NO”. In this case, the current performance position is set to S i = S i +1 (= 14), and the second performance possible sound is set to G4 of S i +1 (= 15). When the second key is pressed again in this state, the G4 sound is generated, and at the same time, the second algorithm operates again, and the same processing as described above is performed. In this way, when there is no performance data in the primo, the second, not the primo, takes the initiative of the performance progression, and the performance can proceed independently regardless of the performance of the primo.

なお、セコンドがまだポジション16まで演奏し終わっていない状態でプリモがポジション17の音E5を演奏した場合、演奏位置Sは一気にポジション17に移動し、セコンドの未演奏音は無視されることになる。これは、演奏位置判定ルーチンが、セコンドの演奏位置を考慮しておらず、プリモの演奏データと楽譜データのみを参照しているためである。しかし、これはアルゴリズムの不備ではない。なぜならば、この実施例のシステムはあくまでプリモ主導のシステムであり、セコンドが主導となるのは限られた箇所で例外的に生じる状態であるからである。ゆえに、たとえセコンドのみが演奏すべき箇所であっても、プリモが演奏を再開した場合は、即座にプリモに主導権を渡す必要がある。この結果、プリモが間違って早く次の演奏位置に移動してしまっても、セコンドは正しくプリモの演奏位置に相当する演奏音を発音できる。 It should be noted that, if the Primo in a state in which the seconds is not finished playing yet to the position 16 has been playing sound E5 of position 17, playing position S i is moved to the stretch position 17, to be non-performance sound of seconds are ignored Become. This is because the performance position determination routine does not consider the second performance position, and refers only to the performance data and score data of the primo. However, this is not a flaw in the algorithm. This is because the system of this embodiment is a primo-driven system to the last, and the second is led in a state that occurs exceptionally in a limited part. Therefore, even if only the second is to be played, if the primo resumes playing, it is necessary to immediately give the initiative to the primo. As a result, even if the primo mistakenly moves to the next performance position early, the second can correctly produce the performance sound corresponding to the performance position of the primo.

ところで、セコンドの打鍵があれば無条件にこの図8に示すアルゴリズムが起動されるので、実際にはプリモに演奏可能音が無い場合だけでなく、プリモに演奏可能音がある場合にもこの図8のアルゴリズムは起動する。しかし、その場合に、演奏位置S+1にプリモが演奏すべき音があるかの条件判定が“YES”となるため、演奏ポジションSもセコンドの演奏可能音も変更されない。つまりこの場合は結局何もしないでこのアルゴリズムは終わる。 By the way, if there is a second keystroke, the algorithm shown in FIG. 8 is started unconditionally, so this figure is not only when there is no playable sound in the primo but also when there is a playable sound in the primo. The algorithm of 8 is activated. In this case, however, the condition determination as to whether or not there is a sound to be played by the primo at the performance position S i +1 is “YES”, so neither the performance position S i nor the second performance sound is changed. In other words, in this case, the algorithm ends without doing anything.

以上のような、図7および図8に示す2つの簡単なアルゴリズムの非同期動作によって、プリモとセコンドの演奏位置が常に一致するように動作する。   As described above, the two simple algorithms shown in FIGS. 7 and 8 operate asynchronously so that the playing positions of the primo and the second always coincide.

発明者等が何組かのペアに頼んで行った実験によれば、いずれのペアも、この支援システムを利用することによって、すぐに合奏(連弾)が可能になった。   According to experiments conducted by the inventors asking several pairs, it was possible to perform ensembles (repetitions) immediately by using any of these pairs.

図1はこの発明の一実施例の合奏支援システムを示す概略ブロック図である。FIG. 1 is a schematic block diagram showing an ensemble support system according to an embodiment of the present invention. 図2は楽譜の記述形式の一例を示す図解図である。FIG. 2 is an illustrative view showing an example of a description format of a score. 図3は楽譜の一例を示す図解図である。FIG. 3 is an illustrative view showing an example of a score. 図4は図3の楽譜を記述した記述形式を示す図解図である。FIG. 4 is an illustrative view showing a description format in which the score of FIG. 3 is described. 図5は図3の楽譜に従った楽譜データの一例を示す図解図である。FIG. 5 is an illustrative view showing one example of score data according to the score of FIG. 図6は図1実施例における演奏位置判定処理の動作を示すフロー図である。FIG. 6 is a flowchart showing the operation of the performance position determination process in the embodiment of FIG. 図7は図1実施例における音高データ取得処理の動作を示すフロー図である。FIG. 7 is a flowchart showing the operation of the pitch data acquisition process in the FIG. 1 embodiment. 図8は図1実施例における音高データ差替え処理の動作を示すフロー図である。FIG. 8 is a flowchart showing the operation of the pitch data replacement process in the embodiment of FIG.

符号の説明Explanation of symbols

10 …合奏支援システム
12 …プリモ用入力インタフェース
14 …セコンド用入力インタフェース
16 …MIDI音源
18 …スピーカ
20 …コンピュータ
22 …楽譜データベース
DESCRIPTION OF SYMBOLS 10 ... Concert support system 12 ... Primo input interface 14 ... Second input interface 16 ... MIDI sound source 18 ... Speaker 20 ... Computer 22 ... Musical score database

Claims (7)

第1奏者によって操作され、演奏に応じて第1演奏データを出力する第1入力インタフェース、
第2奏者によって操作され、演奏に応じて第2演奏データを出力する第2入力インタフェース、
演奏位置と、各演奏位置毎の前記第1奏者が演奏すべき音の音高データと、各演奏位置毎の前記第2奏者が演奏すべき音の音高データとを含む楽譜データを格納する楽譜データベース、
前記第1演奏データと前記楽譜データとに基づいて前記第1奏者の演奏位置を判定する演奏位置判定手段、
前記楽譜データを参照して前記演奏位置判定手段によって判定された前記第1奏者の演奏位置における前記第2奏者が演奏すべき音の音高データを取得する音高データ取得手段、
前記第2演奏データの内の音高データだけを前記音高データ取得手段が取得した音高データに差し替える音高データ差替え手段、および
前記第1演奏データと、前記音高データ差替え手段によって音高データだけが差し替えられた前記第2演奏データとに応じて発音する発音手段を備える、合奏支援システム。
A first input interface operated by the first player and outputting first performance data in accordance with the performance;
A second input interface operated by the second player and outputting second performance data in accordance with the performance;
Music score data including performance positions, pitch data of sounds to be played by the first player at each performance position, and pitch data of sounds to be played by the second player at each performance position is stored. Music score database,
Performance position determination means for determining the performance position of the first player based on the first performance data and the score data;
Pitch data acquisition means for acquiring pitch data of a sound to be played by the second player at the performance position of the first player determined by the performance position determination means with reference to the score data;
Pitch data replacement means for replacing only pitch data in the second performance data with pitch data acquired by the pitch data acquisition means, and pitches by the first performance data and the pitch data replacement means An ensemble support system comprising sound generation means for generating sound in response to the second performance data in which only data is replaced.
前記演奏位置判定手段は、
前記第1演奏データの音高と前記楽譜データの音高とを比較することによって前記楽譜データ上の前記第1奏者が演奏すべきすべての音の現時点での重みを評価する重み評価手段、
1つ前の時点の演奏位置のその時点での重みと当該1つ前の時点の演奏位置の前記楽譜データ上の次の演奏位置の現時点での重みとが所定の条件を充足するか否かを判断する充足判断手段、および
前記充足判断手段が前記所定の条件を充足すると判断した場合に、前記楽譜データ上の前記次の演奏位置を現時点の演奏位置と決定する第1決定手段を含む、請求項1記載の合奏支援システム。
The performance position determination means includes
Weight evaluation means for evaluating the current weights of all sounds to be played by the first player on the score data by comparing the pitch of the first performance data with the pitch of the score data;
Whether or not the weight at that time of the previous performance position and the current weight of the next performance position on the musical score data at the previous performance position satisfy a predetermined condition Satisfaction judgment means for judging, and
2. The ensemble support system according to claim 1, further comprising: a first determination unit that determines the next performance position on the score data as a current performance position when the satisfaction determination unit determines that the predetermined condition is satisfied. .
前記重み評価手段は、
前記第1演奏データの現時点の音高と前記楽譜データの前記第1奏者が演奏すべきすべての演奏位置の音の音高とを比較する比較手段、および
前記比較手段による比較の結果両者が一致する場合に、その音高が一致する前記楽譜データ上の演奏位置の現時点での重みを1つ前の演奏位置の1つ前の時点の重みに所定値を加えたものとし、前記比較手段による比較の結果両者が一致しない場合に、その音高が一致しない前記楽譜データ上の演奏位置の現時点での重みを1つ前の演奏位置の1つ前の時点の重みから所定値を引いたものとする重み算出手段を含み、
前記充足判断手段は、1つ前の時点の演奏位置のその時点での重みに所定値を加えたものが、当該1つ前の時点の演奏位置の前記楽譜データ上の次の演奏位置の現時点の重みに等しいという条件を充足するか否かを判断する、請求項2記載の合奏支援システム。
The weight evaluation means includes
Comparing means for comparing the current pitch of the first performance data with the pitches of all performance positions to be played by the first player of the score data; and
When the comparison results by the comparison means match, the weight at the present time of the performance position on the score data whose pitch matches is a predetermined value as the weight at the previous time of the previous performance position. If the comparison results by the comparison means do not match, the current weight of the performance position on the score data where the pitches do not match is the previous one before the performance position. Including a weight calculation means that subtracts a predetermined value from the weight at the time,
The sufficiency determination means adds the predetermined value to the weight at the time of the previous performance point and adds the predetermined value to the current position of the next performance position on the score data of the previous performance point. The ensemble support system according to claim 2, wherein it is determined whether or not a condition of being equal to the weight of the ensemble is satisfied .
前記楽譜データは、弾き直しが発生し易い演奏位置を指定演奏位置として設定しておき、
前記演奏位置判定手段は、
前記充足判断手段が前記条件を充足しないと判断したとき、最初から現在の演奏位置までのすべての前記指定演奏位置の重みの値を、1つ前の時点の演奏位置の前記楽譜データ上の次の演奏位置の現時点の重みの値より所定値だけ小さく設定する第1重み設定手段、
1つ前の時点の演奏位置を基点に前記楽譜データ上で所定値だけ前の演奏位置から所定値だけ後までの演奏位置の現時点での重みを、1つ前の時点の演奏位置の前記楽譜データ上の次の演奏位置の現時点の重みと同じ値に設定する第2重み設定手段、および
最大の重みを有する演奏位置を現時点の演奏位置と決定する第2決定手段を含む、請求項2または3記載の合奏支援システム。
The musical score data has a performance position where replaying is likely to occur as a designated performance position,
The performance position determination means includes
When the satisfaction determination means determines that the condition is not satisfied, the weight values of all the designated performance positions from the beginning to the current performance position are set to the next on the score data of the performance position of the previous time point. First weight setting means for setting a predetermined value smaller than the current weight value of the performance position ;
Based on the performance position at the previous time point, the current weight of the performance position from the performance position before the predetermined value on the musical score data by the predetermined value is used as the score at the performance position at the previous time point. Second weight setting means for setting the same value as the current weight of the next performance position on the data; and
The ensemble support system according to claim 2 or 3, further comprising second determining means for determining a performance position having the maximum weight as a current performance position .
前記演奏位置判定手段は、最大の重みを有する演奏位置が複数存在するか否かを判断する第1存在判断手段を含み、
前記第2決定手段は、前記第1存在判断手段が、最大の重みを有する演奏位置が複数存在しないと判断したとき、前記最大の重みを有する演奏位置を現時点の演奏位置として決定する、請求項4記載の合奏支援システム。
The performance position determination means includes first presence determination means for determining whether or not there are a plurality of performance positions having the maximum weight ,
Said second determining means, wherein the first existence determining means, when Starring Kanade position that have a maximum weight has been determined that no more exist, playing position of the current the Starring Kanade position that having a weight of said maximum The ensemble support system according to claim 4, which is determined as:
前記演奏位置判定手段は、前記第1存在判断手段が、最大の重みを有する演奏位置が複数存在すると判断したとき、最大の重みを有し前記楽譜データ上で1つ前の時点の演奏位置に最も近い演奏位置が複数存在するか否かを判断する第2存在判断手段を含み、
前記第2決定手段は、前記第2存在判断手段が、最大の重みを有し前記楽譜データ上で1つ前の演奏位置に最も近い演奏位置が複数存在すると判断したとき、最大の重みを有し前記楽譜データ上で1つ前の時点の演奏位置に最も近い演奏位置のうち、1つ前の時点の演奏位置より前である演奏位置を現時点の演奏位置として決定する、請求項記載の合奏支援システム。
When the first presence determination unit determines that there are a plurality of performance positions having the maximum weight, the performance position determination unit has the maximum weight and the performance position of the previous time point on the score data. A second presence determining means for determining whether or not there are a plurality of closest performance positions;
The second determination means has the maximum weight when the second presence determination means determines that there are a plurality of performance positions closest to the previous performance position on the score data having the maximum weight. and among the closest performance position in playing position of the previous point on the score data, determines a playing position is before playing position of the previous time as the performance position of the current, according to claim 5, wherein Ensemble support system.
前記演奏位置判定手段は、前記第1存在判断手段が、最大の重みを有する演奏位置が複数存在すると判断したとき、最大の重みを有し前記楽譜データ上で1つ前の時点の演奏位置に最も近い演奏位置が複数存在するか否かを判断する第2存在判断手段を含み、When the first presence determination unit determines that there are a plurality of performance positions having the maximum weight, the performance position determination unit has the maximum weight and the performance position of the previous time point on the score data. A second presence determining means for determining whether or not there are a plurality of closest performance positions;
前記第2決定手段は、前記第2存在判断手段が、最大の重みを有し前記楽譜データ上で1つ前の時点の演奏位置に最も近い演奏位置が複数存在しないと判断したとき、最大の重みを有し前記楽譜データ上で1つ前の時点の演奏位置に最も近い演奏位置を現時点の演奏位置として決定する、請求項5記載の合奏支援システム。When the second determining means determines that there are not a plurality of performance positions closest to the previous performance position on the score data having the maximum weight, the second determination means 6. The ensemble support system according to claim 5, wherein a performance position that has a weight and is closest to the previous performance position on the score data is determined as the current performance position.
JP2004059540A 2004-03-03 2004-03-03 Concert support system Expired - Fee Related JP4368222B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004059540A JP4368222B2 (en) 2004-03-03 2004-03-03 Concert support system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004059540A JP4368222B2 (en) 2004-03-03 2004-03-03 Concert support system

Publications (2)

Publication Number Publication Date
JP2005250053A JP2005250053A (en) 2005-09-15
JP4368222B2 true JP4368222B2 (en) 2009-11-18

Family

ID=35030594

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004059540A Expired - Fee Related JP4368222B2 (en) 2004-03-03 2004-03-03 Concert support system

Country Status (1)

Country Link
JP (1) JP4368222B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4743612B2 (en) * 2005-07-28 2011-08-10 株式会社国際電気通信基礎技術研究所 Performance learning support system
JP4797523B2 (en) 2005-09-12 2011-10-19 ヤマハ株式会社 Ensemble system
JP4692189B2 (en) 2005-09-28 2011-06-01 ヤマハ株式会社 Ensemble system
JP4752425B2 (en) 2005-09-28 2011-08-17 ヤマハ株式会社 Ensemble system

Also Published As

Publication number Publication date
JP2005250053A (en) 2005-09-15

Similar Documents

Publication Publication Date Title
US7663044B2 (en) Musical performance self-training apparatus
JP6040809B2 (en) Chord selection device, automatic accompaniment device, automatic accompaniment method, and automatic accompaniment program
TWI497484B (en) Performance evaluation device, karaoke device, server device, performance evaluation system, performance evaluation method and program
JP7035697B2 (en) Singing practice device, singing practice method, and program
JP6977323B2 (en) Singing voice output method, voice response system, and program
CN102419969A (en) Key determination apparatus and storage medium storing key determination program
KR102433890B1 (en) Artificial intelligence-based instrument performance assistance system and method
JP4368222B2 (en) Concert support system
JP2013083845A (en) Device, method, and program for processing information
JP4743612B2 (en) Performance learning support system
JP2007241026A (en) Simple musical score creating device and simple musical score creating program
JP4360356B2 (en) Concert support system
JP2733161B2 (en) Training device with automatic performance piano
JP6421811B2 (en) Code selection method and code selection device
US10002541B1 (en) Musical modification method
Jordanous et al. Investigating the role of score following in automatic musical accompaniment
Tekin et al. Towards an intelligent score following system: Handling of mistakes and jumps encountered during piano practicing
JP2017125955A (en) Keyboard with accompaniment function
JP4162556B2 (en) Information search and display device for codes
WO2023182005A1 (en) Data output method, program, data output device, and electronic musical instrument
Wyatt et al. Ear training for the contemporary musician
JP2017173641A (en) Score display control device and program
JP6658785B2 (en) Automatic accompaniment method and automatic accompaniment device
Amerotti et al. A Live Performance Rule System Informed by Irish Traditional Dance Music
Ishimura Creating a new interpretation of Chopin's piano music using a comparison of modern and historical instruments through the performance of the second piano sonata

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060907

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080115

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080129

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080328

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090707

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090723

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4368222

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

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