JP6439239B2 - Performance data file search method, system, program, terminal device, and server device - Google Patents

Performance data file search method, system, program, terminal device, and server device Download PDF

Info

Publication number
JP6439239B2
JP6439239B2 JP2013195534A JP2013195534A JP6439239B2 JP 6439239 B2 JP6439239 B2 JP 6439239B2 JP 2013195534 A JP2013195534 A JP 2013195534A JP 2013195534 A JP2013195534 A JP 2013195534A JP 6439239 B2 JP6439239 B2 JP 6439239B2
Authority
JP
Japan
Prior art keywords
melody
performance data
data file
search
song
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.)
Active
Application number
JP2013195534A
Other languages
Japanese (ja)
Other versions
JP2015060177A (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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2013195534A priority Critical patent/JP6439239B2/en
Publication of JP2015060177A publication Critical patent/JP2015060177A/en
Application granted granted Critical
Publication of JP6439239B2 publication Critical patent/JP6439239B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Auxiliary Devices For Music (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

本発明は、ユーザが選曲したオーディオ曲に対応する演奏データファイルを取得する技術に関する。   The present invention relates to a technique for acquiring a performance data file corresponding to an audio song selected by a user.

昨今、音楽はデジタル化され、CD(コンパクトディスク)を購入するか、インターネット上の音楽サイトなどからデータをダウンロード購入するのが一般的である。元となるオーディオデータを作るのも、ジャンルによってはパソコン一台で制作することが可能である。このように音楽制作や販売方法が簡略化され効率化されたために、楽曲のライフサイクルは短くなり、大量の曲が作られるようになった。また、このような音楽制作環境の変化により、大手の音楽制作会社を通じなくても簡単に音楽データを作れるようになったために、マイナーレーベルからもどんどん曲が作られるようになった。   Nowadays, music is digitized and it is common to purchase CDs (compact discs) or download data from music sites on the Internet. The original audio data can also be created on a single computer depending on the genre. As music production and sales methods have been simplified and streamlined in this way, the life cycle of songs has become shorter and a large number of songs have been created. In addition, because of this change in the music production environment, music data can be created easily without going through a major music production company, so more and more songs are made from minor labels.

これらの楽曲のうち歌のある曲については、カラオケなどで歌えるようにするため、多くの曲がSMF(Standard MIDI File:標準MIDIファイル)データとして作られ供給されている(例えば特許文献1)。中には全て生伴奏だったり、コーラスのみ生のオーディオデータだったりするものもあるが、カラオケする人の歌の上手い下手を採点する機能のあるものについては、基準となる正解音程が必要であるため、MIDIデータを持っているものが多い。オーディオ伴奏が増えてきたとはいえ、テンポ変化や、調変化をする上で便利なので、SMFデータのカラオケのほうがいまだに多い状況である。   Of these music pieces, there are songs that have songs, so that many songs are created and supplied as SMF (Standard MIDI File) data (for example, Patent Document 1). Some of them are live accompaniment or only audio data of chorus only, but for those with the function of scoring good and bad karaoke songs, a standard correct pitch is required Therefore, many have MIDI data. Although the number of audio accompaniments has increased, karaoke with SMF data is still more common because it is convenient for changing the tempo and changing the key.

特開2012−150393号公報JP 2012-150393 A

一方、電子楽器においては、ヒット曲やクラシック曲を内蔵曲用SMFデータとして備え、このデータをもとに鍵盤を光らせたり、レッスンさせたりする機能がある。200曲以上内蔵曲を入れている機種もあるが、ほとんどがクラシック曲であり、ライフサイクルの短いポップス曲などはごく一部しか含まれていない。このため、ユーザそれぞれが聴いている音楽を弾きたいと思うと、内蔵曲に含まれていないことのほうが多く、わざわざ楽曲サイトに行ってSMFデータ等による演奏データファイルを購入しなければならない。とはいえ、購入できる楽曲も一部であり、全ての曲が購入できるわけではない。このように、ユーザは従来、電子楽器での利用等に供するために自分が所望する楽曲に対応する演奏データファイルを得たいと思っても、その演奏データファイルの取得に手間がかかってしまう場合が多いという問題点を有していた。   On the other hand, electronic musical instruments have hit songs and classic songs as built-in song SMF data, and have a function of making a keyboard glow or lesson based on this data. Some models have more than 200 built-in songs, but most are classical songs, and only a few pop songs with a short life cycle are included. For this reason, when the user wants to play the music that each user listens to, it is often not included in the built-in music, and it is necessary to go to the music site and purchase a performance data file such as SMF data. However, some songs can be purchased, and not all songs can be purchased. As described above, even when the user wants to obtain a performance data file corresponding to a music piece desired by the user for use in an electronic musical instrument or the like, conventionally, it takes time to acquire the performance data file. There was a problem that there were many.

本発明は、ユーザが選曲したオーディオ曲に対応する演奏データファイルをクラウドサーバ上等にある演奏データファイルデータベースから自動的に取得可能とすることを目的とする。   An object of the present invention is to automatically obtain a performance data file corresponding to an audio song selected by a user from a performance data file database on a cloud server or the like.

態様の一例における演奏データファイル検索方法では、曲を識別するインデックスが付与されている、前記曲を表わす音高データ列を含む演奏データファイルを、演奏データファイルデータベースから検索する第1のインデックス検索を実行し、当該第1のインデックス検索により、前記演奏データファイルが発見できなかった場合、前記曲に対応するボーカル付きのオーディオデータ及び前記曲に対応するボーカル無しのオーディオデータに基づいて抽出された前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出する第1のメロディ抽出を実行し、当該抽出された音高データ列に合う前記演奏データファイルを、第1の合致基準に基づいて前記演奏データファイルデータベースから検索する第1のメロディ検索を実行し、前記第1のインデックス検索と前記第1のメロディ検索との少なくとも一方の検索結果に基づいて、前記曲に対応する演奏データファイルを前記演奏データファイルデータベースから取得する。 In the performance data file search method in an example of the aspect, a first index search is performed to search a performance data file including a pitch data string representing the music, to which an index for identifying the music is assigned, from the performance data file database. And when the performance data file cannot be found by the first index search, the audio data extracted with the vocal corresponding to the song and the audio data without the vocal corresponding to the song are extracted. A first melody extraction is performed to extract a pitch data string representing the melody part of the song from the audio data including the melody part of the song, and the performance data file matching the extracted pitch data string is Search from the performance data file database based on one match criterion A first melody search is executed, and a performance data file corresponding to the song is acquired from the performance data file database based on the search result of at least one of the first index search and the first melody search. .

本発明によれば、ーディオ曲に対応する演奏データファイルをクラウドサーバから取得することが可能となる。 According to the present invention, it is possible to acquire performance data file corresponding to the O Dio songs from the cloud server.

本発明の実施形態のシステム構成例を示す図である。It is a figure which shows the system configuration example of embodiment of this invention. 端末装置のハードウェア構成例と、クラウドサーバ102の機能構成例を示す図である。It is a figure which shows the hardware structural example of a terminal device, and the functional structural example of the cloud server 102. FIG. オーディオ曲とSMFデータのマッチング処理を示すフローチャートである。It is a flowchart which shows the matching process of an audio music and SMF data. SMFデータをレッスンデータに調整する処理を示すフローチャートである。It is a flowchart which shows the process which adjusts SMF data to lesson data. メロディ音色変更処理を示すフローチャートである。It is a flowchart which shows a melody tone color change process. ジャンル検出処理を示すフローチャートである。It is a flowchart which shows a genre detection process. オーディオデータとSMFデータの同期処理を示すフローチャートである。It is a flowchart which shows the synchronization process of audio data and SMF data. インデックス(Index)のデータ構成例を示す図である。It is a figure which shows the example of a data structure of an index (Index). メロディ音色変更のための音色グループデータベースのデータ構成例を示す図である。It is a figure which shows the example of a data structure of the timbre group database for a melody timbre change.

以下、本発明を実施するための形態について図面を参照しながら詳細に説明する。   Hereinafter, embodiments for carrying out the present invention will be described in detail with reference to the drawings.

図1は、本発明の実施形態のシステム構成例を示す図である。   FIG. 1 is a diagram showing a system configuration example according to an embodiment of the present invention.

端末装置101は、スマートフォン、タブレット端末、パーソナルコンピュータなどの、通信機能のあるコンピュータである。この端末装置101の例えばUSB(Universal Serial Bus)コネクタと、光鍵盤キーボード103の例えばMIDI(Musical Digital Interface)コネクタは、接続ケーブルによって接続することができる。また、端末装置101は、無線回線やブロードバンドの光回線またはメタル回線からインターネットを介して、サーバコンピュータであるクラウドサーバ102と通信することができる。   The terminal device 101 is a computer having a communication function, such as a smartphone, a tablet terminal, or a personal computer. A USB (Universal Serial Bus) connector, for example, of the terminal device 101 and a MIDI (Musical Digital Interface) connector, for example, of the optical keyboard keyboard 103 can be connected by a connection cable. The terminal device 101 can communicate with the cloud server 102 as a server computer via the Internet from a wireless line, a broadband optical line, or a metal line.

端末装置101は、ユーザの操作に基づいて、その本体内に記憶されているオーディオ曲を選択し、そのオーディオ曲に対応するカラオケ用のSMF(Standard MIDI Format)データの検索要求を、クラウドサーバ102に対して発行する。検索要求には、オーディオデータのインデックス(以下「Index」とも表記する)に関するものと、メロディデータの音高データ列に関するものがある。クラウドサーバ102は、自身が記憶するカラオケ用SMFデータベース223に対して検索要求に対応する検索処理を実行し、該当するSMFデータを抽出する。とクラウドサーバ102にあるカラオケ用SMFデータのインデックスを比較する。クラウドサーバ102は、カラオケ用のSMFデータを抽出できたら、それを端末装置101に送信する。   The terminal device 101 selects an audio song stored in the main body based on the user's operation, and sends a search request for SMF (Standard MIDI Format) data for karaoke corresponding to the audio song to the cloud server 102. Issued against. Search requests include those relating to audio data indexes (hereinafter also referred to as “Index”) and those relating to pitch data strings of melody data. The cloud server 102 executes a search process corresponding to the search request on the SMF database 223 for karaoke stored by itself, and extracts the corresponding SMF data. And the index of the SMF data for karaoke in the cloud server 102 are compared. When the cloud server 102 can extract the SMF data for karaoke, it transmits it to the terminal device 101.

端末装置101は、ダウンロードされたSMFデータから、レッスン機能などの修正を加えて光鍵データを生成し、それを光鍵盤キーボード103へ送信する。ユーザは、その光鍵データに基づいて、光鍵盤キーボード103において、端末装置101で選択した好きなオーディオ曲をレッスンすることができる。   The terminal apparatus 101 generates optical key data by modifying the downloaded SMF data, such as a lesson function, and transmits it to the optical keyboard 103. Based on the optical key data, the user can lesson a favorite audio tune selected by the terminal device 101 on the optical keyboard keyboard 103.

なお、SMFデータから光鍵データへの変換は、端末装置101ではなく、光鍵盤キーボード103において実行されてもよい。   The conversion from the SMF data to the optical key data may be executed not by the terminal device 101 but by the optical keyboard keyboard 103.

図2は、図1に示した端末装置101のハードウェア構成例と、クラウドサーバ102の機能構成例を示す図である。   FIG. 2 is a diagram illustrating a hardware configuration example of the terminal device 101 illustrated in FIG. 1 and a functional configuration example of the cloud server 102.

端末装置101は、CPU(中央演算処理装置)201、ROM(リードオンリーメモリ)202、RAM(ランダムアクセスメモリ)203、入力部204、表示部205、MIDIインタフェース部(以下「MIDI I/F」と表記する)206、およびネットワークインタフェース部207が、バス208によって相互に接続された構成を備える。MIDI I/F206は、外部(内蔵でもよい)の光鍵盤キーボード103(図1参照)に接続される。   The terminal device 101 includes a CPU (Central Processing Unit) 201, a ROM (Read Only Memory) 202, a RAM (Random Access Memory) 203, an input unit 204, a display unit 205, a MIDI interface unit (hereinafter referred to as “MIDI I / F”). (Noted) 206 and the network interface unit 207 are connected to each other by a bus 208. The MIDI I / F 206 is connected to an external (or built-in) optical keyboard keyboard 103 (see FIG. 1).

CPU201は、ROM202に記憶された制御プログラムに従って、当該端末装置101の全体の制御を行う。   The CPU 201 performs overall control of the terminal device 101 in accordance with a control program stored in the ROM 202.

ROM202は、通常の通信機器やコンピュータとしての制御プログラムや、後述する各フローチャートで示されるレッスンデータ生成のための制御プログラムを記憶する。   The ROM 202 stores a control program as a normal communication device or computer, and a control program for generating lesson data shown in each flowchart described later.

RAM203は、制御プログラムの実行に必要な各種制御データや、オーディオ曲データを記憶し、また、クラウドサーバ102などから取得したSMFデータを一時的に記憶する。   The RAM 203 stores various control data necessary for execution of the control program and audio song data, and temporarily stores SMF data acquired from the cloud server 102 or the like.

入力部204は、ユーザによるタッチパネルディスプレイ(スマートフォンやタブレット端末の場合)、あるいはキーボードやマウス(パーソナルコンピュータの場合)、また各種スイッチ等による入力操作を検出し、その検出結果をCPU201に通知する。   The input unit 204 detects an input operation by a user using a touch panel display (in the case of a smartphone or tablet terminal), a keyboard or a mouse (in the case of a personal computer), or various switches, and notifies the CPU 201 of the detection result.

表示部205は、CPU201の制御によって送られてくるデータを液晶ディスプレイなどに出力する。例えば、表示部205は、オーディオ曲選曲用の画面などを表示する。   The display unit 205 outputs data sent under the control of the CPU 201 to a liquid crystal display or the like. For example, the display unit 205 displays a screen for audio song selection.

MIDI I/F206は、SMFデータから生成されたMIDIフォーマットの光鍵データを、光鍵盤キーボード103に供給する。   The MIDI I / F 206 supplies the optical key data in the MIDI format generated from the SMF data to the optical keyboard keyboard 103.

ネットワークインタフェース部207は、例えば無線通信機能あるいはブロードバンド通信機能である。ネットワークインタフェース部207は、クラウドサーバ102内のネットワークインタフェース部221と通信をしながら、クラウドサーバ102内のカラオケ用SMFデータベース223にアクセスし、その結果を、CPU201に通知する。   The network interface unit 207 has a wireless communication function or a broadband communication function, for example. The network interface unit 207 accesses the SMF database 223 for karaoke in the cloud server 102 while communicating with the network interface unit 221 in the cloud server 102 and notifies the CPU 201 of the result.

図2において、クラウドサーバ102は、カラオケ用SMFデータベース223を備える。また、クラウドサーバ102は、端末装置101内のネットワークインタフェース部207と通信をするネットワークインタフェース部221、およびカラオケ用SMFデータベース223へのアクセスを制御するデータベース管理部222の機能を備える。データベース管理部222の機能は、特には図示しないが、通常のコンピュータを構成するCPU、ROM、RAM、外部記憶装置等によって実現される。CPUは、ROMまたは外部記憶装置からRAMにロードしたデータベース管理プログラムを実行することにより、データベース管理部222の機能を実現する。また、カラオケ用SMFデータベース223は、例えば外部記憶装置に記憶される。   In FIG. 2, the cloud server 102 includes a karaoke SMF database 223. The cloud server 102 also has functions of a network interface unit 221 that communicates with the network interface unit 207 in the terminal device 101 and a database management unit 222 that controls access to the karaoke SMF database 223. The function of the database management unit 222 is realized by a CPU, a ROM, a RAM, an external storage device, and the like that constitute a normal computer, although not particularly illustrated. The CPU implements the function of the database management unit 222 by executing a database management program loaded into the RAM from the ROM or the external storage device. Further, the SMF database for karaoke 223 is stored in, for example, an external storage device.

本実施形態による端末装置101の動作は、後述する図3から図7のフローチャート等で実現される図1の各部の機能処理を搭載した制御プログラムを、CPU101がROM102から読み出して順次実行することで実現される。そのプログラムは、特には図示しない可搬型記録媒体を介して提供されてもよく、或いは特には図示しないネットワークインタフェース部207を介してネットワークから取得できるようにしてもよい。   The operation of the terminal device 101 according to the present embodiment is performed by the CPU 101 reading out from the ROM 102 and sequentially executing a control program loaded with the function processing of each unit of FIG. 1 realized by the flowcharts of FIGS. Realized. The program may be provided via a portable recording medium (not shown), or may be acquired from the network via a network interface unit 207 (not shown).

以下、本発明の実施形態の動作について、フローチャートに沿って説明する。なお、各フローチャートの説明において、随時図2の各部を参照するものとする。   Hereinafter, the operation of the embodiment of the present invention will be described along a flowchart. In the description of each flowchart, each part in FIG. 2 is referred to as needed.

図3は、オーディオ曲とSMFデータのマッチング処理を示すフローチャートである。この処理は、CPU201が、ROM202に記憶された端末側のオーディオ曲とSMFデータのマッチング処理プログラムを実行すると共に、端末装置101からの要求に従ってクラウドサーバ102内のデータベース管理部222がカラオケ用SMFデータベース223へのアクセスを行うクラウド側のオーディオ曲とSMFデータのマッチング処理プログラムを実行する処理である。図3において、色の濃い部分のステップは、クラウドサーバ102内のデータベース管理部222が実行する処理であり、それ以外のステップは、端末装置101内のCPU201が実行する処理である。   FIG. 3 is a flowchart showing a matching process between an audio song and SMF data. In this process, the CPU 201 executes a terminal-side audio song and SMF data matching processing program stored in the ROM 202, and the database management unit 222 in the cloud server 102 performs a karaoke SMF database in accordance with a request from the terminal device 101. 223 is a process of executing a matching processing program for audio music on the cloud side that accesses the H.223 and SMF data. In FIG. 3, the steps in dark portions are processes executed by the database management unit 222 in the cloud server 102, and the other steps are processes executed by the CPU 201 in the terminal device 101.

まず、ユーザが、端末装置101の入力部204から、光鍵盤キーボード103でレッスンをしたいオーディオ曲を、内蔵の楽曲データベース上で、またはインターネット上の楽曲提供サイト上で選択する。この結果、オーディオ曲の選択情報が、入力部204からCPU201に通知される(以上、ステップS301)。   First, the user selects, from the input unit 204 of the terminal device 101, an audio song to be lessond using the optical keyboard 103 on the built-in music database or on a music providing site on the Internet. As a result, the audio tune selection information is notified from the input unit 204 to the CPU 201 (step S301).

CPU201は、ステップS301で選択されたオーディオ曲のインデックス情報(以下単に「インデックス」あるいは「Index」と表記する)を、内蔵の楽曲データベースまたはネットワークインタフェース部207を介してインターネット上の楽曲提供サイトから取得する。そして、CPU201は、そのインデックスを、RAM203上の変数A_Indexに記憶する。以下の説明で、「A_Index」と表記したときは、変数名を指すと共に、そのインデックスの値そのものの意味でも使うものとする。CPU201は、A_Indexを含む第1の検索要求を発行して、ネットワークインタフェース部207を介してクラウドサーバ102に送信する(以上、ステップS302)。第1の検索要求は、クラウドサーバ102内のネットワークインタフェース部221を介して、データベース管理部222で受信される。   The CPU 201 acquires index information (hereinafter simply referred to as “index” or “Index”) of the audio song selected in step S301 from a music providing site on the Internet via the built-in music database or the network interface unit 207. To do. Then, the CPU 201 stores the index in a variable A_Index on the RAM 203. In the following description, when “A_Index” is described, it indicates a variable name and is also used in the meaning of the index value itself. The CPU 201 issues a first search request including A_Index and transmits it to the cloud server 102 via the network interface unit 207 (step S302 above). The first search request is received by the database management unit 222 via the network interface unit 221 in the cloud server 102.

データベース管理部222は、第1の検索要求を受信すると、カラオケ用SMFデータベース223内の曲名インデックス(Index)にアクセスして、端末装置101が通知したA_Indexと完全一致するインデックスを検索する、第1のインデックス検索を実施する(ステップS303)。図8は、カラオケ用SMFデータベース223内の曲名インデックスのデータ構成例を示す図である。このデータ構成例の中の、「曲名:カナ」の項目を使って、A_Indexと一致するインデックスを検索することができる。   Upon receiving the first search request, the database management unit 222 accesses the song title index (Index) in the karaoke SMF database 223 and searches for an index that completely matches the A_Index notified by the terminal device 101. An index search is performed (step S303). FIG. 8 is a diagram showing a data configuration example of the song title index in the SMF database 223 for karaoke. An index that matches A_Index can be searched using the item “Song Title: Kana” in this data configuration example.

データベース管理部222は、曲名インデックス内にA_Indexと完全一致するインデックスが見つかったか否かを判定する(ステップS304)。   The database management unit 222 determines whether an index that completely matches A_Index is found in the song title index (step S304).

データベース管理部222は、第1のインデックス検索に成功しステップS304の判定がYESになると、ステップS316の処理に移行する。ここで、データベース管理部222は、見つかったインデックスに対応する本体のSMFデータをカラオケ用SMFデータベース223から選択する。データベース管理部222は、そのSMFデータを、ネットワークインタフェース部221を介して端末装置101に送信する。この結果、CPU201が、ネットワークインタフェース部207を介してそのSMFデータを受信し、RAM203に記憶して、図3のフローチャートの処理を終了する。   If the first index search is successful and the determination in step S304 is YES, the database management unit 222 proceeds to the process in step S316. Here, the database management unit 222 selects the SMF data of the main body corresponding to the found index from the SMF database 223 for karaoke. The database management unit 222 transmits the SMF data to the terminal device 101 via the network interface unit 221. As a result, the CPU 201 receives the SMF data via the network interface unit 207, stores it in the RAM 203, and ends the process of the flowchart of FIG.

第1のインデックス検索に失敗しステップS304の判定がNOになって、データベース管理部222がその旨を端末装置101に返すと、CPU201は、以下の動作を実行する。CPU201は、端末装置101内のRAM203または特には図示しない外部記憶装置に記憶されている楽曲データベース中に、ステップS301で選曲されたオーディオ曲に対応するボーカル付きのオーディオデータとそのカラオケバージョン(インスゥルメントバージョン)が有るか否かを判定する(ステップS305)。オーディオデータとして提供される楽曲の中には、ボーカルが無いいわゆるカラオケバージョンのデータがセットで入れられている場合が多い。本実施形態では、クラウドサーバ102上でSMFデータが見つからなかったときには、このカラオケバージョンを利用する。   When the first index search fails and the determination in step S304 is NO and the database management unit 222 returns to that effect to the terminal device 101, the CPU 201 executes the following operation. The CPU 201 stores audio data with vocals corresponding to the audio song selected in step S301 and its karaoke version (instrument version) in the music database stored in the RAM 203 in the terminal device 101 or in particular an external storage device (not shown). It is determined whether or not there is a document version (step S305). In many pieces of music provided as audio data, so-called karaoke version data without vocals is often included as a set. In this embodiment, when the SMF data is not found on the cloud server 102, this karaoke version is used.

カラオケバージョンのオーディオデータが見つかってステップS305の判定がYESになると、CPU201は、ボーカル付きのオーディオデータの時間信号から、ボーカルなしのカラオケデータのオーディオデータの時間信号を、両方の開始時間を合わせた上で差し引くことにより、オーディオデータのメロディ部分を第1のメロディデータとして抽出する。オーディオデータからのメロディ抽出そのものはセンターカットやボーカルの音域照合などである程度可能であるが、例えばコーラスパートとメロディパートの違いを正確に判断するのは難しいなど、完璧ではない。しかし、カラオケバージョンがある曲の場合、ボーカル付きのオーディオデータとボーカル無しのオーディオデータは共に同じ音源から作成されているため、上述の減算処理により、ボーカルパートのみのメロディ抽出を高い精度で行うことができる。CPU201は、このようにして抽出した第1のメロディデータに対してピッチの分析・抽出の分析を実行することにより、第1のメロディデータ(メロディパート)の音高の列からなる第1の音高データ列を抽出することができる(以上、ステップS306)。   When the karaoke version audio data is found and the determination in step S305 is YES, the CPU 201 combines the start time of the audio data time signal of the karaoke data without vocals from the time signal of the audio data with vocals. By subtracting above, the melody portion of the audio data is extracted as the first melody data. Melody extraction from audio data can be performed to some extent by center cut and vocal range collation, but it is not perfect, for example, it is difficult to accurately determine the difference between a chorus part and a melody part. However, in the case of a song with a karaoke version, both audio data with vocals and audio data without vocals are created from the same sound source, so the melody extraction of only the vocal part should be performed with high accuracy by the subtraction process described above. Can do. The CPU 201 executes the pitch analysis / extraction analysis on the first melody data extracted in this manner, whereby the first sound composed of the pitch sequence of the first melody data (melody part). A high data string can be extracted (step S306).

CPU201は、ステップS306の後、そこで抽出した第1の音高データ列を含む第2の検索要求を発行して、ネットワークインタフェース部207を介してクラウドサーバ102に送信する(ステップS307)。なお、CPU201は、クラウドサーバ102での後述するステップS313での処理のために、上述の第2の検索要求中に、ステップS302で取得したA_Indexも含ませておく。第2の検索要求は、ネットワークインタフェース部221を介して、データベース管理部222で受信される。   After step S306, the CPU 201 issues a second search request including the first pitch data string extracted there, and transmits it to the cloud server 102 via the network interface unit 207 (step S307). Note that the CPU 201 also includes the A_Index acquired in step S302 in the above-described second search request for processing in step S313 to be described later in the cloud server 102. The second search request is received by the database management unit 222 via the network interface unit 221.

データベース管理部222は、第2の検索要求を受信した場合、以下の動作を実行する。データベース管理部222は、受信した第1の音高データ列がカラオケ用SMFデータベース223にある各SMFデータのメロディの出だしのノートオンMIDIデータ列の各音高と第1の合致基準で合致する曲を検索する、第1のメロディ検索を実施する(ステップS308)。この場合、例えば、出だしの4小節程度を比較すればよい。具体的には、図8に示すように、楽曲のインデックス内に、「メロディ出だし」のデータとして、メロディの開始時からのメロディ音高データ列を用意しておき、この音高データ列と受信した第1の音高データ列と比較する。
本実施形態においては、「メロディ出だし」のデータは、図8に示すように、(絶対音程)と(相対音程)との両方が用意されている。(絶対音程)は、絶対値で表わされた音高データを用いたものであり、(相対音程)は、現在の音高とその直前の音高データとの差分を用いたものである。演歌などの曲においては、歌う際のKeyを考慮して、オリジナルより+1あるいは−1などのKeyに変更されていることも多く、相対音程はそのような曲のために必要である。
クラウドサーバ102にあるSMFデータは、そのデータを提供する会社によりデータフォーマットが決まっている。例えばほとんどのSMFデータでは、メロディは4chにあり、ベースは2chというごとくである。このため、4chの出だしのノートオンMIDIデータ列の各音高を比較し、候補が集まったら、最後まで検討する。また、クラウドサーバ102にあるカラオケ用SMFデータベース223は、メロディの出だしノートオンMIDIデータ列を、データベースのインデックスに持っている場合が多いので、その場合には、インデックスに対して上述の検索を実行すれば、曲候補は高速に抽出できる。さらに、メロディの譜割は歌い方によって微妙な場合があり、SMFデータ制作者によって、異なる場合がある。このため、音価の長い音のタイミングと音程があっていればより正解率が高く、同音連打のリズムが異なる場合や引っ掛けの音程が多少異なる場合などは、長い音などに比べて低い減点などで計算して、例えば8割がた合っていてほぼ合致ならば第1の合致基準を満たすなどとする採点方法を採用してよい。
When receiving the second search request, the database management unit 222 performs the following operation. The database management unit 222 uses the first match criterion to match each pitch of the received note-on MIDI data sequence of the melody of each SMF data in the SMF database 223 for karaoke with the received first pitch data sequence. A first melody search is performed (step S308). In this case, for example, it is only necessary to compare about four measures of the beginning. Specifically, as shown in FIG. 8, a melody pitch data sequence from the start of the melody is prepared as data of “starting melody” in the music index, and this pitch data sequence and the reception are received. The first pitch data string is compared.
In the present embodiment, as shown in FIG. 8, both “absolute pitch” and “relative pitch” are prepared as data for “starting melody”. (Absolute pitch) uses pitch data represented by an absolute value, and (Relative pitch) uses a difference between the current pitch and the pitch data immediately before. In songs such as enka, in consideration of the key when singing, the original is often changed to a key such as +1 or -1 from the original, and a relative pitch is necessary for such a song.
The SMF data in the cloud server 102 has a data format determined by the company that provides the data. For example, in most SMF data, the melody is on 4ch and the bass is 2ch. For this reason, the pitches of the note-on MIDI data strings that are output from 4ch are compared, and if candidates are gathered, they are considered to the end. In addition, the karaoke SMF database 223 in the cloud server 102 often has a melody out-of-melody note-on MIDI data string in the database index. Then, song candidates can be extracted at high speed. Furthermore, the musical score may be delicate depending on how it is sung, and may differ depending on the SMF data producer. For this reason, if there is a timing and pitch of a sound with a long note value, the accuracy rate will be higher, and if the rhythm of the same tone is different or if the pitch of the hook is slightly different, etc. For example, a scoring method may be adopted in which, for example, 80% is met and the first match criterion is satisfied if they are almost matched.

クラウドサーバ102内のデータベース管理部222は、上述の第1のメロディ検索の結果、第1の合致基準で合致するSMFデータが検索されたか否かを判定する(ステップS309)。   The database management unit 222 in the cloud server 102 determines whether or not SMF data that matches the first match criterion is found as a result of the first melody search (step S309).

第1のメロディ検索に成功しステップS309の判定がYESならば、データベース管理部222は、ステップS316に移行し、出だしが合致したカラオケ用SMFデータベース223内の本体のSMFデータを選択して読み出す。そして、データベース管理部222は、そのSMFデータを、ネットワークインタフェース部221を介して端末装置101に通知する。この結果、CPU201が、ネットワークインタフェース部207を介してそのSMFデータを受信し、RAM203に記憶して、図3のフローチャートの処理を終了する。   If the first melody search is successful and the determination in step S309 is YES, the database management unit 222 proceeds to step S316, selects and reads out the SMF data of the main body in the SMF database 223 for karaoke that matches the start. Then, the database management unit 222 notifies the terminal device 101 of the SMF data via the network interface unit 221. As a result, the CPU 201 receives the SMF data via the network interface unit 207, stores it in the RAM 203, and ends the process of the flowchart of FIG.

第1のメロディ検索に失敗しステップS309の判定がNOならば、データベース管理部222は、ステップS312の第2のインデックス検索の処理に移行する。   If the first melody search fails and the determination in step S309 is NO, the database management unit 222 proceeds to the second index search process in step S312.

端末装置101において、前述したステップS305の判定がNOならば、CPU201はまず、ステップS301で選曲されたオーディオ曲に対応するボーカル付きのオーディオデータを、端末装置101内の楽曲データベース、そこにない場合にはインターネット上の楽曲提供サイトから取得する。次に、CPU201は、取得したボーカル付きのオーディオデータから、そのメロディ部分を第2のメロディデータとして抽出する。ここでは、カラオケバージョンのオーディオデータは利用することはできない。そのためCPU201は、音響解析処理により第2のメロディデータを抽出する。具体的には、CPU201は、例えば、オーディオデータからセンターカットの手法でセンターに定位するデータを抽出し、そのセンターにある音で、ドラムでもない、音域的にベースでもなく、同時に押される和音(コードパート)でもなく、かつメロディ音域に入るような音を、第2のメロディデータとして抽出する。CPU201は、このようにして抽出した第2のメロディデータに対してピッチの分析・抽出の分析を実行することにより、第2のメロディデータ(メロディパート)の音高の列からなる第2の音高データ列を抽出する(以上、ステップS310)。   In the terminal device 101, if the determination in step S305 described above is NO, the CPU 201 first has audio data with vocals corresponding to the audio song selected in step S301 not in the music database in the terminal device 101. You get it from a music provider on the Internet. Next, the CPU 201 extracts the melody portion as second melody data from the acquired audio data with vocals. Here, the karaoke version of the audio data cannot be used. Therefore, CPU201 extracts the 2nd melody data by acoustic analysis processing. Specifically, for example, the CPU 201 extracts data localized at the center from the audio data by a center cut technique, and is a sound at the center, not a drum, not a bass range, and a chord pressed simultaneously ( A sound that is not a chord part and falls within the melody range is extracted as second melody data. The CPU 201 executes the pitch analysis / extraction analysis on the second melody data extracted in this way, whereby the second sound composed of the pitch string of the second melody data (melody part). A high data string is extracted (step S310).

CPU201は、ステップS310の後、そこで抽出した第2の音高データ列とステップS302で取得したA_Indexを含む第3の検索要求を発行し、ネットワークインタフェース部207を介してクラウドサーバ102に送信する(ステップS311)。第3の検索要求は、ネットワークインタフェース部221を介して、データベース管理部222で受信される。   After step S310, the CPU 201 issues a third search request including the second pitch data string extracted there and the A_Index acquired in step S302, and transmits the third search request to the cloud server 102 via the network interface unit 207 ( Step S311). The third search request is received by the database management unit 222 via the network interface unit 221.

データベース管理部222は、ステップS309の判定がNOであった場合、または端末装置101から第3の検索要求(ステップS311)を受信した場合には、以下の動作を実行する。データベース管理部222は、カラオケ用SMFデータベース223内の曲名インデックス(Index)(図8参照)にアクセスして、端末装置101が通知したA_Indexと部分一致するインデックスを検索する、第2のインデックス検索を実施する(ステップS312)。この場合の部分一致は、一方の文字列が他方の文字列の一部と一致する場合、半角と全角、大文字と小文字、長音や曲名タイトルに使われるハートマーク等の特殊文字の有り無し等を区別しない場合に一致する場合と、両者を組み合わせた基準で一致する場合を含む。   When the determination in step S309 is NO or when the third search request (step S311) is received from the terminal apparatus 101, the database management unit 222 performs the following operation. The database management unit 222 accesses the song name index (Index) (see FIG. 8) in the SMF database 223 for karaoke, and searches for an index that partially matches the A_Index notified by the terminal device 101, and performs a second index search. Implement (step S312). In this case, partial match means that if one character string matches part of the other character string, half-width and full-width characters, uppercase and lowercase letters, the presence or absence of special characters such as long marks and heart symbol used for song titles, etc. It includes the case of matching when not distinguished from each other and the case of matching according to a combination of both.

データベース管理部222は、曲名インデックス内にA_Indexと部分一致するインデックスが見つかったか否かを判定する(ステップS313)。   The database management unit 222 determines whether an index that partially matches A_Index is found in the song title index (step S313).

データベース管理部222は、第2のインデックス検索に成功しステップS313の判定がYESになると、見つかったインデックス候補群に対応する本体のSMFデータ群をカラオケ用SMFデータベース223から選択する。データベース管理部222は、ステップS307またはS311で端末装置101から受信した第1または第2の音高データ列を、上述の選択したSMFデータ群の各メロディの出だしのノートオンMIDIデータ列の各音高と比較する(ステップS314)。これにより、データベース管理部222は、インデックスが部分一致するSMFデータのうち、出だしのメロディのノートオンMIDIデータ列の各音高が端末装置101から受信したメロディデータの音高データ列と第2の合致基準で合致する曲を検索する、第2のメロディ検索を実施する(ステップS315)。この場合の第2の合致基準は、インデックスの部分一致によりSMFデータがある程度絞り込まれているため、ステップS308での最初の検索での第1の合致基準の合致度に比較して、低くして(判定条件を緩和して)よい。   When the second index search is successful and the determination in step S313 is YES, the database management unit 222 selects the SMF data group of the main body corresponding to the found index candidate group from the SMF database 223 for karaoke. The database management unit 222 uses the first or second pitch data sequence received from the terminal device 101 in step S307 or S311 as the sound of the note-on MIDI data sequence from which each melody of the selected SMF data group starts. Compare with high (step S314). As a result, the database management unit 222 uses the pitch data string of the melody data received from the terminal device 101 and the second pitch data string of the note-on MIDI data string of the outgoing melody out of the SMF data with partially matching indexes. A second melody search is performed to search for songs that match on the match criteria (step S315). In this case, since the SMF data is narrowed down to some extent by the partial matching of the index, the second matching criterion is set lower than the matching degree of the first matching criterion in the first search in step S308. (The judgment condition may be relaxed).

第2のインデックス検索に続いて第2のメロディ検索にも成功しステップS315の判定がYESになった場合は、データベース管理部222は、インデックスが部分一致しかつ出だしのメロディの音高データ列が第2の合致基準で合致したSMFデータのうち、例えば合致度が最も高いSMFデータを、カラオケ用SMFデータベース223から選択して読み出す。そして、データベース管理部222は、そのSMFデータを、ネットワークインタフェース部221を介して端末装置101に通知する(ステップS316)。この結果、CPU201が、ネットワークインタフェース部207を介してそのSMFデータを受信し、RAM203に記憶して、図3のフローチャートの処理を終了する。   If the second melody search is also succeeded after the second index search, and the determination in step S315 is YES, the database management unit 222 has the pitch data string of the melody that has a partially matched index and the start melody. For example, the SMF data having the highest matching degree among the SMF data matched by the second matching criterion is selected from the SMF database 223 for karaoke and read. Then, the database management unit 222 notifies the terminal device 101 of the SMF data via the network interface unit 221 (step S316). As a result, the CPU 201 receives the SMF data via the network interface unit 207, stores it in the RAM 203, and ends the process of the flowchart of FIG.

データベース管理部222において、部分一致するインデックスが見つからず第2のインデックス検索に失敗してステップS313の判定がNOになった場合、または第2のインデックス検索には成功したが第2のメロディ検索には失敗してステップS315の判定がNOになった場合は、CPU201は、対応するSMFデータなしのコメントを表示部205に表示して処理を終わる(ステップS317)。カラオケデータは日々多くの曲データが制作され追加されていくが、それでも最新曲であったり、あまり有名でない曲の場合には、クラウドサーバ102のカラオケ用SMFデータベース223に含まれず、SMFデータがないこともある。   In the database management unit 222, when the partially matching index is not found and the second index search fails and the determination in step S313 is NO, or when the second index search is successful but the second melody search is performed. If the determination fails in step S315, the CPU 201 displays a comment without corresponding SMF data on the display unit 205 and ends the process (step S317). Many pieces of karaoke data are created and added every day. However, in the case of a newest song or a less famous song, it is not included in the SMF database 223 for karaoke of the cloud server 102 and there is no SMF data. Sometimes.

以上のように、本実施形態では、まず、ユーザにより選曲された曲のインデックス(A_Index)とインデックスが完全一致するSMFデータをクラウドサーバ102上のカラオケ用SMFデータベース223から検索する、第1のインデックス検索が実施される。
第1のインデックス検索に失敗した場合に、選曲された曲のオーディオデータに対応するメロディ無しオーディオデータを取得できる場合には、オーディオデータからメロディ無しオーディオデータが差し引かれることにより、オーディオデータのメロディ部分が第1のメロディデータとして抽出され、さらに第1のメロディデータの音高の列からなる第1の音高データ列が抽出される。そして、第1の音高データ列とノートオンMIDIデータ列の各音高が出だし(例えば先頭から4小節)部分で第1の合致基準で合致するSMFデータをカラオケ用SMFデータベース223から検索する、第1のメロディ検索が実施される。
メロディ無しオーディオデータを取得できない場合には、センターカット等の音響解析処理により、オーディオデータからメロディ部分が第2のメロディデータとして抽出され、第2のメロディデータの音高の列からなる第2の音高データ列が抽出される。
第1のメロディ検索に失敗した場合、あるいは、メロディ無しオーディオデータを取得できず信頼性の低い第2のメロディデータが得られた場合には、曲のインデックス(A_Index)とインデックスが部分一致するSMFデータをクラウドサーバ102上のカラオケ用SMFデータベース223から検索する、第2のインデックス検索が実施される。この第2のインデックス検索に成功した場合にはさらに、第1または第2の音高データ列とノートオンMIDIデータ列の各音高が出だし部分で第1の合致基準よりも緩い第2の合致基準で合致するSMFデータをカラオケ用SMFデータベース223から検索する、第2のメロディ検索が実施される。
第1のインデックス検索、第1のメロディ検索、または第2のメロディ検索のいずれかに成功した場合に、曲に対応する演奏データファイルが演奏データファイルデータベースから取得される。
このようにして、本実施形態によれば、ユーザが選曲したオーディオ曲に対応するSMFデータ(演奏データファイル)をクラウドサーバ102上等にあるカラオケ用SMFデータベース223(演奏データファイルデータベース)から自動的に取得することが可能となる。
As described above, in the present embodiment, first, the first index is searched from the SMF database 223 for karaoke on the cloud server 102 for SMF data whose index completely matches the index (A_Index) of the song selected by the user. A search is performed.
If the melody-free audio data corresponding to the audio data of the selected song can be acquired when the first index search fails, the melody portion of the audio data is subtracted from the audio data. Are extracted as first melody data, and a first pitch data sequence consisting of a pitch sequence of the first melody data is extracted. Then, the SMF data that matches the first matching criteria in the first pitch data string and note-on MIDI data string (for example, four bars from the beginning) is searched from the SMF database 223 for karaoke. A first melody search is performed.
When the melody-free audio data cannot be acquired, the melody portion is extracted from the audio data as the second melody data by the sound analysis process such as center cut, and the second melody data pitch second row is formed. A pitch data string is extracted.
When the first melody search fails, or when the second melody data with low reliability that cannot be obtained without the melody is obtained, the SMF whose index (A_Index) and the index partially match are obtained. A second index search is performed in which data is searched from the SMF database 223 for karaoke on the cloud server 102. If the second index search is successful, the second match, which is looser than the first match criterion at the beginning of each pitch of the first or second pitch data string and the note-on MIDI data string, is further generated. A second melody search is performed in which SMF data matching the criteria is searched from the SMF database 223 for karaoke.
When the first index search, the first melody search, or the second melody search is successful, the performance data file corresponding to the song is acquired from the performance data file database.
Thus, according to the present embodiment, SMF data (performance data file) corresponding to the audio song selected by the user is automatically obtained from the SMF database 223 for karaoke (performance data file database) on the cloud server 102 or the like. Can be obtained.

クラウドサーバ102でユーザが選曲したオーディオデータに該当するカラオケ用のSMFデータが取得でき端末装置101に送られたら、そのカラオケ用のSMFデータが光鍵盤キーボード103(図1、図2)用のレッスンデータに調整される。カラオケ用のSMFデータにおいては、メロディ音はガイド音程度にしか鳴らないため、例えば光鍵盤キーボード103でのメロディレッスンには向かない。元々光鍵盤キーボード103等に内蔵されているレッスンデータであれば、メロディ音はユーザがレッスンしやすいようにある程度強調処理されている。しかし、本実施形態のように、例えば最新のあるいはユーザの所望のカラオケ用のSMFデータをクラウドサーバ102から取得できてそれをレッスンデータに活用しようとする場合には、カラオケ用のSMFデータ中のメロディ音がレッスンデータに適したメロディ音となるように調整する処理が必須となる。   When SMF data for karaoke corresponding to the audio data selected by the user in the cloud server 102 can be acquired and sent to the terminal device 101, the SMF data for karaoke is a lesson for the optical keyboard 103 (FIGS. 1 and 2). Adjusted to data. In the SMF data for karaoke, the melody sound is generated only as a guide sound, so that it is not suitable for a melody lesson on the optical keyboard 103, for example. In the case of lesson data originally built in the optical keyboard 103 or the like, the melody sound is emphasized to some extent so that the user can easily do the lesson. However, as in the present embodiment, for example, when the latest or user-desired karaoke SMF data can be acquired from the cloud server 102 and used for lesson data, the karaoke SMF data Processing to adjust the melody sound so that it becomes a melody sound suitable for the lesson data is essential.

図4は、SMFデータをレッスンデータに調整する処理を示すフローチャートである。この処理は、CPU201が、ROM202に記憶されたSMFデータをレッスンデータに調整する処理プログラムを実行する処理である。   FIG. 4 is a flowchart showing a process for adjusting SMF data to lesson data. In this process, the CPU 201 executes a processing program for adjusting the SMF data stored in the ROM 202 to lesson data.

MIDIフォーマットによっては異なる場合もあるが、ここではまず、CPU201は、全部で16ch(チャネル)あるうちの第4chにあるメロディデータを選曲された曲のメロディに特定する(ステップS401)。   In this case, first, the CPU 201 specifies the melody data in the fourth channel out of the total 16 channels (channels) as the melody of the selected song (step S401).

CPU201は、特定した第4chの音量調整を行う(ステップS402)。カラオケ用のSMFデータは、カラオケ用なので、メロディはガイドメロディとして音量が小さく設定されている。そのため、CPU201は、第4ch中の各MIDIデータのベロシティ(velocity)を例えば1.4倍にする調整を実行する。なお、この倍率の設定値は、音源とデータとの関連によって、例えばユーザが入力部204から適宜変更とできるようにしてよい。   The CPU 201 adjusts the volume of the specified fourth channel (step S402). Since the SMF data for karaoke is for karaoke, the volume of the melody is set low as a guide melody. Therefore, the CPU 201 performs adjustment to increase the velocity of each MIDI data in the 4th channel to 1.4 times, for example. Note that the setting value of the magnification may be appropriately changed by the user from the input unit 204, for example, depending on the relationship between the sound source and the data.

次に、CPU201は、第5chの音量調整を行う(ステップS403)。通常、カラオケ用のSMFデータは、第5chにはコーラスパートが入っていて、例えばグループで歌っている場合などメロディとかぶるようなメロディパートを第5chおくこともある。そのため、このパートについても、CPU201は、第5ch中の各MIDIデータのベロシティ(velocity)を例えば1.2倍にする調整を実行する。この倍率の設定値も、音源とデータとの関連によって、例えばユーザが入力部204から適宜変更とできるようにしてよいが、メロディの倍率設定値よりも少し控えめに設定するとよい。   Next, the CPU 201 adjusts the volume of the fifth channel (step S403). Normally, the SMF data for karaoke contains a chorus part in the 5th channel. For example, when singing in a group, the 5th channel may have a melody part that covers a melody. Therefore, also for this part, the CPU 201 performs adjustment to increase the velocity of each MIDI data in the 5th channel to 1.2 times, for example. The setting value of the magnification may be appropriately changed by the user from the input unit 204, for example, depending on the relation between the sound source and the data, but may be set a little conservatively than the setting value of the melody.

次に、CPU201は、メロディ音色変更処理を実行する(ステップS404)。ここでは、音量の大きい複数の伴奏音色の組合せにより、音量の大きい複数の伴奏とかぶらないように最適なメロディ音色を選択する調整が行われる。もともとのカラオケデータでは、メロディ音は、ガイドが主目的であったため、薄メロといって、クラリネットのような持続音もしくは、ビブラフォンのような減衰音のような、目立たない音色が選択されていることが多い。これだと音量を上げただけでは、メロディ音が目立たず伴奏音にかき消されてしまったりする。そこで、本実施形態では、レッスンするときにメロディ音色を伴奏音色に対して引き立つ音色にするために、この処理が実行される。光鍵盤キーボード103で鍵盤を光らせてレッスンするときに、メロディ音も一緒に発音されるので、上記処理が必要になる。光鍵盤キーボード103を製造するときには、プリセット音は元々そのように設定されていたが、本実施形態のように、カラオケ用のSMFデータを流用する場合には、特に初心者は音色変更等が大変なので、そのような措置が必要になる。この処理の詳細は、図5および図6のフローチャートを用いて後述する。   Next, the CPU 201 executes a melody tone color changing process (step S404). Here, an adjustment is performed to select an optimal melody tone color so as not to be obscured by a plurality of high-volume accompaniment sounds by a combination of a plurality of high-volume accompaniment tone colors. In the original karaoke data, the main purpose of the melody sound was to guide it, so a thin melody was selected, and an inconspicuous tone such as a continuous sound like a clarinet or a decaying sound like a vibraphone was selected. There are many cases. If this is done, the melody will not stand out and the accompaniment will be erased by simply raising the volume. Therefore, in the present embodiment, this process is executed in order to make the melody tone color stand out from the accompaniment tone color at the time of a lesson. When a lesson is performed by shining the keyboard with the optical keyboard 103, the melody sound is also generated, so the above processing is necessary. When the optical keyboard 103 was manufactured, the preset sound was originally set as such. However, when using SMF data for karaoke as in this embodiment, it is particularly difficult for beginners to change the tone. , Such measures are necessary. Details of this processing will be described later with reference to the flowcharts of FIGS.

次に、CPU201は、小節調整を実行する(ステップS405)。カラオケ用のSMFデータの中には、本来小節頭から始まる楽曲でも、データでは3拍目からはじまったり、4拍裏から始まったりするものもある。このようなSMFデータに対しては、レッスンデータとして利用するにあたって、小節調整が必要になる。そこで、CPU201は、ステップS405において、例えば8拍までのメロディ音符のリズムをみて、レッスンデータとすべきSMFデータにおける小節の頭がずれていないか、いわゆるアウフタクト(弱起)の場合に正しい拍となっているかを判定する。そして、CPU201は、その判定結果に基づいて、メロディ音符のリズムを拍子にあった強拍/弱拍のパターンを用いて採点し、小節調整を行う。   Next, the CPU 201 performs bar adjustment (step S405). Some SMF data for karaoke starts with the third beat or starts with the fourth beat, even if the song originally starts at the beginning of a bar. When such SMF data is used as lesson data, bar adjustment is required. Therefore, in step S405, the CPU 201 looks at the rhythm of melody notes, for example, up to 8 beats, and if the head of the measure in the SMF data to be the lesson data is not shifted or is a so-called “outact”, the correct beat is obtained. Judge whether it is. Then, based on the determination result, the CPU 201 scores the melody note rhythm using a strong / weak beat pattern that matches the time signature, and performs bar adjustment.

次に、CPU201は、メロディのDurationを調整する(ステップS406)。例えば光鍵盤キーボード103の光鍵のように鍵盤を光らせる場合には、同音が続くときに、適切な間隔が入っていないと、鍵盤が継続して光ってしまうため、Duration調整が必要となる。このため、CPU201は、同音が連続する時に、Duration、すなわち連続して発音される楽音の音長の並びを、例えば10/480(1拍)空けるように調整する。   Next, the CPU 201 adjusts the duration of the melody (step S406). For example, in the case where the keyboard is lit like the optical key of the optical keyboard 103, the duration of the keyboard will continue to shine unless there is an appropriate interval when the same sound continues. For this reason, when the same sound continues, the CPU 201 adjusts the duration, that is, the arrangement of the lengths of the musical sounds that are continuously generated so as to leave 10/480 (one beat), for example.

次に、CPU201は、メロディクォンタイズを実行する(ステップS407)。メロディ音が必要以上に細かいとレッスンが困難になる。そこで、CPU201は、メロディ音のノートオンMIDIデータに対して、ある程度の粗さ、例えば32分音符または32分の3連符(Triplet)で、クォンタイズを行う。   Next, the CPU 201 executes melody quantization (step S407). If the melody sound is finer than necessary, the lesson will be difficult. Therefore, the CPU 201 quantizes the note-on MIDI data of the melody sound with a certain degree of roughness, for example, a 32nd note or a triplet (triplet).

次に、CPU201は、メロディ演奏時のズレ調整を実行する(ステップS408)。レッスン時にメロディ発音のタイミングで、細かすぎる伴奏音がある場合には、オブリガードズレが発生し、不協和音に聞こえる。上述のステップS407では、メロディ発音時点で早く出過ぎる音がある場合には、その音はクォンタイズされる。ただし、ツリーチャイムやグリッサンドパートなどは、音色や前後の状態からこの扱いをしない対策が必要となるため、ツリーチャイムなどの音色は音色名ではずし、その他の音について調整するようにする。   Next, the CPU 201 performs a shift adjustment at the time of playing the melody (step S408). If there is an accompaniment sound that is too fine at the time of the melody pronunciation during the lesson, an obligado shift occurs and it sounds like a dissonance. In step S407 described above, if there is a sound that is too early when the melody is generated, the sound is quantized. However, for tree chimes and glissando parts, it is necessary to take measures to avoid this handling from the timbre and the state before and after. Therefore, timbres such as tree chimes are removed from the timbre names and other sounds are adjusted.

次に、CPU201は、SMFマーカによる楽式分類処理を実行する(ステップS409)。曲があまり長いとレッスンに疲れるので、ある程度の長さのフレーズ毎に区切って部分的にレッスンできるようにするとよい。この区切りをフレーズマーカと呼ぶ。本実施形態では、レッスンデータにこのフレーズマーカを記載する際に、CPU201は、SMFデータに元々入っているマーカのあるところにフレーズマーカを記載する。カラオケのSMFデータを作成する際には、Aメロ、Bメロ、サビ、Bサビなど、楽式に従ってマーカを入れている場合が多い。そこで、SMFデータにAメロというマーカが記載されていたら、そこをレッスンの大きなフレーズとしてとらえることが効果的である。   Next, the CPU 201 executes a musical style classification process using an SMF marker (step S409). If the song is too long, it will be tired of the lesson, so it is better to divide it into phrases of a certain length so that you can take lessons. This break is called a phrase marker. In this embodiment, when the phrase marker is described in the lesson data, the CPU 201 describes the phrase marker at a place where the marker is originally included in the SMF data. When creating SMF data for karaoke, there are many cases in which markers are put in accordance with musical formulas such as A melody, B melody, chorus and B chorus. Therefore, if a marker “A melody” is described in the SMF data, it is effective to regard it as a large phrase in the lesson.

上述のステップS409において、SMFデータから抽出されたマーカの時間間隔が長い場合がある。そこで、CPU201は、フレーズマーカ記載時、マーカ間隔が例えば所定小節に比較して長い場合には、そのマーカ間隔を1/2または1/4に区切り、レッスンしやすいフレーズマーカを作成し、レッスンデータ中に記載する(ステップS410)。   In step S409 described above, the time interval between markers extracted from the SMF data may be long. Therefore, when the phrase marker is described, if the marker interval is longer than, for example, a predetermined measure, the CPU 201 divides the marker interval into 1/2 or 1/4, creates a phrase marker that is easy to learn, and creates lesson data. (Step S410).

最後に、CPU201は、レッスン用コード作成の処理を実行する(ステップS411)。ここでは、CPU201は、SMFデータ中の伴奏音でコードパートとなっているパートから和音を抽出し、コードを判定して、レッスン用のコードパートを作成する。   Finally, the CPU 201 executes a lesson code creation process (step S411). Here, the CPU 201 extracts chords from the part that is the chord part of the accompaniment sound in the SMF data, determines the chord, and creates a chord part for the lesson.

図5は、図4のステップS404のメロディ音色変更処理を示すフローチャートである。   FIG. 5 is a flowchart showing the melody tone color changing process in step S404 of FIG.

CPU201はまず、SMFデータに対するジャンル検出処理を実行する(ステップS501)。伴奏編成はジャンルで決まるので、ジャンルを見れば伴奏音がわかりやすくなると考えられる。伴奏音がわかれば、レッスン時に伴奏音色に対して引き立つメロディ音を決定することができる。この処理の詳細は、図6のフローチャートを用いて後述する。   First, the CPU 201 executes a genre detection process for SMF data (step S501). Since the accompaniment organization is determined by the genre, the accompaniment sound can be easily understood by looking at the genre. If the accompaniment sound is known, the melody sound that stands out with respect to the accompaniment sound color at the lesson can be determined. Details of this processing will be described later using the flowchart of FIG.

次に、CPU201は、ステップS501で検出したジャンルを、RAM203上の変数ToneGに格納する(ステップS502)。   Next, the CPU 201 stores the genre detected in step S501 in a variable ToneG on the RAM 203 (step S502).

続いて、CPU201は、SMFデータでメロディが鳴っている第4chで、一緒に出ているパートのうちベース、ドラム以外で音量が大きいパートを4つ選択する。そして、CPU201は、それぞれのパート名を、RAM203上の変数Part1、Part2、Part3、およびPart4に格納する(ステップS503)。   Subsequently, the CPU 201 selects four parts having a high volume other than the bass and drums among the parts appearing together in the fourth channel where the melody is sounded with the SMF data. Then, the CPU 201 stores each part name in variables Part1, Part2, Part3, and Part4 on the RAM 203 (step S503).

次に、CPU201は、ROM202またはRAM203上に記憶されているメロディ音色変更のための音色グループデータベース上で、ToneGが示すジャンルに該当する項目を参照する(ステップS504)。図9は、メロディ音色変更のための音色グループデータベースのデータ構成例を示す図である。「Swing」「Latin/European」「Suffle/blues」「Rock/Pops」「Funk/DancePop」「Techno/Euro」といったジャンル毎に、図10上の表の1列ずつが割り当てられ、各ジャンルごとの列において、上4行にはそのジャンルの伴奏パートとして使用頻度の高い伴奏音色名が登録され、下3行にはメロディ候補(メロディパート)として使用頻度の高いメロディ音色名が登録される。メロディ音色名としては、そのジャンルにおける伴奏パートの伴奏音色よりも引き立つメロディ音色の名称が登録される。   Next, the CPU 201 refers to the item corresponding to the genre indicated by ToneG on the timbre group database for changing the melody timbre stored in the ROM 202 or RAM 203 (step S504). FIG. 9 is a diagram showing a data configuration example of a timbre group database for changing a melody timbre. For each genre such as “Swing”, “Latin / European”, “Suffle / blues”, “Rock / Pops”, “Funk / DancePop”, and “Techno / Euro”, one column of the table in FIG. 10 is assigned. In the column, accompaniment tone color names that are frequently used as accompaniment parts of the genre are registered in the upper four rows, and melody tone color names that are frequently used as melody candidates (melody parts) are registered in the lower three rows. As the melody timbre name, a melody timbre name that stands out from the accompaniment tone color of the accompaniment part in the genre is registered.

続いて、CPU201は、現在のSMFデータにある伴奏パートPart1〜4と、図9に例示されるメロディ音色変更のための音色グループデータベース上のToneGに該当するジャンル項目に登録されている伴奏パートを比較して、2つ以上同じ伴奏パート名があるか否かを判定する(ステップS505)。伴奏パートにおいて、Guitarであればアコースティックギターもエレクトリックギターも含めた音色グループとしてみている。また、判定基準を2つ以上のパートとする理由は、Guitarは、どのジャンルにも含まれているので、1つだとジャンルを識別できないからである。すなわち、ギター以外で合致するものがあるかどうかを見ている。   Subsequently, the CPU 201 displays the accompaniment parts Part1 to 4 in the current SMF data and the accompaniment parts registered in the genre item corresponding to ToneG on the timbre group database for changing the melody timbre illustrated in FIG. In comparison, it is determined whether there are two or more accompaniment part names (step S505). In the accompaniment part, Guita sees it as a tone group that includes both acoustic guitars and electric guitars. Also, the reason why the determination criterion is set to two or more parts is that Guitar is included in any genre, so that the genre cannot be identified with only one. In other words, we are looking at whether there is a match other than the guitar.

ステップS505の判定がYESならば、CPU201は、音色グループデータベースの該当ジャンルにあるメロディ候補を参照する(ステップS511)。例えば、ジャンルがSwingでSMFデータの伴奏パートがGuitarとPianoとStringsである場合、図9に例示されるメロディ候補Sax、Trumpet、Organが選択されることになる。   If the determination in step S505 is YES, the CPU 201 refers to a melody candidate in the corresponding genre in the timbre group database (step S511). For example, when the genre is Swing and the accompaniment part of the SMF data is Guital, Piano, and Strings, the melody candidates Sax, Trumpet, and Organ illustrated in FIG. 9 are selected.

メロディ候補を1つ選択できたら、CPU201は、そのメロディ候補音が伴奏音Part1〜4とかぶらないか否かを判定する(ステップS512)。   If one melody candidate can be selected, the CPU 201 determines whether the melody candidate sound does not overlap with the accompaniment sounds Part1 to Part4 (step S512).

メロディ候補音が伴奏音Part1〜4とかぶりステップS512の判定がNOならば、CPU201は、音色グループデータベースの該当ジャンルのメロディ候補項目から次のメロディ候補を選択する(ステップS513)。そして、CPU201は、ステップS512の判定に戻る。   If the melody candidate sound is the accompaniment sounds Part 1 to 4 and the determination in step S512 is NO, the CPU 201 selects the next melody candidate from the melody candidate items of the genre in the timbre group database (step S513). Then, the CPU 201 returns to the determination in step S512.

メロディ候補音が伴奏音Part1〜4とかぶらずステップS512の判定がYESならば、そのメロディ候補音をレッスンのためのメロディ音として決定し、メロディ変更を実行する(ステップS514)。具体的には、SMFデータ中の4chのメロディ音色を、決定したメロディ音に書き換える。その後、CPU201は、図5のフローチャートで示される図4のステップS404のメロディ音色変更処理を終了する。   If the melody candidate sound is not related to the accompaniment sounds Part1 to 4 and the determination in step S512 is YES, the melody candidate sound is determined as the melody sound for the lesson and the melody change is executed (step S514). Specifically, the 4ch melody tone color in the SMF data is rewritten to the determined melody tone. Thereafter, the CPU 201 ends the melody tone color changing process in step S404 of FIG. 4 shown in the flowchart of FIG.

ステップS505の判定がNOならば、CPU201は、変数ToneGの値を、図9に例示される音色グループデータベース上で、ToneGが示すジャンルの右隣のジャンルに修正して設定し直す(ステップS506)。   If the determination in step S505 is NO, the CPU 201 corrects and resets the value of the variable ToneG to the genre right next to the genre indicated by ToneG on the tone group database illustrated in FIG. 9 (step S506). .

続いて、CPU201は、ToneGが示すジャンルの判定が一巡したか否かを判定する(ステップS507)。   Subsequently, the CPU 201 determines whether or not the determination of the genre indicated by ToneG has been completed (step S507).

一巡しておらずステップS507の判定がNOならば、CPU201は、ステップS505の判定に戻る。   If it is not completed and the determination in step S507 is NO, the CPU 201 returns to the determination in step S505.

一巡してしまいステップS507の判定がYESになると、CPU201は、第4chのメロディ音を、強制的にクラリネット音に変更する(ステップS508)。   If the determination is made in step S507, the CPU 201 forcibly changes the fourth channel melody sound to a clarinet sound (step S508).

CPU201は、Part1〜4にクラリネット音があるか否かを判定する(ステップS509)。   The CPU 201 determines whether or not there is a clarinet sound in Part 1 to 4 (step S509).

ステップS509の判定がNOならば、CPU201は、図5のフローチャートで示される図4のステップS404のメロディ音色変更処理を終了する。   If the determination in step S509 is NO, the CPU 201 ends the melody tone color changing process in step S404 of FIG. 4 shown in the flowchart of FIG.

ステップS509の判定がYESならば、CPU201は、第4chのメロディ音を、強制的にハーモニカ音に変更して(この音はどの伴奏音ともかぶらない)、図5のフローチャートで示される図4のステップS404のメロディ音色変更処理を終了する。   If the determination in step S509 is YES, the CPU 201 forcibly changes the 4th channel melody sound to a harmonica sound (this sound does not overlap with any accompaniment sound), and is shown in the flowchart of FIG. The melody tone color changing process in step S404 is terminated.

図6は、図5のステップS501のジャンル検出処理を示すフローチャートである。前述したように、メロディ音色をレッスン用に変更するには、伴奏音色とかぶらない音色が望ましいが、伴奏音には、音楽ジャンルによってある程度楽器の種類が決まっているので、ここではまず、おおよそのジャンルが分析される。 FIG. 6 is a flowchart showing the genre detection process in step S501 of FIG. As described above, in order to change the melody tone for lessons, it is desirable that the accompaniment tone color does not overlap with the accompaniment tone color, but the accompaniment tone is determined to some extent by the music genre. The genre is analyzed.

ジャンルを識別するそのためには、わかりやすい方法が2つある。ベースを見るかドラムを見るかである。ドラムの場合は、ドラムの音色で、スタンダードセットとかジャズセットとかルームセットとかがあるが、ジャズセットはジャズのものによく使うし、スタンダードセットはいろいろなジャンルに使うが、ルームセットは現代風のラップとかに使ったりする。一番わかりやすいのはベース音色である。ベース音色が何か、リズムは跳ねているかどうか、を知ることが重要である。   There are two easy-to-understand methods for identifying genres. Look at the bass or the drum. In the case of drums, there are standard sets, jazz sets, and room sets depending on the tone of the drum, but jazz sets are often used for jazz, and standard sets are used for various genres, but room sets are modern. I use it for laps. The most obvious is the bass tone. It is important to know what the bass tone is and whether the rhythm is jumping.

図6において、CPU201はまず、ベースがウッドベース(WoodBass)か否かを判定する(ステップS601)。   In FIG. 6, the CPU 201 first determines whether or not the base is a wood base (wood bass) (step S601).

ステップS601の判定がYESならば、CPU201は、リズムが3連系(Triplet)であるか否かを判定する(ステップS602)。3連系か否かは、例えばドラムの演奏データで、例えば16分音符系だと1拍が例えば480クロックと決まっている場合において、3連系でなければ、0,120,240,360というように、2で割れるクロックカウントでリズムが刻まれる(そこにドラム音がある)。これに対して、3連系の場合には、0,160,320というように、3で割れるクロックカウントでリズムが刻まれる。そこで、リズムのクロックカウントを判別することにより、3連系か否かが判定される。
ドラムパートはイントロでは連打などあり、基本リズムの骨格がみえにくいので、メロディが出てくる部分のリズム、特にAメロのマーカがある部分でTripletか否かを検討するとよい。
If the determination in step S601 is YES, the CPU 201 determines whether or not the rhythm is triplet (step S602). Whether or not it is a triple connection is, for example, drum performance data. For example, in the case of a 16th note system, if one beat is determined to be 480 clocks, for example, it is 0, 120, 240, 360 Thus, the rhythm is engraved with a clock count divided by 2 (there is a drum sound). On the other hand, in the case of a triple connection, the rhythm is engraved with a clock count divided by 3, such as 0, 160, and 320. Therefore, by determining the clock count of the rhythm, it is determined whether or not there is a triple connection.
Since the drum part has repeated striking in the intro and the skeleton of the basic rhythm is difficult to see, it is better to examine whether the rhythm where the melody comes out, particularly the part where the A melody marker is a triplet.

CPU201は、ステップS602の判定が、YESならばジャンルをSwing系音色グループ(ステップS603)、NOならばジャンルをLatin/European系音色グループ(ステップS604)に決定して、図6のフローチャートで示される図5のステップS501のジャンル検出処理を終了する。   If the determination in step S602 is YES, the CPU 201 determines the genre as a Swing timbre group (step S603), and if NO, the genre is determined as a Latin / European timbre group (step S604), and is shown in the flowchart of FIG. The genre detection process in step S501 in FIG.

ステップS601の判定がNOの場合、CPU201は、ベースがエレクトレットベース(ElecBass)またはギターか否かを判定する(ステップS605)。   When the determination in step S601 is NO, the CPU 201 determines whether or not the base is an electret base (ElectBass) or a guitar (step S605).

ステップS605の判定がYESならば、CPU201は、リズムが3連系であるか否かを判定する(ステップS606)。   If the determination in step S605 is YES, the CPU 201 determines whether or not the rhythm is triple linked (step S606).

CPU201は、ステップS606の判定が、YESならばジャンルをShuffle/Bluse系音色グループ(ステップS607)、NOならばジャンルをRock/Pops系音色グループ(ステップS608)に決定して、図6のフローチャートで示される図5のステップS501のジャンル検出処理を終了する。   If the determination in step S606 is YES, the CPU 201 determines the genre as a Shuffle / Blue tone group (step S607), and if NO, the genre is determined as a Rock / Pop tone group (step S608). The genre detection process of step S501 shown in FIG.

ステップS605の判定がNOの場合、CPU201は、ベースがシンセサイザーベース(SynthBass)かを判定する(ステップS609)。   When the determination in step S605 is NO, the CPU 201 determines whether the base is a synthesizer base (Synth Bass) (step S609).

ステップS609の判定がYESならば、CPU201は、リズムが3連系であるか否かを判定する(ステップS610)。   If the determination in step S609 is YES, the CPU 201 determines whether or not the rhythm is triple linked (step S610).

CPU201は、ステップS610の判定が、YESならばジャンルをFunk/DancePop系音色グループ(ステップS611)、NOならばジャンルをTechno/Euro系音色グループ(ステップS612)に決定して、図6のフローチャートで示される図5のステップS501のジャンル検出処理を終了する。   If the determination in step S610 is YES, the CPU 201 determines the genre as a Funk / DancePop tone group (step S611), and if NO, the genre is determined as a Techno / Euro tone group (step S612). The genre detection process of step S501 shown in FIG.

ステップS609の判定もNOの場合、CPU201は、ジャンルをその他音色グループに決定して(ステップS613)、図6のフローチャートで示される図5のステップS501のジャンル検出処理を終了する。   If the determination in step S609 is also NO, the CPU 201 determines the genre as another timbre group (step S613), and ends the genre detection process in step S501 of FIG. 5 shown in the flowchart of FIG.

以上説明したようにして、本実施形態では、クラウドサーバ102でユーザが選曲したオーディオデータに該当するカラオケ用のSMFデータが取得でき端末装置101に送られたら、そのカラオケ用のSMFデータを光鍵盤キーボード103(図1、図2)用のレッスン用に適したレッスンデータに調整することが可能となる。特に、本実施形態では、SMFデータからジャンルを検出することにより、音色グループデータベースを参照して、そのジャンルに対応する伴奏音のグループを決定し、さらにその伴奏音に対してレッスン時にメロディ音が引き立つ音色になるように、音色グループデータベース中のメロディ候補からメロディ音を決定することが可能となる。   As described above, in this embodiment, when the cloud server 102 can acquire SMF data for karaoke corresponding to the audio data selected by the user and sent to the terminal device 101, the SMF data for karaoke is transmitted to the optical keyboard. It is possible to adjust to lesson data suitable for the lesson for the keyboard 103 (FIGS. 1 and 2). In particular, in this embodiment, by detecting the genre from the SMF data, the timbre group database is referred to determine a group of accompaniment sounds corresponding to the genre. It is possible to determine the melody sound from the melody candidates in the timbre group database so that the timbre is more attractive.

なお、本実施形態に加えて、Aメロ、Bメロ等のパート毎に、最適なメロディ音を設定するようにしてもよい。   In addition to this embodiment, an optimal melody sound may be set for each part such as A melody and B melody.

さらに、本実施形態では、ジャンル推測とメロディ音色変更のための音色グループデータベースを利用したが、SMFデータ、オーディオデータのインデックスなどにもジャンルが書かれている場合もあるので(例えば図8に例示されるインデックスの「コメント」項目に登録されている「ポピュラー(ピアノ)」)、これらのジャンルとメロディ音が書かれた音色グループデータベースを用意して対応してもよい。   Furthermore, in this embodiment, a timbre group database for genre estimation and melody timbre change is used. However, genres may be written in SMF data, audio data indexes, etc. (for example, as shown in FIG. 8). In this index, “popular (piano)” registered in the “comment” item), a timbre group database in which these genres and melody sounds are written may be prepared.

上述した実施形態は、オーディオデータからSMFデータを検索して合致したSMFデータをレッスンデータに調整して、光鍵盤キーボード103等でレッスンを行うことを想定している。これに対して、合致したSMFデータのうち、メロディだけSMFデータを利用して、伴奏などは元のオーディオデータを利用することによって、演奏レッスンの臨場感を向上させることができる。そのためには、オーディオデータとSMFデータを同期させることが必要になる。   The embodiment described above assumes that the SMF data is searched from the audio data, the matched SMF data is adjusted to lesson data, and the lesson is performed using the optical keyboard 103 or the like. On the other hand, by using only the melody of the matched SMF data and using the original audio data for accompaniment and the like, the realistic feeling of the performance lesson can be improved. For that purpose, it is necessary to synchronize audio data and SMF data.

図7は、本発明の他の実施形態として、メロディだけSMFデータを利用して、伴奏などは元のオーディオデータを利用する場合における、オーディオデータとSMFデータの同期処理を示すフローチャートである。この実施形態のシステム構成およびハードウェア構成は、図1および図2に示される例と同様である。   FIG. 7 is a flowchart showing a synchronization process between audio data and SMF data in the case where only the melody uses the SMF data and the accompaniment uses the original audio data as another embodiment of the present invention. The system configuration and hardware configuration of this embodiment are the same as the examples shown in FIGS.

まず、図3のステップS305と同様にして、CPU201は、端末装置101内の楽曲データベース中に、現在選曲されているオーディオ曲に対応するボーカル付きのオーディオデータとそのカラオケバージョンが有るか否かを判定する(ステップS701)。   First, similarly to step S305 in FIG. 3, the CPU 201 determines whether or not there is audio data with vocals corresponding to the currently selected audio song and its karaoke version in the song database in the terminal device 101. Determination is made (step S701).

ステップS701の判定がYESならば、図3のステップS306と同様に、ボーカル付きのオーディオデータの時間信号から、ボーカルなしのカラオケデータのオーディオデータの時間信号を、両方の開始時間を合わせた上で差し引くことによって、メロディデータを抽出する(ステップS702)。   If the determination in step S701 is YES, in the same manner as in step S306 in FIG. 3, the time signal of karaoke data without vocals is combined with the start time of both from the time signal of audio data with vocals. By subtracting, melody data is extracted (step S702).

CPU201は、ステップS702で抽出したメロディデータのオンタイミングに、SMFデータのメロディデータのオンタイミングをあわせる(ステップS703)。メロディデータは、オーディオデータとカラオケデータの差分で求まっているため、オーディオデータの開始後メロディデータが開始するまでは無音となる。従って、メロディデータの開始時点すなわちオンタイミングは、オーディオデータの開始から何秒後とわかるのでそこでSMFデータにあるメロディデータのオンタイミングを合わせる。   The CPU 201 matches the on-timing of the melody data of the SMF data with the on-timing of the melody data extracted in step S702 (step S703). Since the melody data is obtained by the difference between the audio data and the karaoke data, there is no sound until the melody data starts after the start of the audio data. Accordingly, since the start point of the melody data, that is, the on timing, can be known how many seconds after the start of the audio data, the on timing of the melody data in the SMF data is matched therewith.

ステップS701の判定がNOの場合には、CPU201は、オーディオデータ中の特徴的なパートを探す(ステップS704)。例えば、オーディオデータの最初のほうで音域が高いもしくは低い、あるいはパン(音像定位)が極端になっているなどの特徴的なパートである。   If the determination in step S701 is no, the CPU 201 searches for a characteristic part in the audio data (step S704). For example, it is a characteristic part in which the sound range is high or low at the beginning of the audio data, or the pan (sound image localization) is extreme.

CPU201は、ステップS704の探索の結果、該当するパートがあるか否かを判定する(ステップS705)。   The CPU 201 determines whether there is a corresponding part as a result of the search in step S704 (step S705).

ステップS705の判定がYESの場合、CPU201は、SMFデータのパートがオーディオデータの該当パートに合致するか否かを判定する(ステップS706)。   If the determination in step S705 is yes, the CPU 201 determines whether or not the part of the SMF data matches the corresponding part of the audio data (step S706).

ステップS706の判定がYESならば、CPU201は、オーディオデータの該当パートのオンタイミングにSMFデータの該当パートをあわせることによって、SMFとオーディオデータの同期をとる。   If the determination in step S706 is YES, the CPU 201 synchronizes the SMF and the audio data by matching the corresponding part of the SMF data with the on timing of the corresponding part of the audio data.

ステップS705またはS706の判定がNOならば、図3のステップS310と同様の処理が実行される。すなわち、CPU201は、オーディオデータからセンターカットの手法でセンターに定位するデータを抽出し、そのセンターにある音で、ドラムでもない、音域的にベースでもなく、同時に押される和音(コードパート)でもなく、かつメロディ音域に入るような音を、メロディデータとして抽出する。CPU201は、このようにして抽出したメロディデータに対してピッチの分析・抽出の分析を実行することにより、メロディデータ(メロディパート)の音高データ列を抽出する(以上、ステップS708)。   If the determination in step S705 or S706 is NO, the same processing as in step S310 in FIG. 3 is executed. That is, the CPU 201 extracts data localized at the center from the audio data by the center cut method, and the sound at the center is not a drum, is not a bass range, is not a chord (chord part) pressed simultaneously. Sounds that fall within the melody range are extracted as melody data. The CPU 201 extracts the pitch data string of the melody data (melody part) by executing pitch analysis / extraction analysis on the melody data extracted in this way (step S708).

CPU201は、ステップS708で抽出したメロディデータの音高データ列に、SMFのメロディパートのノートオンMIDIデータ列の各音高と一致する部分が含まれるか否かを判定する(ステップS709)。   The CPU 201 determines whether or not the pitch data sequence of the melody data extracted in step S708 includes a portion that matches each pitch of the note-on MIDI data sequence of the SMF melody part (step S709).

ステップS709の判定がYESならば、ステップS708で抽出したオーディオデータのオンタイミングにSMFデータをのせるようにする(ステップS710)。   If the determination in step S709 is YES, the SMF data is put on the audio data on timing extracted in step S708 (step S710).

ステップS703、S707、またはS710の処理の後、CPU201は、図7のフローチャートの処理を終了し、図4から図6に例示されるフローチャートの処理によりSMFデータをレッスンデータに調整し、そのレッスンデータ中のメロディデータをメロディ音、オーディオデータを伴奏音として光鍵盤キーボード103に転送し、ユーザにレッスンを行わせる。   After the processing of step S703, S707, or S710, the CPU 201 ends the processing of the flowchart of FIG. 7, adjusts the SMF data to lesson data by the processing of the flowchart illustrated in FIG. 4 to FIG. The melody data in the middle is transferred to the optical keyboard 103 as melody sound and audio data as accompaniment sound, and the user is given a lesson.

ステップS709の判定がNOならば、同期できないためオーディオ伴奏ではなく、SMFデータで伴奏するコメントを、表示部205に表示し、図7のフローチャートの処理を終了。その後のレッスンデータの調整等の処理は、前述した通りである。   If the determination in step S709 is NO, since the synchronization cannot be performed, a comment accompanied by SMF data is displayed on the display unit 205 instead of the audio accompaniment, and the processing of the flowchart of FIG. Subsequent processes such as adjustment of lesson data are as described above.

以上説明したように、オーディオデータとSMFデータを同期させる処理は、光鍵盤キーボード103等を用いたレッスンデータの作成に限られるものではなく、生伴奏で演奏を行いたいあるいは歌を歌いたいといった場合に、メロディデータにオーディオデータを同期させるために活用することができる。   As described above, the process of synchronizing the audio data and the SMF data is not limited to the creation of lesson data using the optical keyboard 103 or the like, and it is desired to perform with live accompaniment or to sing a song. In addition, it can be used to synchronize audio data with melody data.

上述した各実施形態によれば、端末装置101に入っている自分で購入した曲と、クラウドにあるカラオケデータと比較して、SMFデータを取得、調整することにより、手軽に簡単な操作で好きな曲が光鍵などのレッスンデータとして利用可能となる。   According to each of the above-described embodiments, it is possible to easily and easily operate by acquiring and adjusting SMF data in comparison with karaoke data stored in the cloud and karaoke data stored in the terminal device 101. Songs can be used as lesson data such as optical keys.

また、オーディオデータとSMFデータを同期させることにより、光鍵で生音を伴奏音としてレッスンすることが可能となる。   In addition, by synchronizing the audio data and the SMF data, it is possible to use the optical key to give a lesson as a live sound as an accompaniment sound.

上述した各実施形態は、ユーザの持っているオーディオ曲のデータと、クラウドデータにあるSMFのインデックスとを照合してデータを特定し、レッスンデータとして利用するために調整できることを特徴としている。従って、以下のような効果がある。
(1)ユーザが買った曲で弾きたい曲をレッスンできる。
(2)レッスンできるように調整されているので、光鍵でレッスンできる。
(3)SMFデータのマーカなどを利用してフレーズ分割をしているので、フレーズ練習もできる。
(4)SMFデータのジャンル分析をし、これに合うメロディ音に変更しているので、伴奏に合う音で弾ける。
(5)SMFとオーディオデータの同期もできるようにしているので、伴奏はオーディオデータで弾くということもできる。
Each of the embodiments described above is characterized in that it can be adjusted for use as lesson data by specifying data by collating audio song data held by the user with the SMF index in the cloud data. Therefore, there are the following effects.
(1) A user can lesson a song he / she wants to play.
(2) Since it is adjusted so that it can be used for lessons, it can be used for lessons with optical keys.
(3) Phrase practice is possible because the phrase is divided using the SMF data marker.
(4) Since the genre analysis of the SMF data is performed and the melody sound is changed to match this, it can be played with the sound that matches the accompaniment.
(5) Since the SMF and the audio data can be synchronized, the accompaniment can be played with the audio data.

以上の各実施形態に関して、更に以下の付記を開示する。
(付記1)
外部より供給された曲を識別するインデックスと対応するインデックスが付与されている前記曲を表わす音高データ列を含む演奏データファイルを、演奏データファイルデータベースから検索する第1のインデックス検索を実行し、
当該第1のインデックス検索により、前記演奏データファイルが発見できなかった場合、少なくとも前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出する第1のメロディ抽出を実行し、
当該抽出された音高データ列を含む前記演奏データファイルを、第1の合致基準に基づいて前記演奏データファイルデータベースから検索する第1のメロディ検索を実行し、
前記第1のインデックス検索と前記第1のメロディ検索との少なくとも一方の検索結果に基づいて、前記曲に対応する演奏データファイルを前記演奏データファイルデータベースから取得する、
ことを特徴とする演奏データファイル検索方法。
Regarding the above embodiments, the following additional notes are disclosed.
(Appendix 1)
Performing a first index search for searching a performance data file including a pitch data string representing the music to which an index corresponding to an index for identifying a music supplied from the outside is assigned;
First melody extraction for extracting a pitch data string representing a melody portion of the song from audio data including at least the melody portion of the song when the performance data file cannot be found by the first index search Run
Performing a first melody search for searching the performance data file including the extracted pitch data string from the performance data file database based on a first matching criterion;
Obtaining a performance data file corresponding to the song from the performance data file database based on a search result of at least one of the first index search and the first melody search;
The performance data file search method characterized by the above-mentioned.

(付記2)
前記第1のインデックス検索として、前記供給された曲のインデックスと完全一致する前記インデックスが付与されている前記演奏データファイルを、前記演奏データファイルデータベースから検索することを特徴とする付記1に記載の演奏データファイル検索方法。
(Appendix 2)
The supplementary note 1, wherein the performance data file to which the index that completely matches the index of the supplied music is retrieved from the performance data file database as the first index search. Performance data file search method.

(付記3)
前記メロディ抽出として、前記オーディオデータとは別に、前記曲のメロディ部分を含まないメロディ無しオーディオデータを取得できるか否か判別し、
前記メロディ無しオーディオデータを取得できると判別された場合には、前記オーディオデータから前記メロディ無しオーディオデータを差し引いて前記オーディオデータのメロディ部分を抽出することを特徴とする付記1又は2に記載の演奏データファイル検索方法。
(Appendix 3)
As the melody extraction, apart from the audio data, it is determined whether or not melody-free audio data that does not include the melody portion of the song can be obtained,
The performance according to claim 1 or 2, wherein when it is determined that the audio data without melody can be acquired, the melody portion of the audio data is extracted by subtracting the audio data without melody from the audio data. Data file search method.

(付記4)
前記第1のメロディ検索により前記演奏データファイルが発見できなかった場合、前記オーディオデータのインデックスと部分一致するインデックスが付与されている前記演奏データファイルの群を前記演奏データファイルデータベースから検索する第2のインデックス検索をさらに実行し、
前記第2のインデックス検索により前記演奏データファイルの群を検索できた場合に、前記抽出された音高データ列と前記第1の合致基準よりも判定条件を緩和した第2の合致基準で合致する音高データ列を含む演奏データファイルを前記演奏データファイルの群から検索する第2のメロディ検索をさらに実行することを特徴とする付記1乃至3のいずれかに記載の演奏データファイル検索方法。
(Appendix 4)
When the performance data file cannot be found by the first melody search, the performance data file group to which an index partially matching the index of the audio data is assigned is searched from the performance data file database. Perform an additional index search of
When the group of performance data files can be searched by the second index search, the extracted pitch data string matches with the second matching criterion with a judgment condition eased compared to the first matching criterion. 4. The performance data file search method according to any one of appendices 1 to 3, further comprising performing a second melody search for searching a performance data file including a pitch data string from the group of performance data files.

(付記5)
前記第2のメロディ検索により前記演奏データファイルを検索できた場合に、当該演奏データファイルを前記演奏データファイルデータベースから取得することを特徴とする付記4に記載の演奏データファイル検索方法。
(Appendix 5)
5. The performance data file search method according to appendix 4, wherein the performance data file is acquired from the performance data file database when the performance data file can be searched by the second melody search.

(付記6)
前記メロディ無しオーディオデータを取得できないと判別された場合には、音響解析処理により前記オーディオデータからメロディ部分を抽出し、
前記抽出されたオーディオデータのメロディ部分から、前記曲のメロディ部分を表す音高データ列を抽出することを特徴とする付記3に記載の演奏データファイル検索方法。
(Appendix 6)
If it is determined that the melody-free audio data cannot be obtained, the melody part is extracted from the audio data by an acoustic analysis process,
4. The performance data file search method according to appendix 3, wherein a pitch data string representing the melody portion of the song is extracted from the melody portion of the extracted audio data.

(付記7)
前記オーディオデータのインデックスと部分一致するインデックスが付与されている前記演奏データファイルの群を前記演奏データファイルデータベースから検索する第2のインデックス検索をさらに実行し、
前記第2のインデックス検索に成功した場合に、前記抽出された音高データ列と前記第1の合致基準よりも判定条件を緩和した第2の合致基準で合致する音高データ列を含む演奏データファイルを前記演奏データファイルの群から検索する第2のメロディ検索をさらに実行することを特徴とする付記6に記載の演奏データファイル検索方法。
(Appendix 7)
A second index search for searching the performance data file database for the group of performance data files to which an index that partially matches the index of the audio data is provided;
If the second index search is successful, the performance data includes the pitch data string that matches the extracted pitch data string with a second matching criterion that is more relaxed than the first matching criterion. The performance data file search method according to appendix 6, further comprising performing a second melody search for searching for a file from the group of performance data files.

(付記8)
前記第2のメロディ検索により前記演奏データファイルを検索できた場合に、当該演奏データファイルを前記演奏データファイルデータベースから取得することを特徴とする付記7に記載の演奏データファイル検索方法。
(Appendix 8)
The performance data file search method according to appendix 7, wherein when the performance data file can be searched by the second melody search, the performance data file is acquired from the performance data file database.

(付記9)
前記演奏データファイルは、MIDI形式の標準MIDIファイルである、
ことを特徴とする付記1乃至8のいずれかに記載の演奏データファイル検索方法。
(Appendix 9)
The performance data file is a standard MIDI file in MIDI format.
The performance data file search method according to any one of appendices 1 to 8, characterized in that:

(付記10)
所望の曲を識別するインデックスと対応するインデックスが付与され前記曲を表わす音高データ列を含む演奏データファイルを、演奏データファイルデータベースから検索するインデックス検索手段と、
当該インデックス検索手段により、前記演奏データファイルが検索できなかった場合、少なくとも前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出するメロディ抽出手段と、
当該抽出された音高データ列を含む前記演奏データファイルを、第1の合致基準に基づいて前記演奏データファイルデータベースから検索するメロディ検索手段と、
前記インデックス検索手段と前記メロディ検索手段との少なくとも一方の検索結果に基づいて、前記曲に対応する演奏データファイルを前記演奏データファイルデータベースから取得する取得手段と、
を有することを特徴とする演奏データファイル検索装置。
(Appendix 10)
Index search means for searching a performance data file including a pitch data string, which is assigned an index for identifying a desired song and includes the pitch data string representing the song, from a performance data file database;
A melody extracting means for extracting a pitch data string representing a melody portion of the song from audio data including at least the melody portion of the song when the performance data file cannot be searched by the index search means;
Melody search means for searching the performance data file including the extracted pitch data string from the performance data file database based on a first match criterion;
An acquisition means for acquiring a performance data file corresponding to the song from the performance data file database based on a search result of at least one of the index search means and the melody search means;
A performance data file retrieval apparatus comprising:

(付記11)
コンピュータに、
所望の曲を識別するインデックスと対応するインデックスが付与され前記曲を表わす音高データ列を含む演奏データファイルを、演奏データファイルデータベースから検索する第1のインデックス検索を実行するステップと、
当該インデックス検索により、前記演奏データファイルが検索できなかった場合、少なくとも前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出する第1のメロディ抽出を実行するステップと、
当該抽出された音高データ列を含む前記演奏データファイルを、第1の合致基準に基づいて前記演奏データファイルデータベースから検索するメロディ検索を実行するステップと、
前記第1のインデックス検索と前記第1のメロディ検索との少なくとも一方の検索結果に基づいて、前記曲に対応する演奏データファイルを前記演奏データファイルデータベースから取得するステップと、
を実行させるプログラム。
(Appendix 11)
On the computer,
Performing a first index search that searches a performance data file database for a performance data file that is provided with an index corresponding to an index for identifying a desired music and includes a pitch data string representing the music;
If the performance data file cannot be searched by the index search, first melody extraction is performed to extract a pitch data string representing the melody portion of the song from audio data including at least the melody portion of the song. Steps,
Performing a melody search for searching the performance data file including the extracted pitch data string from the performance data file database based on a first matching criterion;
Obtaining a performance data file corresponding to the song from the performance data file database based on a search result of at least one of the first index search and the first melody search;
A program that executes

(付記12)
所望の曲を識別するインデックスと対応するインデックスが付与され前記曲を表わす音高データ列を含む演奏データファイルを、演奏データファイルデータベースから検索するインデックス検索手段と、受信された音高データ列を含む前記演奏データファイルを、第1の合致基準に基づいて前記演奏データファイルデータベースから検索するメロディ検索手段と、前記インデックス検索手段と前記メロディ検索手段との少なくとも一方の検索結果に基づいて、前記曲に対応する演奏データファイルを前記演奏データファイルデータベースから取得して送信する取得送信手段と、を有するサーバ装置に接続される端末装置であって、
前記インデックス検索手段により、前記演奏データファイルが検索できなかった場合、少なくとも前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出して前記サーバ装置に送信するメロディ抽出送信手段と、
前記サーバ装置から送信される演奏データファイルを受信する受信手段と、
を有することを特徴とする端末装置。
(Appendix 12)
Index search means for searching a performance data file including a pitch data string that is assigned an index for identifying a desired song and includes the pitch data string representing the song, and a received pitch data string Based on the search result of at least one of the melody search means, the index search means and the melody search means for searching the performance data file from the performance data file database based on a first match criterion, A terminal device connected to a server device having acquisition transmission means for acquiring and transmitting a corresponding performance data file from the performance data file database,
When the performance data file cannot be searched by the index search means, a pitch data string representing the melody portion of the song is extracted from audio data including at least the melody portion of the song and transmitted to the server device. Melody extraction and transmission means;
Receiving means for receiving a performance data file transmitted from the server device;
The terminal device characterized by having.

(付記13)
少なくとも前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出して送信するメロディ抽出送信手段と、を有する端末装置に接続されるサーバ装置であって、
所望の曲を識別するインデックスと対応するインデックスが付与され前記曲を表わす音高データ列を含む演奏データファイルを、演奏データファイルデータベースから検索するインデックス検索手段と、
前記端末装置から送信される前記音高データ列を含む前記演奏データファイルを、第1の合致基準に基づいて前記演奏データファイルデータベースから検索するメロディ検索手段と、
前記インデックス検索手段と前記メロディ検索手段との少なくとも一方の検索結果に基づいて、前記曲に対応する演奏データファイルを前記演奏データファイルデータベースから取得する取得手段と、
を有することを特徴とするサーバ装置。
(Appendix 13)
A server device connected to a terminal device having melody extraction and transmission means for extracting and transmitting a pitch data string representing the melody portion of the song from audio data including at least the melody portion of the song,
Index search means for searching a performance data file including a pitch data string, which is assigned an index for identifying a desired song and includes the pitch data string representing the song, from a performance data file database;
Melody search means for searching the performance data file including the pitch data string transmitted from the terminal device from the performance data file database based on a first match criterion;
An acquisition means for acquiring a performance data file corresponding to the song from the performance data file database based on a search result of at least one of the index search means and the melody search means;
The server apparatus characterized by having.

101 端末装置
102 クラウドサーバ
103 光鍵盤キーボード
201 CPU
202 ROM
203 RAM
204 入力部
205 表示部
206 MIDIインタフェース部(MIDI I/F)
207、221 ネットワークインタフェース部
208 バス
222 データベース管理部
223 カラオケ用SMFデータベース
101 Terminal Device 102 Cloud Server 103 Optical Keyboard Keyboard 201 CPU
202 ROM
203 RAM
204 Input unit 205 Display unit 206 MIDI interface unit (MIDI I / F)
207, 221 Network interface unit 208 Bus 222 Database management unit 223 Karaoke SMF database

Claims (11)

曲を識別するインデックスが付与されている、前記曲を表わす音高データ列を含む演奏データファイルを、演奏データファイルデータベースから検索する第1のインデックス検索を実行し、
当該第1のインデックス検索により、前記演奏データファイルが発見できなかった場合、前記曲に対応するボーカル付きのオーディオデータ及び前記曲に対応するボーカル無しのオーディオデータに基づいて抽出された前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出する第1のメロディ抽出を実行し、
当該抽出された音高データ列に合う前記演奏データファイルを、第1の合致基準に基づいて前記演奏データファイルデータベースから検索する第1のメロディ検索を実行し、
前記第1のインデックス検索と前記第1のメロディ検索との少なくとも一方の検索結果に基づいて、前記曲に対応する演奏データファイルを前記演奏データファイルデータベースから取得する、
ことを特徴とする演奏データファイル検索方法。
Performing a first index search that searches a performance data file database for a performance data file including a pitch data string representing the music, to which an index for identifying a song is assigned;
If the performance data file cannot be found by the first index search, the melody of the song extracted based on the audio data with vocal corresponding to the song and the audio data without vocal corresponding to the song Performing a first melody extraction for extracting a pitch data string representing a melody portion of the song from the audio data including the portion;
Performing a first melody search for searching the performance data file matching the extracted pitch data string from the performance data file database based on a first match criterion;
Obtaining a performance data file corresponding to the song from the performance data file database based on a search result of at least one of the first index search and the first melody search;
The performance data file search method characterized by the above-mentioned.
前記第1のメロディ抽出は、前記曲に対応するボーカル付きのオーディオデータから前記曲に対応するボーカル無しのオーディオデータを差し引いて、前記メロディ部分を含むオーディオデータを抽出することを特徴とする請求項1に記載の演奏データファイル検索方法。   The first melody extraction subtracts audio data without vocal corresponding to the song from audio data with vocal corresponding to the song to extract audio data including the melody portion. 2. The performance data file search method according to 1. 前記第1のメロディ検索により前記演奏データファイルが発見できなかった場合、前記オーディオデータのインデックスと部分一致するインデックスが付与されている前記演奏データファイルの群を前記演奏データファイルデータベースから検索する第2のインデックス検索をさらに実行し、
前記第2のインデックス検索により前記演奏データファイルの群を検索できた場合に、前記抽出された音高データ列と前記第1の合致基準よりも判定条件を緩和した第2の合致基準で合致する音高データ列を含む演奏データファイルを前記演奏データファイルの群から検索する第2のメロディ検索をさらに実行することを特徴とする請求項1又は2に記載の演奏データファイル検索方法。
When the performance data file cannot be found by the first melody search, the performance data file group to which an index partially matching the index of the audio data is assigned is searched from the performance data file database. Perform an additional index search of
When the group of performance data files can be searched by the second index search, the extracted pitch data string matches with the second matching criterion with a judgment condition eased compared to the first matching criterion. 3. The performance data file search method according to claim 1, further comprising performing a second melody search for searching a performance data file including a pitch data string from the group of performance data files.
前記第2のメロディ検索により前記演奏データファイルを検索できた場合に、当該演奏データファイルを前記演奏データファイルデータベースから取得することを特徴とする請求項3に記載の演奏データファイル検索方法。   4. The performance data file search method according to claim 3, wherein when the performance data file can be searched by the second melody search, the performance data file is acquired from the performance data file database. 前記第1のメロディ抽出は、前記曲に対応するボーカル無しのオーディオデータを取得できない場合に、前記曲に対応するボーカル付きのオーディオデータから音響解析処理によりメロディ部分を抽出し、
前記抽出されたオーディオデータのメロディ部分から、前記曲のメロディ部分を表す音高データ列を抽出することを特徴とする請求項1に記載の演奏データファイル検索方法。
In the first melody extraction, when audio data without vocal corresponding to the song cannot be acquired, a melody portion is extracted by audio analysis processing from the audio data with vocal corresponding to the song,
2. The performance data file search method according to claim 1, wherein a pitch data string representing the melody portion of the song is extracted from the melody portion of the extracted audio data.
前記オーディオデータのインデックスと部分一致するインデックスが付与されている前記演奏データファイルの群を前記演奏データファイルデータベースから検索する第2のインデックス検索をさらに実行し、
前記第2のインデックス検索に成功した場合に、前記抽出された音高データ列と前記第1の合致基準よりも判定条件を緩和した第2の合致基準で合致する音高データ列を含む演奏データファイルを前記演奏データファイルの群から検索する第2のメロディ検索をさらに実行することを特徴とする請求項5に記載の演奏データファイル検索方法。
A second index search for searching the performance data file database for the group of performance data files to which an index that partially matches the index of the audio data is provided;
If the second index search is successful, the performance data includes the pitch data string that matches the extracted pitch data string with a second matching criterion that is more relaxed than the first matching criterion. 6. The performance data file search method according to claim 5, further comprising performing a second melody search for searching for a file from the group of performance data files.
前記第2のメロディ検索により前記演奏データファイルを検索できた場合に、当該演奏データファイルを前記演奏データファイルデータベースから取得することを特徴とする請求項6に記載の演奏データファイル検索方法。   7. The performance data file search method according to claim 6, wherein when the performance data file can be searched by the second melody search, the performance data file is acquired from the performance data file database. 前記演奏データファイルは、MIDI形式の標準MIDIファイルである、
ことを特徴とする請求項1乃至7のいずれかに記載の演奏データファイル検索方法。
The performance data file is a standard MIDI file in MIDI format.
8. The performance data file search method according to claim 1, wherein the performance data file is searched.
曲を識別するインデックスが付与されている、前記曲を表わす音高データ列を含む演奏データファイルを、演奏データファイルデータベースから検索するインデックス検索手段と、
当該インデックス検索手段により、前記演奏データファイルが検索できなかった場合、前記曲に対応するボーカル付きのオーディオデータ及び前記曲に対応するボーカル無しのオーディオデータに基づいて抽出された前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出するメロディ抽出手段と、
当該抽出された音高データ列に合う前記演奏データファイルを、第1の合致基準に基づいて前記演奏データファイルデータベースから検索するメロディ検索手段と、
前記インデックス検索手段と前記メロディ検索手段との少なくとも一方の検索結果に基づいて、前記曲に対応する演奏データファイルを前記演奏データファイルデータベースから取得する取得手段と、
を有することを特徴とする演奏データファイル検索装置。
Index search means for searching a performance data file including a pitch data string representing the music, to which an index for identifying the music is assigned, from the performance data file database;
When the performance data file cannot be searched by the index search means, the melody portion of the song extracted based on the audio data with vocal corresponding to the song and the audio data without vocal corresponding to the song is obtained. Melody extraction means for extracting a pitch data string representing the melody part of the song from the audio data including,
Melody search means for searching the performance data file matching the extracted pitch data string from the performance data file database based on a first match criterion;
An acquisition means for acquiring a performance data file corresponding to the song from the performance data file database based on a search result of at least one of the index search means and the melody search means;
A performance data file retrieval apparatus comprising:
コンピュータに、
曲を識別するインデックスが付与されている、前記曲を表わす音高データ列を含む演奏データファイルを、演奏データファイルデータベースから検索するインデックス検索を実行するステップと、
当該インデックス検索により、前記演奏データファイルが検索できなかった場合、前記曲に対応するボーカル付きのオーディオデータ及び前記曲に対応するボーカル無しのオーディオデータに基づいて抽出された前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出するメロディ抽出を実行するステップと、
当該抽出された音高データ列に合う前記演奏データファイルを、第1の合致基準に基づいて前記演奏データファイルデータベースから検索するメロディ検索を実行するステップと、
前記インデックス検索と前記メロディ検索との少なくとも一方の検索結果に基づいて、前記曲に対応する演奏データファイルを前記演奏データファイルデータベースから取得するステップと、
を実行させるプログラム。
On the computer,
Performing an index search that searches a performance data file database for a performance data file including a pitch data string representing the music, to which an index for identifying a song is assigned;
If the performance data file cannot be searched by the index search, the melody portion of the song extracted based on the audio data with vocal corresponding to the song and the audio data without vocal corresponding to the song is included. Performing a melody extraction for extracting a pitch data string representing a melody portion of the song from the audio data; and
Performing a melody search for searching for the performance data file that matches the extracted pitch data string from the performance data file database based on a first match criterion;
Obtaining a performance data file corresponding to the song from the performance data file database based on a search result of at least one of the index search and the melody search;
A program that executes
曲に対応するボーカル付きのオーディオデータ及び前記曲に対応するボーカル無しのオーディオデータに基づいて抽出された前記曲のメロディ部分を含むオーディオデータから、当該曲のメロディ部分を表す音高データ列を抽出するメロディ抽出手段と、
前記メロディ抽出手段が抽出した音高データ列をサーバ装置に送信するメロディ抽出送信手段と、
前記サーバ装置から送信される演奏データファイルを受信する受信手段と、
を有することを特徴とする端末装置。
A pitch data string representing the melody part of the song is extracted from the audio data including the melody part of the song extracted based on the audio data with vocal corresponding to the song and the audio data without vocal corresponding to the song. Melody extraction means to
Melody extraction and transmission means for transmitting the pitch data string extracted by the melody extraction means to a server device;
Receiving means for receiving a performance data file transmitted from the server device;
The terminal device characterized by having.
JP2013195534A 2013-09-20 2013-09-20 Performance data file search method, system, program, terminal device, and server device Active JP6439239B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013195534A JP6439239B2 (en) 2013-09-20 2013-09-20 Performance data file search method, system, program, terminal device, and server device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013195534A JP6439239B2 (en) 2013-09-20 2013-09-20 Performance data file search method, system, program, terminal device, and server device

Publications (2)

Publication Number Publication Date
JP2015060177A JP2015060177A (en) 2015-03-30
JP6439239B2 true JP6439239B2 (en) 2018-12-19

Family

ID=52817722

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013195534A Active JP6439239B2 (en) 2013-09-20 2013-09-20 Performance data file search method, system, program, terminal device, and server device

Country Status (1)

Country Link
JP (1) JP6439239B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114900726B (en) * 2022-05-09 2024-05-07 深圳创维-Rgb电子有限公司 Audio interaction identification method, electronic equipment and readable storage medium

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09258729A (en) * 1996-03-26 1997-10-03 Yamaha Corp Tune selecting device
JP4403658B2 (en) * 2001-01-18 2010-01-27 ヤマハ株式会社 Music data output device and music data output method
JP4632836B2 (en) * 2005-03-28 2011-02-16 三洋電機株式会社 Image search device
JP2006276560A (en) * 2005-03-30 2006-10-12 Kenwood Corp Music playback device and music playback method
JP4027405B2 (en) * 2006-11-14 2007-12-26 松下電器産業株式会社 Music searching device, music searching method, program thereof and recording medium
JP2012194653A (en) * 2011-03-15 2012-10-11 Nec Corp Data processing device, data processing system, data processing method, and program

Also Published As

Publication number Publication date
JP2015060177A (en) 2015-03-30

Similar Documents

Publication Publication Date Title
KR100658869B1 (en) Music generating device and operating method thereof
TWI497484B (en) Performance evaluation device, karaoke device, server device, performance evaluation system, performance evaluation method and program
US9117432B2 (en) Apparatus and method for detecting chord
US7368652B2 (en) Music search system and music search apparatus
US7663044B2 (en) Musical performance self-training apparatus
Dittmar et al. Music information retrieval meets music education
JP2010521021A (en) Song-based search engine
JP4479701B2 (en) Music practice support device, dynamic time alignment module and program
JP6565528B2 (en) Automatic arrangement device and program
JP6295583B2 (en) Music data generating apparatus and program for realizing music data generating method
JP6760450B2 (en) Automatic arrangement method
JP2015060200A (en) Musical performance data file adjustment device, method, and program
WO2019180830A1 (en) Singing evaluating method, singing evaluating device, and program
JP6459162B2 (en) Performance data and audio data synchronization apparatus, method, and program
JP2007219139A (en) Melody generation system
JP6439239B2 (en) Performance data file search method, system, program, terminal device, and server device
JP2003131674A (en) Music search system
JP2006301019A (en) Pitch-notifying device and program
JP6075313B2 (en) Program, information processing apparatus, and evaluation data generation method
JP6075314B2 (en) Program, information processing apparatus, and evaluation method
JP3879524B2 (en) Waveform generation method, performance data processing method, and waveform selection device
JP3804500B2 (en) Music score editing device
JP5969421B2 (en) Musical instrument sound output device and musical instrument sound output program
JP5847048B2 (en) Piano roll type score display apparatus, piano roll type score display program, and piano roll type score display method
JP3664126B2 (en) Automatic composer

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160915

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170822

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180327

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180522

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181105

R150 Certificate of patent or registration of utility model

Ref document number: 6439239

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150