JP7425558B2 - コード検出装置及びコード検出プログラム - Google Patents

コード検出装置及びコード検出プログラム Download PDF

Info

Publication number
JP7425558B2
JP7425558B2 JP2019145293A JP2019145293A JP7425558B2 JP 7425558 B2 JP7425558 B2 JP 7425558B2 JP 2019145293 A JP2019145293 A JP 2019145293A JP 2019145293 A JP2019145293 A JP 2019145293A JP 7425558 B2 JP7425558 B2 JP 7425558B2
Authority
JP
Japan
Prior art keywords
code
chord
detection
code detection
audio data
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
JP2019145293A
Other languages
English (en)
Other versions
JP2021026141A (ja
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.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP2019145293A priority Critical patent/JP7425558B2/ja
Publication of JP2021026141A publication Critical patent/JP2021026141A/ja
Application granted granted Critical
Publication of JP7425558B2 publication Critical patent/JP7425558B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、コード検出装置及びコード検出プログラムに関する。
特許文献1には、和音データ生成装置が開示されている。音階レベル検出手段は、入力される音響信号に対して異なる特性のディジタルフィルタリング処理を時分割で順次行うことにより、その処理に対応する各々所定の複数の音階音に関する各周波数スペクトルのレベルを検出する。音階レベル積算手段は、所定のタイミング毎に、音階レベル検出手段から検出される各周波数スペクトルのレベルのうち、相対的に各オクターブ内で同じ音階関係にある周波数スペクトルのレベル同士を積算する。音階音検出手段は、所定のタイミング毎に、音階レベル積算手段で積算された1オクターブに含まれる音階夫々に対応する周波数スペクトルの積算レベルのうち値が大きい所定数を選択することにより、1オクターブ内の音階音の中から所定数の音階音を検出する。和音データ生成手段は、所定のタイミング毎に、音階音検出手段で検出された所定数の音階音に基づいて対応する和音データを生成する。
特許第3156299号公報
特許文献1は、音響信号に対して、上記の所定のタイミング毎に、周波数スペクトルのレベル同士を積算し、音階音を検出し、和音データを生成する。しかし、特許文献1は、テンポが一定でない曲では、上記の所定のタイミングを決めることが困難であるため、適切な和音データを生成することが困難である。
本発明の目的は、楽曲オーディオデータが再生されている間に、リアルタイムでコードを検出することができるようにすることである。
本発明のコード検出装置は、楽曲オーディオデータを再生する再生手段と、前記再生手段により前記楽曲オーディオデータが再生されている間にコード検出が指示されると、前記コード検出が指示されたタイミングに対応する前記楽曲オーディオデータの部分のコードを検出するコード検出手段とを有し、前記コード検出手段は、前記コード検出が指示されたタイミングから検出期間を経過するまでのタイミングに対応する前記楽曲オーディオデータのコードを検出する。
本発明によれば、楽曲オーディオデータが再生されている間に、リアルタイムでコードを検出することができる。
図1は、コード検出装置の機能構成例を示すブロック図である。 図2は、表示制御部が画像表示装置に表示する画像の例を示す図である。 図3は、コード検出装置のコード検出方法を示すフローチャートである。 図4(A)~(F)は、コード検出方法を説明するための図である。
図1は、本実施形態によるコード検出装置100の機能構成例を示すブロック図である。コード検出装置100は、例えば、タブレット端末である。MIDI入力装置141は、演奏情報を入力するためのMIDI機器であり、タブレット端末に接続される。MIDI出力装置142は、MIDI情報に応じた処理を行うMIDI機器であり、タブレット端末に接続される。MIDI出力装置142は、例えば、MIDI情報に応じて楽音を発音する。MIDI入力装置141及びMIDI出力装置142は、必須ではない。
コード検出装置100は、タッチパネル装置101と、画像表示装置102と、サウンド出力装置103とを有する。タッチパネル装置101は、例えば、タブレット端末のタッチパネルであり、ユーザの指のタッチの座標を検出する。画像表示装置102は、例えば、タブレット端末の液晶表示装置であり、画像を表示する。サウンド出力装置103は、例えば、タブレット端末のスピーカであり、楽曲オーディデータ及びコード(和音)の音を発音する。
コード検出装置100は、楽曲情報記憶部111と、波形情報記憶部112と、画像情報記憶部113とを有する。これらは、例えば、タブレット端末のハードディスクドライブ装置又はRAM等に対応する。楽曲情報記憶部111は、非圧縮形式ファイル(WAV、AIFFなど)や圧縮形式ファイル(MP3、AACなど)等の一般的な楽曲オーディオファイルを記憶する。波形情報記憶部112は、波形情報読出部124により読み出された非圧縮のPCM波形情報を記憶する。画像情報記憶部113は、画像表示装置102に表示するための画像を記憶する。
コード検出装置100は、タッチ座標検出部121と、再生指示部122と、選曲指示部123と、波形情報読出部124と、分散和音指示部125と、和音指示部126と、再生処理部127と、コード検出部128と、MIDI情報生成部129と、サウンド生成部130と、サウンド再生部131と、画像生成部132と、表示制御部133とを有する。これらは、例えば、タブレット端末のCPUがプログラムを実行することにより実現される処理部である。これらの詳細は、後述する。
図2は、表示制御部133が画像表示装置102に表示する画像200の例を示す図である。画像200は、楽曲PCM波形(楽曲オーディオデータ波形)201と、鍵盤202と、コード検出ボタン203と、テンポボタン204と、再生ボタン205と、停止ボタン206とを有する。
表示制御部133は、画像200を画像表示装置102に表示するように制御する。タッチパネル装置101は、画像表示装置102の表示面に設けられる。ユーザが画像200上を指でタッチすると、タッチ座標検出部121は、画像200上のタッチされた座標を検出し、画像200上のタッチされた領域を認識する。
図3は、コード検出装置100のコード検出方法を示すフローチャートである。まず、ステップS301では、選曲指示部123は、タッチ座標検出部121がユーザのタッチを検出することにより、楽曲情報記憶部111に記憶されている複数の楽曲名の中から1つの楽曲名を選択する。
次に、ステップS302では、波形情報読出部124は、選曲指示部123により選択された楽曲名の楽曲オーディデータを読み出し、非圧縮に変換されたPCM波形情報を波形情報記憶部112へ書き出す。画像生成部132は、波形情報読出部124により書き込まれた楽曲PCM波形201を含む画像200を生成し、その画像200を画像情報記憶部113に書き込む。表示制御部133は、画像情報記憶部113に記憶されている楽曲PCM波形201を含む画像200を画像表示装置102に表示するように制御する。楽曲PCM波形201は、図4(A)に示すように、左チャンネルの楽曲PCM波形407と、右チャンネルの楽曲PCM波形408を含む。
次に、ステップS303では、コード検出部128は、波形情報読出部124により読み出された楽曲PCM波形201を基に、その楽曲のテンポ401(図4(A))を検出する。テンポ401は、例えば、65bpm(beats per minute)である。画像生成部132は、テンポ401及びテンポバー402を含む画像200を生成する。表示制御部133は、図4(A)のように、テンポ401及びテンポバー402を含む画像200を画像表示装置102に表示するように制御する。複数のテンポバー402は、楽曲PCM波形201上のテンポ401に対応する等間隔のビートを示す。
テンポ401は、後述のステップS308及びS313のコード検出に用いられる。コード検出部128は、楽曲のコードを高精度で検出するために、コードが切り替わるタイミングに密接に関係するテンポ401を検出する。例えば、コード検出部128は、自己相関等を使って、楽曲PCM波形201の周期性を解析することにより、テンポ401を検出する。具体的には、コード検出部128は、ドラム等の打楽器により周期的にリズムを刻むような現代的な楽曲の場合には、時系列的に、楽曲PCM波形201の周波数解析を行った上で、特定周波数帯のパワーの周期的変化を見つけることで、テンポ401を検出することができる。
次に、ステップS304では、再生指示部122は、タッチ座標検出部121がユーザの再生ボタン205のタッチを検出することにより、再生開始が指示するまで待機し、再生開始が指示されると、ステップS305に進む。
ステップS305では、再生処理部127は、選択された楽曲名の楽曲PCM波形を波形情報記憶部112から読み出し、その楽曲PCM波形の再生処理を開始する。サウンド生成部130は、サウンド再生部131に対して、再生処理部127により再生処理された楽曲PCM波形の出力を開始する。サウンド再生部131は、サウンド出力装置に対して、楽曲オーディオデータの発音を開始させる。表示制御部133は、図4(A)に示すように、再生バー403を画像表示装置102に表示するように制御する。再生バー403は、楽曲PCM波形201上の再生位置を示す。ユーザは、楽曲PCM波形201の楽音を聞きながら、コード検出ボタン203又は鍵盤202のタッチにより、コード検出を指示することができる。
ここで、ユーザは、楽曲PCM波形201の楽音を聞きながら、テンポバー402と再生バー403を参照することにより、テンポ401が適正値であるか否かを判断することができる。
例えば、テンポが一定でない曲、抑揚豊富なテンポが目まぐるしく変化するクラシック曲、周期的なリズムの特徴に乏しい曲などの場合には、コード検出部128は、高精度にテンポ401を検出することが困難な場合がある。
その場合、ユーザは、テンポボタン204を用いて、テンポ401を変更することができる。例えば、ユーザは、楽曲のビートに合わせて、テンポボタン204を略等間隔でビートをタップする。すると、コード検出部128は、テンポボタン204のタップの間隔に応じて、テンポ401を検出し、テンポ401を決定する。表示制御部133は、その決定されたテンポ401を表示するように制御する。
次に、ステップS306では、分散和音指示部125は、コード検出により分散和音を発音させるための鍵盤202がタッチされたか否かを判定する。ユーザは、鍵盤202の鍵をタッチすることにより、分散音の演奏情報を入力する。分散和音指示部125は、鍵盤202がタッチされた場合にはステップS311に進み、鍵盤202がタッチされていない場合には、ステップS307に進む。
なお、コード検出装置100は、鍵盤202の代わりに、MIDI入力装置141を用いてもよい。その場合、分散和音指示部125は、MIDI入力装置141から単音のノートオン情報(例えば押鍵情報)が入力されたか否かを判定する。分散和音指示部125は、単音のノートオン情報が入力された場合には、ステップS311に進み、単音のノートオン情報が入力されていない場合には、ステップS307に進む。
ステップS307では、和音指示部126は、コード検出により和音を発音させるためのコード検出ボタン203がタッチされたか否かを判定する。和音指示部126は、コード検出ボタン203がタッチされた場合にはステップS308に進み、コード検出ボタン203がタッチされていない場合には、ステップS316に進む。
なお、コード検出装置100は、コード検出ボタン203の代わりに、MIDI入力装置141を用いてもよい。例えば、和音指示部126は、MIDI入力装置141から和音入力指示用にアサインされた鍵のノートオン情報が入力されたか否かを判定する。和音指示部126は、和音入力指示用にアサインされた鍵のノートオン情報が入力された場合には、ステップS308に進み、和音入力指示用にアサインされた鍵のノートオン情報が入力されていない場合には、ステップS316に進む。
ステップS308では、コード検出部128は、図4(A)のように、コード検出ボタン203のタッチ開始タイミングt3から検出期間404を経過するまでのタイミングt4に対応する楽曲PCM波形201のコードを検出する。コード検出ボタン203のタッチ開始タイミングt3は、和音指示部126によりコード検出が指示されたタイミングである。
検出期間404は、初回にコード検出ボタン203にタッチしたときにはステップS303で検出されたテンポ401に基づく期間である。また、ユーザがテンポボタン204でテンポ401を指定した場合には、検出期間404は、ユーザがテンポボタン204で入力する複数のビートの間隔に基づく期間である。例えば、検出期間404は、テンポ401に基づく複数のテンポバー402の間隔の2倍の期間である。
一方、コード検出ボタン203のタッチが初回でないときには、検出期間404は、前回コード検出ボタン203にタッチしてから今回コード検出ボタン203にタッチするまでの時間に対応する期間とするのが望ましい。
まず、コード検出部128は、図4(A)の検出期間404の楽曲PCM波形201を高速フーリエ変換(FFT)し、図4(B)の周波数スペクトラム410を得る。周波数スペクトラム410は、左チャンネルの周波数スペクトラム411と、右チャンネルの周波数スペクトラム412を含む。左チャンネルの周波数スペクトラム411は、左チャンネルの楽曲PCM波形407を高速フーリエ変換したものである。右チャンネルの周波数スペクトラム412は、右チャンネルの楽曲PCM波形408を高速フーリエ変換したものである。
次に、コード検出部128は、周波数スペクトラム410に含まれる音高を検出し、図4(C)のように、その検出した音高を鍵盤202の1オクターブ内の音高に変換し、鍵盤202の1オクターブ内の音高毎に周波数パワーを積算し、1オクターブ内の音高毎の周波数パワー421を得る。
次に、コード検出部128は、図4(D)のコード構成音テーブル431を参照し、音高毎の周波数パワー421のうちの閾値より大きい周波数パワーの音高を基に、コードネームを検出する。コードネームは、ルート音(根音)とコードタイプを含む。コード構成音テーブル431は、ルート音がC(ド)の場合のコードタイプと構成音フラグを示す。例えば、「Cmaj」のコードネームは、ルート音が「C」であり、コードタイプが「maj」である。コードネームの構成音は、構成音フラグが「_」で表される音である。例えば、「Cmaj」のコードネームの構成音は、構成音フラグが0であるC(ド)と、構成音フラグが4であるE(ミ)と、構成音フラグが7であるG(ソ)である。コード検出部128は、音高毎の周波数パワー421のうちの閾値より大きい周波数パワーの音高がCとEとGである場合には、「Cmaj」のコードネームを検出する。コード検出部128は、複数のコードネームの候補を推定した場合には、周波数パワー421の大きさを基に、第1候補のコードネームを採用する。なお、コード検出部128は、コード構成音テーブル431の構成音フラグをシフトすることにより、ルート音がC以外の音のコードネームを検出することができる。
次に、表示制御部133は、図4(E)のように、コード検出部128により検出されたコードネーム(例えば、C7sus4)をコード情報としてコード検出ボタン203上に表示するように制御する。また、表示制御部133は、図4(A)の楽曲PCM波形201のタイミングt3の位置に、図2のように、コードネーム(例えば、C7sus4)をコード情報として表示するように制御する。
なお、表示制御部133は、図4(A)に示すように、タイミングt1でコード検出ボタン203がタップされた場合には、楽曲PCM波形201のタイミングt1の位置に、コードネーム(例えば、F#-5)405を表示するように制御する。
また、表示制御部133は、図4(A)に示すように、タイミングt2でコード検出ボタン203がタップされた場合には、楽曲PCM波形201のタイミングt2の位置に、コードネーム(例えば、F#-5/D)406を表示するように制御する。
コード検出部128は、過去に検出したすべてのコードネーム405及び406を記憶している。表示制御部133は、コード検出部128が過去に検出したすべてのコードネーム405及び406を表示する。
また、表示制御部133は、図4(F)に示すように、コード検出部128により検出されたコードネームの構成音を、鍵盤202の全オクターブの鍵に丸印(○)として表示するように制御する。例えば、表示制御部133は、その構成音のうちのルート音を緑色の丸印で表示し、その構成音のうちのルート音以外の音を赤色の丸印で表示するように制御する。表示制御部133は、コード検出部128により検出されたコードネームの構成音を、鍵盤又はギターのフレット上に表示するように制御することができる。
次に、ステップS310では、MIDI情報生成部129は、コード検出部128により検出されたコードを基に、和音のノートオンのMIDI情報を生成する。MIDI出力装置142がタブレット端末に接続されている場合には、MIDI情報生成部129は、その生成した和音のノートのMIDI情報をMIDI出力装置142に出力する。なお、MIDI出力装置142は、MIDI入力装置141と同一のMIDI機器でもよい。
サウンド生成部130は、MIDI情報生成部129により生成された和音のノートのMIDI情報と、再生処理部127により再生処理された楽曲PCM波形201を合成し、楽曲オーディオデータを生成する。サウンド再生部131は、サウンド出力装置103に対して、サウンド生成部130により生成された楽曲オーディオデータを再生する。サウンド出力装置103は、選択された楽曲名の楽曲PCMと和音を発音する。その後、コード検出装置100は、ステップS316に進む。
ステップS311では、コード検出部128は、ステップS306でタッチされた時刻を記憶する。
次に、ステップS312では、コード検出部128は、タッチされた時刻が前回ステップS306でタッチされた時刻から所定時間経過しているか否かを判定する。尚、ステップS306が初回の場合には、すでに所定時間経過したものとして扱う。コード検出部128は、所定時間経過している場合には、ステップS313に進み、所定時間経過していない場合には、ステップS316に進む。
ステップS306では、ユーザは、分散和音を演奏するために鍵盤202の鍵にタッチしている場合には、短期間の間隔で鍵盤202の鍵がタッチされる。このとき、ユーザが鍵盤202の鍵を短時間の間隔でタッチする毎に、コード検出部128がコードを検出するようにしてしまうと、ごく短期間でのFFTによりコード検出精度が悪化するので好ましくない。そこで、ユーザによる鍵盤202の分散音の演奏情報が入力されると、コード検出部128は、前回のコードの検出から所定時間経過後のタッチに対して次のコードの検出を行う。コード検出部128は、例えば、図4(A)の検出期間404の後に、コード検出が可能になるようにする。
ステップS313では、コード検出部128は、ステップS308と同様に、鍵盤202の鍵のタッチ開始タイミングt3から検出期間404を経過するまでのタイミングt4に対応する楽曲PCM波形201のコードを検出する。鍵盤202の鍵のタッチ開始タイミングt3は、分散和音指示部125によりコード検出が指示されたタイミングである。
次に、ステップS314では、表示制御部133は、ステップS309と同様に、コード検出部128により検出されたコードネームを基に、図4(E)のコード検出ボタン203上のコードネームを表示し、図4(A)のタイミングt3の位置にコードネームを表示し、図4(F)の鍵盤202上にコードネームの構成音を丸印で表示するように制御する。
次に、ステップS315では、MIDI情報生成部129は、ステップS306でユーザによる分散音の演奏情報が入力されると、その演奏情報に対応し、コード検出部128により検出されたコードの構成音の中のいずれかの音のノートのMIDI情報を生成する。例えば、MIDI情報生成部129は、コード検出部128により検出されたコードの構成音の中で、入力された演奏情報の音高に最も近い音のノートのMIDI情報を生成する。
サウンド生成部130は、MIDI情報生成部129により生成された構成音のノートのMIDI情報と、再生処理部127により再生処理された楽曲PCM波形201を合成し、楽曲オーディオデータを生成する。サウンド再生部131は、サウンド出力装置103に対して、サウンド生成部130により生成された楽曲オーディオデータを再生する。サウンド出力装置103は、選択された楽曲名の楽曲PCMと構成音を発音する。その後、コード検出装置100は、ステップS316に進む。
ステップS316では、再生処理部127は、再生位置を更新し、更新された再生位置の楽曲PCM波形に対して再生処理を行う。
次に、ステップS317では、サウンド生成部130及びサウンド再生部131は、サウンド出力装置103に対して、再生処理部127により再生処理された楽曲PCM波形とMIDI情報生成部129により生成されたMIDI情報を基に、楽曲オーディオデータ波形を出力する。表示制御部133は、更新された再生位置の再生バー403を表示するように制御する。
次に、ステップS318では、再生処理部127は、再生位置が選択した楽曲名の楽曲PCM波形201の中の終了位置であるか否かを判定する。再生処理部127は、再生位置が終了位置でない場合には、ステップS319に進み、再生位置が終了位置である場合には、ステップS320に進む。
ステップS319では、再生処理部127は、図2の停止ボタン206がタップされることにより、再生終了が指示されたか否かを判定する。再生処理部127は、再生終了が指示された場合には、ステップS320に進み、再生終了が指示されていない場合には、ステップS306に戻る。
ステップS320では、再生処理部127は、上記の楽曲PCM波形の再生処理を終了する。以上で、コード検出装置100は、図3のフローチャートの処理を終了する。
以上のように、コード検出部128は、再生処理部127により楽曲PCM波形201が再生処理されている間に、コード検出ボタン203又は鍵盤202のタッチによりコード検出が指示されると、そのコード検出が指示されたタイミングt3に対応する楽曲PCM波形201の部分のコードを検出する。
楽曲の再生が始まると、ユーザは、その生成されたリズム、メロディ、又は伴奏などを耳で確認しながら、コードが変化したと感じるタイミングで、コード検出ボタン203をタップすることにより、コード検出指示をリアルタイムで行う。すると、コード検出部128は、直ちに、タップされたタイミングの近傍の楽曲PCM波形201の周波数解析をごく短時間で行う。表示制御部133は、コード検出部128により検出されたコードネームを即座に表示する。
また、ユーザは、鍵盤202の鍵をタップすることにより、再生される楽曲オーディオデータのメロディや伴奏に合わせて、リズムよく鍵盤202を弾くことができる。コード検出部128は、最初の鍵のタップ後に、即座にリアルタイムでコード検出を行う。このとき、最初に弾いた鍵が検出されたコード構成音以外の鍵であったときには、MIDI情報生成部129は、その鍵の代わりに、その鍵の最寄りのコード構成音のMIDI情報を生成する。また、コード検出部128は、2番目以降のタップのたびに、短時間の間に次々にコード検出を行うと、目まぐるしく、コードが変化してしまうばかりでなく、コード検出精度が悪化するため、芳しくない。コード検出部128は、これを避けるため、前回のタップのコード検出時刻から所定時間経過するまでは、たとえタップがあったとしても、次のコード検出を行わない。このようにすることで、ユーザは、分散和音(アルペジオ)で鍵を次々に短時間で弾いたとしても、安定したコード進行が期待できる。
また、ユーザがタッチパネル装置101のタッチ操作により、コード検出部128は、コードネーム405又は406の時刻を変更したり、コードネーム405又は406削除したり、コードネーム405又は406を別のコードネームに変更することができる。また、ユーザがコードネーム405又は406をタップすると、表示制御部133は、コードネーム405又は406に対して、別のコードネームの候補を列挙表示する。ユーザは、タッチ操作により、その候補の中から和音を試聴しながら選択できる。
また、表示制御部133は、図4(F)のように、コード検出部128により検出されたコード構成音に対応する鍵に丸印等のマークや色付けなどをして、コード構成音以外の鍵と容易に識別可能とする。
次に、コード検出部128が、コード検出ボタン203又は鍵盤202のタッチなしで、事前に、楽曲PCM波形201のすべてのコード進行を検出する場合の課題を説明する。例えば、コード検出部128は、テンポ401が一定でない曲、抑揚豊富でテンポ401が目まぐるしく変化するクラシック曲、又は周期的なリズムの特徴に乏しい曲などの場合、高精度にテンポ401を検出するのは困難である。したがって、コード検出部128は、楽曲PCM波形201のすべてのコード進行を適切に検出することは困難である。また、コードが目まぐるしく変化したり、裏拍からコードが切り替わったり、前拍の終わりを侵食してコードが早めに切り替わったりする曲の場合、コード検出部128は、楽曲PCM波形201のすべてのコード進行を適切に検出することは困難である。
本実施形態によれば、コード検出部128は、楽曲オーディオデータが再生されている間に、コード検出ボタン203又は鍵盤202のタッチにより、リアルタイムでコードを検出することができる。特に、ユーザは、楽曲のテンポに合わせて、コード検出ボタン203をタッチすることにより、コード検出部128は、コードの切り替わりタイミングで、コード検出を行うことができるので、適切なコードを検出することができる。
コード検出部128は、テンポが一定でない曲、リズムがはっきりしない曲、又はコードが目まぐるしく変化する曲であっても、楽曲の任意の区間で、指定したタイミングのコードを比較的高精度で検出することができる。また、コード検出部128は、リアルタイムで、ごく短い区間のコードのみを検出すればよいため、検出時間が非常に短く、高速に検出することができる。また、コード検出部128は、予め楽曲全体のコードのすべてを検出しておく必要がないので、ユーザは、コード検出のために長時間待たなくてよい。また、コード検出部128は、楽曲を再生しながら、コード検出を行うことができるため、効率的である。
さらに、コードの押さえ方がわからないユーザであっても、適当に鍵盤202を弾いているだけで、楽曲オーディオデータと音楽的に調和した音で演奏でき、鍵盤202上の丸印のコード構成音の表示により、コードの押さえ方も理解できるようになり、スキルアップが期待できる。
例えば、ユーザは、再生処理部127によりピアノソロ曲を再生させながら、鍵盤202又はMIDI入力装置141により、ベース音で即興演奏したり、再生処理部127によりピアノ・ベース・ドラムトリオ曲を再生させながら、ビブラフォンで即興演奏したりする等、好きな楽曲を再生させながら、セッションを気軽に楽しむことが可能となる。
本実施形態は、コンピュータがコード検出プログラムを実行することによって、コード検出装置100の機能を実現することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体及び上記のプログラム等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100 コード検出装置
101 タッチパネル装置
102 画像表示装置
103 サウンド出力装置
111 楽曲情報記憶部
112 波形情報記憶部
113 画像情報記憶部
121 タッチ座標検出部
122 再生指示部
123 選曲指示部
124 波形情報読出部
125 分散和音指示部
126 和音指示部
127 再生処理部
128 コード検出部
129 MIDI情報生成部
130 サウンド生成部
131 サウンド再生部
132 画像生成部
133 表示制御部
141 MIDI入力装置
142 MIDI出力装置

Claims (15)

  1. 楽曲オーディオデータを再生する再生手段と、
    前記再生手段により前記楽曲オーディオデータが再生されている間にコード検出が指示されると、前記コード検出が指示されたタイミングに対応する前記楽曲オーディオデータの部分のコードを検出するコード検出手段とを有し、
    前記コード検出手段は、前記コード検出が指示されたタイミングから検出期間を経過するまでのタイミングに対応する前記楽曲オーディオデータのコードを検出することを特徴とするコード検出装置。
  2. 前記コード検出手段は、前記楽曲オーディオデータのテンポを検出し、
    前記検出期間は、前記楽曲オーディオデータのテンポに基づく期間であることを特徴とする請求項に記載のコード検出装置。
  3. 前記検出期間は、ユーザが入力する複数のビートの間隔に基づく期間であることを特徴とする請求項に記載のコード検出装置。
  4. 前記検出期間は、前回コード検出が指示されてから今回コード検出が指示されるまでの間隔に基づく期間であることを特徴とする請求項に記載のコード検出装置。
  5. 楽曲オーディオデータを再生する再生手段と、
    前記再生手段により前記楽曲オーディオデータが再生されている間にコード検出が指示されると、前記コード検出が指示されたタイミングに対応する前記楽曲オーディオデータの部分のコードを検出するコード検出手段と、
    前記コード検出手段により検出されたコードに対応するコード情報を表示するように制御する表示制御手段とを有し、
    前記表示制御手段は、前記コード検出手段により検出された楽曲オーディオデータの部分に対応する位置に、前記コード情報を表示するように制御することを特徴とするコード検出装置。
  6. 楽曲オーディオデータを再生する再生手段と、
    前記再生手段により前記楽曲オーディオデータが再生されている間にコード検出が指示されると、前記コード検出が指示されたタイミングに対応する前記楽曲オーディオデータの部分のコードを検出するコード検出手段と、
    前記コード検出手段により検出されたコードに対応するコード情報を表示するように制御する表示制御手段とを有し、
    前記表示制御手段は、鍵盤上に、前記コード検出手段により検出されたコードの構成音を表示するように制御することを特徴とするコード検出装置。
  7. 楽曲オーディオデータを再生する再生手段と、
    前記再生手段により前記楽曲オーディオデータが再生されている間にコード検出が指示されると、前記コード検出が指示されたタイミングに対応する前記楽曲オーディオデータの部分のコードを検出するコード検出手段とを有し、
    前記再生手段は、ユーザによる分散音の演奏情報が入力されると、前記演奏情報に対応し、前記コード検出手段により検出されたコードの構成音の中のいずれかの音を再生することを特徴とするコード検出装置。
  8. 前記再生手段は、前記コード検出手段により検出されたコードの構成音の中で、前記演奏情報の音高に最も近い音を再生することを特徴とする請求項に記載のコード検出装置。
  9. 楽曲オーディオデータを再生する再生手段と、
    前記再生手段により前記楽曲オーディオデータが再生されている間にコード検出が指示されると、前記コード検出が指示されたタイミングに対応する前記楽曲オーディオデータの部分のコードを検出するコード検出手段とを有し、
    ユーザによる分散音の演奏情報が入力されると、前記コード検出手段は、前記コードを検出し、前記再生手段は、前記演奏情報に対応し、前記コード検出手段により検出されたコードの構成音の中のいずれかの音を再生することを特徴とするコード検出装置。
  10. ユーザによる分散音の演奏情報が入力されると、前記コード検出手段は、前回のコードの検出から所定時間経過後に次のコードの検出を行うことを特徴とする請求項に記載のコード検出装置。
  11. 前記コード検出手段は、前記楽曲オーディオデータの波形の周波数スペクトラムを基に、コードを検出することを特徴とする請求項1~10のいずれか1項に記載のコード検出装置。
  12. 前記コード検出手段により検出されたコードに対応するコード情報を表示するように制御する表示制御手段をさらに有することを特徴とする請求項1~4、7~11のいずれか1項に記載のコード検出装置。
  13. 前記再生手段は、前記コード検出手段により検出されたコードを再生することを特徴とする請求項1~12のいずれか1項に記載のコード検出装置。
  14. 前記コード検出が指示されると、前記コード検出手段は、前記コードを検出し、前記再生手段は、前記コード検出手段により検出されたコードを再生することを特徴とする請求項1~1のいずれか1項に記載のコード検出装置。
  15. コンピュータを、請求項1~1のいずれか1項に記載されたコード検出装置の各手段として機能させるためのコード検出プログラム。
JP2019145293A 2019-08-07 2019-08-07 コード検出装置及びコード検出プログラム Active JP7425558B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2019145293A JP7425558B2 (ja) 2019-08-07 2019-08-07 コード検出装置及びコード検出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019145293A JP7425558B2 (ja) 2019-08-07 2019-08-07 コード検出装置及びコード検出プログラム

Publications (2)

Publication Number Publication Date
JP2021026141A JP2021026141A (ja) 2021-02-22
JP7425558B2 true JP7425558B2 (ja) 2024-01-31

Family

ID=74662315

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019145293A Active JP7425558B2 (ja) 2019-08-07 2019-08-07 コード検出装置及びコード検出プログラム

Country Status (1)

Country Link
JP (1) JP7425558B2 (ja)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259151A (ja) 1999-03-05 2000-09-22 Casio Comput Co Ltd 自動伴奏装置
JP2004177893A (ja) 2002-11-29 2004-06-24 Casio Comput Co Ltd 楽音演奏装置および楽音演奏処理のプログラム
JP2009282464A (ja) 2008-05-26 2009-12-03 Kawai Musical Instr Mfg Co Ltd コード検出装置およびコード検出プログラム
JP2010025972A (ja) 2008-07-15 2010-02-04 Kawai Musical Instr Mfg Co Ltd コード名検出装置及びコード名検出用プログラム
JP2012098480A (ja) 2010-11-01 2012-05-24 Yamaha Corp コード検出装置及びプログラム
JP2015040964A (ja) 2013-08-21 2015-03-02 カシオ計算機株式会社 コード抽出装置、方法、およびプログラム
WO2019026325A1 (ja) 2017-08-03 2019-02-07 ヤマハ株式会社 差分提示装置、差分提示方法および差分提示プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000259151A (ja) 1999-03-05 2000-09-22 Casio Comput Co Ltd 自動伴奏装置
JP2004177893A (ja) 2002-11-29 2004-06-24 Casio Comput Co Ltd 楽音演奏装置および楽音演奏処理のプログラム
JP2009282464A (ja) 2008-05-26 2009-12-03 Kawai Musical Instr Mfg Co Ltd コード検出装置およびコード検出プログラム
JP2010025972A (ja) 2008-07-15 2010-02-04 Kawai Musical Instr Mfg Co Ltd コード名検出装置及びコード名検出用プログラム
JP2012098480A (ja) 2010-11-01 2012-05-24 Yamaha Corp コード検出装置及びプログラム
JP2015040964A (ja) 2013-08-21 2015-03-02 カシオ計算機株式会社 コード抽出装置、方法、およびプログラム
WO2019026325A1 (ja) 2017-08-03 2019-02-07 ヤマハ株式会社 差分提示装置、差分提示方法および差分提示プログラム

Also Published As

Publication number Publication date
JP2021026141A (ja) 2021-02-22

Similar Documents

Publication Publication Date Title
JP4752425B2 (ja) 合奏システム
US5939654A (en) Harmony generating apparatus and method of use for karaoke
JP6465136B2 (ja) 電子楽器、方法、及びプログラム
JP2010025972A (ja) コード名検出装置及びコード名検出用プログラム
JP6175812B2 (ja) 楽音情報処理装置及びプログラム
JP3915807B2 (ja) 奏法自動判定装置及びプログラム
JP2008089975A (ja) 電子楽器
JP7425558B2 (ja) コード検出装置及びコード検出プログラム
JP5969421B2 (ja) 楽器音出力装置及び楽器音出力プログラム
JP4618704B2 (ja) コード練習装置
JP4853054B2 (ja) 演奏データ編集装置及びプログラム
JP6790362B2 (ja) 電子音響装置
JP2007248880A (ja) 演奏制御装置、およびプログラム
US20230035440A1 (en) Electronic device, electronic musical instrument, and method therefor
JP7327434B2 (ja) プログラム、方法、情報処理装置、および演奏データ表示システム
JP3654227B2 (ja) 楽曲データ編集装置及びプログラム
JP3752956B2 (ja) 演奏ガイド装置および演奏ガイド方法並びに演奏ガイドプログラムを記録したコンピュータ読み取り可能な記録媒体
JP5742592B2 (ja) 楽音生成装置、楽音生成プログラム及び電子楽器
JP4315116B2 (ja) 電子音楽装置
JP4735969B2 (ja) 伴奏表示装置及びプログラム
JP3933070B2 (ja) アルペジオ生成装置及びプログラム
JP6981239B2 (ja) 機器、方法及びプログラム
JP6597533B2 (ja) 波形データ選択装置および波形データ選択方法
JP2023146777A (ja) 演奏データ変換装置及び演奏データ変換プログラム
JPH10254448A (ja) 自動伴奏装置及び自動伴奏制御プログラムを記録した媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220711

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230801

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230928

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240119

R150 Certificate of patent or registration of utility model

Ref document number: 7425558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150