[go: up one dir, main page]

JP6610211B2 - 楽曲演奏装置及び楽曲演奏用プログラム - Google Patents

楽曲演奏装置及び楽曲演奏用プログラム Download PDF

Info

Publication number
JP6610211B2
JP6610211B2 JP2015233320A JP2015233320A JP6610211B2 JP 6610211 B2 JP6610211 B2 JP 6610211B2 JP 2015233320 A JP2015233320 A JP 2015233320A JP 2015233320 A JP2015233320 A JP 2015233320A JP 6610211 B2 JP6610211 B2 JP 6610211B2
Authority
JP
Japan
Prior art keywords
information
key change
performance
pitch
command
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
JP2015233320A
Other languages
English (en)
Other versions
JP2017102181A (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.)
Brother Industries Ltd
Original Assignee
Brother Industries 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 Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2015233320A priority Critical patent/JP6610211B2/ja
Publication of JP2017102181A publication Critical patent/JP2017102181A/ja
Application granted granted Critical
Publication of JP6610211B2 publication Critical patent/JP6610211B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Description

本発明は、演奏情報を再生することで楽曲の演奏を行う楽曲演奏装置及び楽曲演奏用プログラムに関する。
近年パーソナルコンピュータは、CPUやメモリの性能が向上するとともに価格が下がり広く普及している。これに伴ってパーソナルコンピュータで使用される各種ソフトウェアが多数開発され、機能および性能が向上している。ソフトウェア音源もその一つであり、CPUにより楽音を合成する技術およびその合成された楽音に効果を付与する技術が改良され、良質な楽音を形成できるようになっている。
特許文献1には、ソフトウェア音源の処理負荷が大きかったことを課題として、CPUにかかる負荷が所定の値より大きい場合、CPUに代え代替音源で楽音を合成する楽音合成装置が開示されている。このような楽音合成装置を使用することで、CPUにかかる負荷が大きい場合であっても、代替音源を使用することで、楽音の発生開始の遅れや、楽音の合成の途切れといった不具合を解消することが可能となっている。
特開2005−283774号公報
現在、CPUの処理能力の向上、メモリの大容量化に伴い、パーソナルコンピュータなどの各種情報処理装置の能力は、ソフトウェア音源を十分に扱うことのできるまでになっている。従来、カラオケ装置では、ハードウェア音源を使用することが主流であったが、このような処理能力の向上により、ソフトウェア音源を搭載することが検討されている。ソフトウェア音源は、良質な楽音を提供できるため、顧客誘引の要素として音質が求められるカラオケ装置には好適な機能である。また、ソフトウェア音源は、ソフトウェアのバージョンを上げることで、バグの修正、機能の追加などに対応可能であるため、各種メンテナンスの面においても好適な機能といえる。
ところで、従来のハードウェア音源では、音の形成に使用する波形情報を、ハードウェア音源内の専用ROMに記憶して使用する。ハードウェア音源を制御するCPUは、この専用ROMに直接アクセスして波形情報を読み出し、演奏を実行する。一方、ソフトウェア音源では、音の形成に使用する波形情報をハードディスク等、汎用の二次記憶手段に記憶して使用している。このような構成により、ソフトウェア音源では波形情報の追加、更新を容易に行うことが可能であり、良質な楽音を形成することが可能である。しかしながら、転送速度の遅いハードディスク等の二次記憶種では、CPUから直接アクセスして波形情報を読み出すことができない。よって、コマンドに対応する波形情報を、二次記憶手段からCPUが直接アクセス可能な一次記憶手段に事前に読み出しておく必要がある。CPUは、コマンドを先読みし、コマンドに対応する波形情報を二次記憶手段から一次記憶手段に読み出しておき、コマンドに対応する波形情報を一次記憶手段から直接読み出すことで、楽曲の演奏を実行する。
カラオケ装置の機能として、楽曲の音程を上下させるキー変更機能が知られている。歌唱するユーザは、キー変更機能を使用して自分の音域に合うようにキー変更することで歌唱し易くすることが可能である。歌唱に慣れたユーザであれば、楽曲の再生前に自己の音域に合うようにキー変更することが可能であるが、歌唱に不慣れなユーザの場合、歌いながら自己の音域に適切となるようにキー調整を行うことがある。上述したようにソフトウェア音源では、波形情報を一次記憶手段に事前に読み出して演奏に使用するため、キー変更前に読み出した波形情報は、キー変更後に必要な波形情報と異なる場合がある。したがって、キー変更を行った場合には、キー変更後に必要な波形情報を二次記憶手段から一時記憶手段に読み出すため、楽曲の演奏が一時的に停止することとなる。
本発明は、このような課題を解決することを目的とし、ソフトウェア音源を使用するカラオケ装置において、演奏中にキー変更を指示した場合にも、演奏を停止させることなく、スムースなキー変更を行うため、以下の構成を採用する。
複数のコマンドで構成された演奏情報に基づいて演奏を行う楽曲演奏装置であって、
演奏情報の演奏に使用する波形情報を記憶する第1記憶手段と、
入力手段からの入力に基づき、キー変更を受け付けるキー変更受付処理と、
演奏情報中のコマンドを先読みして一時記憶手段に格納し、前記キー変更受付処理でキー変更を受け付けた場合には、先読みしたコマンドにキー変更を反映して前記一時記憶手段に格納するコマンド先読み処理と、
先読みしたコマンドの音高に対応する波形情報を、前記第1記憶手段から第2記憶手段に読み出す波形読み出し処理と、
キー変更の受け付け時点で既に先読みし、かつ、まだ発音していないコマンドについて、キー変更前に前記第2記憶手段に読み出した波形情報を使用し、当該波形情報がキー変更後の音高となるように音高変換して演奏を行う演奏処理と、を実行可能とする制御手段と、を備えたことを特徴とする。
さらに本発明に係る楽曲演奏装置において、
前記演奏処理は、キー変更を受け付けた時点で既に先読みし、かつ、発音中の波形情報について、当該波形情報がキー変更後の音高となるように音高変換して演奏を行う。
さらに本発明に係る楽曲演奏装置において、
前記波形読み出し処理は、キー変更の受付後、受け付けたキー変更が適用された音高に対応する波形情報を前記第1記憶手段から前記第2記憶手段に読み出す。
さらに本発明に係る楽曲演奏装置において、
前記演奏処理は、キー変更の受付後に先読みし、まだ発音していないコマンドについて、前記第2記憶手段に読み出された、キー変更が適用された音高に対応する波形情報を使用して演奏を行う。
また本発明に係る楽曲演奏用プログラムは、
複数のコマンドで構成された演奏情報に基づいて演奏を行う楽曲演奏用プログラムであって、
入力手段からの入力に基づき、キー変更を受け付けるキー変更受付処理と、
演奏情報中のコマンドを先読みして一時記憶手段に格納し、前記キー変更受付処理でキー変更を受け付けた場合には、先読みしたコマンドにキー変更を反映して前記一時記憶手段に格納するコマンド先読み処理と、
先読みしたコマンドの音高に対応する波形情報を、第1記憶手段から第2記憶手段に読み出す波形読み出し処理と、
キー変更の受け付け時点で既に先読みし、かつ、まだ発音していないコマンドについて、キー変更前に前記第2記憶手段に読み出した波形情報を使用し、当該波形情報がキー変更後の音高となるように音高変換して演奏を行う演奏処理と、をコンピュータに実行させることを特徴とする。
本発明によれば、コマンドを先読みし、コマンドの音高に対応する波形情報を第2記憶手段に読み出す構成を採用する楽曲演奏装置、または、楽曲演奏プログラムにおいて、演奏中にキー変更が指示されても、演奏を停止させること無く、スムースにキー変更を行うことが可能となる。
さらに本発明に係る楽曲再生装置、または、楽曲再生用プログラムによれば、キー変更指示されたときに発音中の波形情報についても、キー変更の対象とするため、違和感の無い演奏を行うことが可能となる。
さらに本発明に係る楽曲再生装置、または、楽曲再生用プログラムによれば、キー変更の受付後は、受け付けたキー変更が適用された音高に対応する波形情報が第2記憶手段に格納されるため、この波形情報を使用して演奏することで、自然な演奏に復帰させることが可能となる。
本実施形態のカラオケシステムの構成を示す図 本実施形態の楽曲情報のデータ構成を示す図 本実施形態のソフトウェア音源構成を示すブロック図 本実施形態の波形情報の分類例を示す図 本実施形態のシーケンス処理を示すフロー図 本実施形態のリングバッファ格納処理を説明するための模式図 本実施形態のPCM生成処理を示すフロー図 波形情報に基づくPCM情報形成を説明するための図 キー変更操作タイミングの違いによるキー変更例を説明するための図 キー変更操作タイミングの違いによるキー変更例を説明するための図
本実施形態の楽曲演奏装置について、カラオケ装置2を例にとって説明する。図1は、本発明の実施形態に係るカラオケシステムの構成を示す図である。本実施形態におけるカラオケシステムは、カラオケ装置2(コマンダ)と、リモコン装置1を含んで構成されている。なお、図1に示す例では、1台のカラオケ装置2に対して、リモコン装置1aとリモコン装置1b、2台のリモコン装置1が使用されている例である。これらリモコン装置1a、1bの構成は同一であるため、リモコン装置1として説明を行う。カラオケ装置2とリモコン装置1は、LAN100及びアクセスポイント110を利用してネットワークを形成するように接続されている。
カラオケボックスなどの店舗に設置されるカラオケ装置2は、楽曲情報を再生することで歌唱の伴奏を行う装置である。カラオケ装置2は、各構成を統括して制御するためのCPU30、各種プログラムを実行するにあたって必要となる情報を一時記憶するためのメモリ27を備えている。本実施形態のカラオケ装置2は、ハードウェア音源ではなく、CPU30上で動作するソフトウェア音源を使用して楽曲の演奏を行う形態となっている。CPU30は、ハードディスク32等の記憶手段に記憶されている波形を読み出して、PCM情報を合成し、音響制御部25に出力する。音響制御部25では、合成されたPCM情報と、マイクロホン44a、44bから入力される歌唱音声情報とを加算してスピーカ42に出力する。
カラオケ装置2は、ユーザからの各種入力を受け付ける操作部21を備える。カラオケ装置2は、操作部21からの入力を解釈してCPU30に伝達する操作処理部22を備える。また、カラオケ装置2は、各種情報を記憶する記憶部としてのハードディスク32(本発明の「第1記憶手段」に相当)を備える。カラオケ装置2は、LAN100に接続してネットワークに加入する通信手段としてのLAN通信部24を備えている。
また、カラオケ装置2は、モニタ41に対して歌詞映像、背景映像を表示させる映像再生手段を備える。この映像再生手段は、映像情報に基づいて映像を再生する映像再生部29、再生する映像を一時的に蓄積するビデオRAM28、再生された映像に対する歌詞テロップの重畳、映像効果を付与する映像制御部31を備えて構成される。
さらに、このカラオケ装置2では、外部に接続されるモニタ41以外に、タッチパネルモニタ33に対して各種情報を表示することを可能としている。タッチパネルモニタ33は映像制御部31から入力された映像情報を表示する表示部35と、タッチ入力された位置を操作処理部22に出力するタッチパネル34が重畳されて構成されている。このタッチパネルモニタ33は、カラオケ装置2の操作部、あるいは、リモコン装置1のタッチパネルモニタ11などと同様、入力部として機能する。ユーザは、タッチパネルモニタ33にて楽曲を選択することで、直接、カラオケ装置2に予約をさせるなど、カラオケ装置2に対する各種操作を行うことが可能である。
このような構成にてカラオケ装置2は、各種処理を実行することとなるが、カラオケ装置2の主な機能として、楽曲予約処理、楽曲再生処理などを実行可能としている。楽曲予約処理は、ユーザからの指定に基づいて楽曲を指定、予約するための処理であってリモコン装置1と連携して実行される。ユーザの操作により、リモコン装置1などの入力部で指定された予約情報をメモリ27中の予約テーブルに登録する。楽曲再生処理は、予約された楽曲を再生させる処理であって、演奏処理と歌詞再生処理とが同期して実行される処理である。
演奏処理は、楽曲情報に含まれる演奏情報に基づいて演奏を行う処理である。本実施形態では、CPU30、メモリ27等の制御手段を使用して演奏を行うソフトウェア音源の形態を採用している。なお、ソフトウェア音源に対し、波形合成の専用チップを使用するような形態の音源は、ハードウェア音源と呼ばれる。ソフトウェア音源としての制御手段で合成されたPCM情報は、音響制御部25で合成され、マイクロホン44a、44bから入力される歌唱音声と一緒にスピーカ42から放音される。歌詞再生処理は、楽曲情報に含まれる歌詞情報をモニタ41に表示させることで歌唱補助を行う処理である。この歌詞再生処理で表示される歌詞に、背景映像を重畳させて表示させる背景映像表示処理を実行することとしてもよい。
一方、リモコン装置1は、歌唱する楽曲を選択する選曲処理を実行可能とし、予約情報などカラオケ装置2に対して各種指示を送信可能としている。また、リモコン装置1は、カラオケ装置2あるいはインターネット上に接続されたサーバ装置5から各種情報を受信し、ユーザに対して各種情報を提供することも可能である。本実施形態では、ユーザから各種指示を受け付けるユーザインターフェイスとして、操作部17と、タッチパネルモニタ11を備えている。タッチパネルモニタ11は、表示部11aとタッチパネル11bを有して構成され、表示部11aに各種インターフェイスを表示するとともに、ユーザからのタッチ入力を受付可能としている。
さらにリモコン装置1は、楽曲検索に必要とされるデータベース、各種プログラム、並びに、プログラム実行に伴って発生する各種情報を記憶する記憶部として、メモリ14、そして、これら構成を統括して制御するためのリモコン側制御部を備えて構成される。リモコン側制御部には、CPU15、タッチパネルモニタ11に対して表示する映像を形成する映像制御部13、表示する映像情報を一時的に蓄えるビデオRAM12、タッチパネルモニタ11あるいは操作部17からの入力を解釈してCPU15に伝える操作処理部18が含まれている。
また、リモコン装置1は、無線LAN通信部16によって、アクセスポイント110と無線接続されることで、LAN100によって構成されるネットワークに接続される。なお、各リモコン装置1は、特定のカラオケ装置2に対して事前に対応付けされている。リモコン装置1から出力される各種命令は、対応付けされたカラオケ装置2にて受信される。
このようなリモコン装置1の構成により、ユーザからの各種入力をタッチパネルモニタ11、あるいは、操作部17から受付けるとともに、映像情報をタッチパネルモニタ11に表示することで、カラオケ装置2に対して楽曲予約などの各種指示を行うことが可能とされている。
図2は、カラオケ装置2で使用する楽曲情報のデータ構成を示す図である。楽曲情報は、楽曲情報に関連する各種情報であるメタ情報と、演奏等、各種処理を実行する実情報を含んで構成される。メタ情報には、楽曲情報を識別するための楽曲識別情報(楽曲ID)、楽曲名、歌手名などの楽曲関連情報が含まれている。
楽曲情報の実情報には、演奏情報、歌詞情報が含まれている。演奏情報は、MIDI規格に基づいて音源を制御する制御情報を含んで構成された、カラオケの伴奏音を演奏するための情報である。歌詞情報は、歌唱補助のため、演奏情報に同期して表示される情報であり、演奏に同期して表示された歌詞の色替えを行うように構成することも可能である。
では、本実施形態のカラオケ装置2で使用するソフトウェア音源について、その構成、及び、演奏処理について説明する。図3は、本実施形態のソフトウェア音源構成を示すブロック図である。ソフトウェア音源は、図1で説明したカラオケ装置2中のCPU300、メモリ27等の制御手段、そして、ソフトウェア音源を実現するためのプログラムを使用して実現される。
CPU300は、シーケンサ301、MIDIコマンド受信手段302、シンセサイザ304、波形読み出しスレッド305といった機能を受け持つ。シーケンサ301は、演奏情報を構成するMIDIコマンドをハードディスク32から読み出し、合成波形としてのPCM情報を音響制御部25に出力する機能を有する。MIDIコマンドに応じて生成されたPCM情報は、音響制御部25からスピーカ42へ出力することで演奏情報は演奏音となって楽曲情報が再生されることとなる。このシーケンサ301は、MIDIコマンドの入力を管理するMIDI管理手段301aと、PCM情報の出力を管理するPCM管理手段301b、PCM情報を蓄積するバッファ27cを有して構成される。なお、紙面の都合上、バッファ27cはCPU300内に位置しているが、メモリ27など、CPU300の外部に設けられた記憶手段を使用することが一般的である。バッファ27cは、蓄積しているPCM情報を、所定のサンプリングレートに従って、音響制御部25に出力する。PCM管理手段301bは、バッファ27c内のPCM情報の蓄積量を監視し、PCM情報が必要になった場合、シンセサイザ304にPCM生成指示を出力する(丸4)。
MIDIコマンド受信手段302は、シーケンサ301から送信(丸1)されたMIDIコマンドを受信し、受信したMIDIコマンドをメモリ27内の一部領域を使用して形成されたリングバッファ27a(本発明の「一時記憶手段」に相当)に格納する格納処理を実行する(丸2)。なお、MIDIコマンド受信手段302は、MIDIコマンドを受信した場合、確認の意を有する応答信号をMIDI管理手段301aに返信する(丸3)。
また、MIDIコマンド受信手段302は、リングバッファ27aに記憶させるMIDIコマンドが、ノートオンのような発音開始指示の場合、波形読み出しスレッド305に対し、発音に必要となる波形情報を、二次記憶手段としてのハードディスク32(本発明の「第1記憶手段」)から、一次記憶手段としてのキャッシュ27b(本発明の「第2記憶手段」に相当)に読み出させる。CPU300は、直接アクセス可能なキャッシュ27bから、事前に記憶させた波形情報を読み出して、シンセサイザ304にてPCM情報を生成することが可能となる。
シンセサイザ304は、リングバッファ27aに記憶されたMIDIコマンドに記述されたイベントデータEVをデルタタイムDTに基づいて取り出し(丸7)、キャッシュ27bに蓄積した波形情報を読み出してPCM情報を合成し(丸8)、PCM情報を出力する(丸10)機能を有する。また、シンセサイザ304は、DSP機能を有しており、波形情報に対して各種音響効果を付与する(丸9)ことが可能である。
カラオケ装置2では、歌唱者が歌い易いように自分の音域に合わせてキー変更することがよく知られている。本実施形態のカラオケ装置2も、歌唱者等のユーザの操作に応じて、キー変更を行うことが可能である。キー変更は、カラオケ装置2の操作部21やタッチパネルモニタ33、あるいは、リモコン装置1の操作部17やタッチパネルモニタ11等、各種入力手段を操作することで行われる。これら入力手段から入力されたキー変更指示は、シーケンサ301に伝達され、シーケンサ301はMIDIコマンドにキー変更を反映すると共に、MIDIコマンド受信手段302と、シンセサイザ304内にキー情報を格納する。
シーケンサ301によるMIDIコマンドにキー変更の反映について、キー変更指示により、シーケンサ301のMIDI管理手段301aから、MIDIコマンド受信手段302(キー情報302a)にキー情報が格納される。そして、MIDIコマンド受信手段302は、シーケンサ301からMIDI送信されたMIDIコマンドをメモリ27内の一部領域を使用して形成されたリングバッファ27aに格納するときに、キー情報302aを用いて、キー情報を反映したMIDIコマンドを格納する(丸2)。
図6は、本実施形態のリングバッファ27aにMIDIコマンドを格納する格納処理を説明するための模式図である。図6(A)は、楽曲情報再生直後のMIDIコマンド受信手段302と、リングバッファ27aの様子を模式的に示した図である。この例では、再生開始時、MIDIコマンド受信手段302は、キー変更指示を受け付けておらず、MIDIコマンド受信手段302内のキー情報は初期値(±0)に設定されている。この状態において、MIDIコマンド受信手段302がMIDIコマンドXを受信した場合、MIDIコマンド受信手段302は、リングバッファ27aの書き込み位置(WritePos)にMIDIコマンドXをそのまま書き込む。図6(A)中、横線でハッチングされたリングバッファ27の領域は、MIDIコマンドXが書き込まれた箇所を示す。リングバッファ27aに書き込まれたMIDIコマンドXは、時間の経過に伴って読み出し位置(ReadPos)となったとき、シンセサイザ304に出力される。
図6(B)は、図6(A)の後の状態であって、MIDIコマンド受信手段302が、キー変更指示を受けたときの処理を示している。キー変更指示は、どの程度、楽曲の音高を変更するかを示すキー情報(この例では、+α)を含んで構成されている。MIDIコマンド受信手段302aは、キー変更指示を受信すると、内部の記憶手段にキー情報を書き込む。また、MIDIコマンド受信手段302は、リングバッファにキー変更フラグを書き込む。図6(B)中、横線でハッチングされたリングバッファ27の領域は、キー変更指示される前に書き込まれたMIDIコマンドである。また、黒色でハッチングされたリングバッファ27の領域は、キー変更フラグが書き込まれたことを示している。
図6(C)は、図6(B)の状態の直後であって、キー変更指示を受信した直後にMIDIコマンドYを受信したときの処理を示している。本実施形態ではキー情報が変更された場合、キー情報を反映したMIDIコマンドをリングバッファ27aに書き込む。図6(C)の場合、MIDIコマンド受信手段302は、受信したMIDIコマンドYに対し、キー情報(+α)を反映したMIDIコマンドY’を形成し、リングバッファ27aに書き込む。なお、キー情報の反映対象となるMIDIコマンドは、演奏時の音高に関するコマンドを含むものが対象となる。図6(C)中、ドットでハッチングされたリングバッファ27aの領域は、キー情報が反映されたMIDIコマンドY’が書き込まれた領域を示している。
図6(D)は、図6(C)の後の状態であって、MIDIコマンドYの受信後、いくつかのMIDIコマンドを受信し、MIDIコマンドZを受信したときの処理を示している。図6(C)の場合と同様、リングバッファ27aには、受信したMIDIコマンドZに対し、キー情報(+α)を反映したMIDIコマンドZ’が書き込まれる。図6(D)中、横線でハッチングされたリングバッファ27の領域は、キー変更指示される前に書き込まれたMIDIコマンドである。また、黒色でハッチングされたリングバッファ27の領域は、キー変更フラグが書きこまれた領域である。また、キー変更指示後に書き込まれたMIDIコマンドであって、キー情報が反映されたMIDIコマンドが書き込まれた領域である。このように、本実施形態では、リングバッファ27a中、キー情報が反映されていないMIDIコマンドと、キー情報が反映済みのMIDIコマンドを記憶させている。両者はキー変更フラグによって分けられているため、リングバッファ27aの出力を受け取るシンセサイザ304は、キー変更フラグの読み出しに基づいて、どちらのMIDIコマンドであるかを判定することが可能である。
また、MIDIコマンド受信手段302は、波形読み出しスレッド305に対して、格納したキー情報が反映されたMIDIコマンドに対応する波形情報をハードディスク32からキャッシュ27bに読み出させる。一方、シンセサイザ304は、格納したキー情報を使用して、リングバッファ27aから読み出したMIDIコマンドに対応するPCM情報を形成する。
図4は、本実施形態の波形情報の分類例を示す図であって、音色「ピアノ1」についての波形情報の分類例を示す図である。MIDIコマンドで指定される音高は「0」から「127」であって、この例では「0」〜「4」、「5」〜「9」を所定の区切りとして扱い、各区切りには、「0」〜「127」の大きさを割り当てたベロシティが割り当てられている。このベロシティに対応して波形情報が割り当てられている。波形読み出しスレッド305にて、波形情報を読み出す場合、この分類を参照し、MIDIコマンド中の音高、ベロシティに対応する波形情報が読み出される。例えば、音高「1」、ベロシティ「3」の場合、波形情報Bが読み出されることになる。また、各波形情報には、基準音高が割り当てられており、この例では、音高の区切り毎に基準音高が規定されている。音高中、斜線で示す箇所が基準音高に該当し、例えば、音高「0」〜「4」の区切りについてみると、この区切り内に属する波形情報A〜波形情報Cは、基準音高「2」が規定されている。また、音高「5」〜「9」の区切りに対応する波形情報D〜波形情報Fには、基準音高「7」が規定されている。
この基準音高は、波形情報をシンセサイザ304でそのまま(音高変換することなく)PCM情報を形成したときの音高である。図8(A)には、PCM情報形成を説明するための図が記載されている。例えば、MIDIコマンド中の音高「1」、ベロシティ「3」の場合、波形情報Bを使用することになるが、波形情報Bの基準音高は「2」であるため、波形情報Bに対して「−1」の音高変換を行うことで、MIDIコマンドの音高「1」に対応したPCM情報を形成する。このように、1の波形情報を使用して複数の音高を形成できるため、使用する波形情報の数を少なくし、記憶容量の削減が図られている。なお、音高と波形情報を1対1の関係にすることも可能である。
次に、本実施形態のカラオケ装置2で実行する楽曲再生処理について、その詳細を説明する。楽曲再生処理は、シーケンサ301で実行するシーケンス処理と、シンセサイザ304にて実行するPCM生成処理を含んで構成される。図5は、楽曲再生時のシーケンス処理を示すフロー図である。図1のカラオケシステムにおいて、リモコン装置1から送信された予約情報は、カラオケ装置2のメモリ27で管理する予約テーブルに順次記憶される。カラオケ装置2は、予約テーブルのチェックを行い(S101)、次に再生すべき再生の楽曲があると判定された場合(S102:Yes)、ハードディスク32から、予約情報中に規定された楽曲情報についてMIDIコマンドの読み出しを開始する(S103)。楽曲情報中の演奏情報に規定されるMIDIコマンドが、リングバッファ27aに読み出される。その際、波形読み出しスレッド305は、当該MIDIコマンドに対応する波形情報をハードディスク32からキャッシュ27bに読み出す。MIDIコマンドに対応する波形情報は、図4で説明した分類によって判定される。
楽曲の再生開始後、ユーザからの操作入力に基づき、キー変更指示があった場合(S104:Yes)、シーケンサ301内のMIDI管理手段301aは、MIDIコマンド受信手段302とシンセサイザ304内のキー情報302a、304aを指示されたキー情報に書き換える。本実施形態では、キー情報302a、304aは、MIDIコマンド受信手段302、シンセサイザ304それぞれに記憶されるが、1つのキー情報の記憶領域(具体的にはメモリ)を用意し、MIDIコマンド受信手段302、シンセサイザ304それぞれが、共通のキー情報の記憶領域をアクセスしてもよい。以後、MIDIコマンド受信手段は、書き換えられたキー情報302aに基づいて、波形情報の読み出しを行い、シンセサイザ304は、書き換えられたキー情報304aに基づいてPCM情報の形成を行う。各処理の詳細については、後で詳しく説明を行う。
シーケンサ301は、所定量(ここでは1tick分)のMIDIコマンドを読み出しの終了を判定し(S106)、読み出しが終了した場合(S106:Yes)には、シンセサイザ304に対してPCM情報の形成指示を出力する(S111、図1の丸4)。一方、読み出しが終了していない場合(S106:No)には、ハードディスク32からMIDIコマンドの読み出しを行う(S107)。そして、MIDIコマンドがノートオン、ノートオフ等、音高に関する指示の場合(S108:Yes)、MIDIコマンドにキー情報を反映させる(S109)。例えば、MIDIコマンド中の音高が「4」、キー情報が「+3」の場合、キー情報の反映されたMIDIコマンドの音高は「7」となる。キー情報の反映されたMIDIコマンドは、MIDIコマンド受信手段302に送信(S110)され、リングバッファ27aに書き込まれる。
シーケンス処理では、S104〜S111を、楽曲再生が終了する(S112:Yes)まで実行する。楽曲再生が終了した場合(S113:Yes)には、シーケンス処理の先頭に戻り、次に予約された楽曲に対する楽曲再生を開始する。
図7には、本実施形態のPCM生成処理を示すフロー図が示されている。このPCM生成処理は、シンセサイザ304によって実行される処理であって、リングバッファ27aから読み出したMIDIコマンド(ノートオン時のキー情報)と、キャッシュ27bに事前に格納した波形情報と、現在のキー情報304aを使用して実行される。PCM生成処理では、まず、発音に必要なMIDIコマンド、キー情報、波形情報を示す発音情報の確認を行う(S120)。本実施形態では、確認対象となる発音情報のMIDIコマンドは、リングバッファ27aから読み出したMIDIコマンド、すなわち、これから発音開始するMIDIコマンドのみならず、現在、発音中のMIDIコマンドも対象としている。このように、現在、発音中のMIDIコマンドを確認の対象とすることで、発音中の楽音(PCM情報)に対してもキー変更を行い、違和感の無い楽音を形成することが可能となっている。
S120の発音情報の確認では、これから発音開始するMIDIコマンド、そして、現在、発音中の波形情報を用いたMIDIコマンドについて、キー変更が適切であるか否かを判定する(S121)。図6で説明したようにリングバッファ27aには、キー変更指示の後、キー情報が反映されていないMIDIコマンド(横線のハッチング領域)、すなわち、キー変更の受け付け時点で既に先読みし、かつ、まだ発音していないMIDIコマンドと、キー情報が反映されたMIDIコマンド(ドットのハッチング領域)が存在する。シンセサイザ304は、リングバッファ27aから出力されるキー変更フラグ(黒色のハッチング領域)に基づいて、キー情報が反映されたMIDIコマンドか、されていないMIDIコマンドかを判別することができる。キー情報が反映されている(あるいは、キー変更が発生していない)MIDIコマンドは、そのキー変更が適切である(S121:Yes)として、MIDIコマンドの音高をそのまま使用して波形情報からPCM情報を形成する。例えば、図8(A)で説明したように、MIDIコマンド中の音高「1」、ベロシティ「3」の場合、波形情報Bを使用することになるが、波形情報Bの基準音高は「2」であるため、波形情報Bに対して「−1」の音高変換を行うことで、MIDIコマンドの音高「1」に対応したPCM情報を形成する。この処理は、図4で説明した波形情報の分類を使用して行われる
一方、キー変更が適切でない場合(S121:No)には、図4で説明した波形情報の分類とキー情報を使用して音高変換量の算出(S123)が行われる。これは、MIDIコマンドの音高と、キャッシュ27bに読み込んだ波形情報の関係が、キー変更が行われることで異なるために行われる処理である。図8(A)について、キー変更指示があった場合を考えてみる。この例では、MIDIコマンド中の音高「1」、ベロシティ「3」であり、キャッシュ27bには、波形情報Bが読み込まれている。波形情報Bの読み込み後、「+5」のキー変更指示を受けた場合、本来、図8(C)に示すように、音高「6(1+5)」、ベロシティ「3」に対応する波形情報Eを使用して、「−1」の音高変換をかけることで、楽音が形成される。しかしながら、この場合、キャッシュ27bに波形情報Eを新たに読み込む必要があり、波形情報Eが読み込まれるまでの期間、PCM情報の形成が停止する、すなわち、楽音の進行が停止することになる。
本実施形態では、このような状況を避けるため、キー変更が行われた場合であっても、先に読み込んだ波形情報を使用してPCM情報を形成することとしている(S124)。図8(B)は、図8(A)と同じ状況で、「+5」のキー変更指示を受けた場合の例が示されている。図8(A)と同様、キー変更後の音高は「6」となるが、先に読み込んだ波形情報Bを使用し、波形情報Bの基準音高は「2」であるため、音高変換量は「+4」と算出される。波形情報Bを算出した音高変換量「+4」音高変換することで、キー変更後の音高「6」のPCM情報が形成される。キー変更指示が無い図8(C)の場合と比較して、音高変換量は大きくなるものの、楽音の進行を停止させることなくキー変更を行うことが可能となる。
図9、図10は、キー変更操作タイミングの違いによるキー変更例を説明するための図である。何れもMIDIコマンドは、発音開始を示すノートオンと発音終了を示すノートオフとで規定され、キー変更前の初期値は、音高「4」、ベロシティ「127」、音色「ピアノ1」である。この場合、図4の波形情報の分類上、波形情報Cが対応することになる。図9(A)は、キー変更が行われない時の状況を示す図である。上にコマンドの先読み状況、下にPCM出力状況を示しており、右方向が時間の進行を示している。先読みしたMIDIコマンドは、リングバッファ27aに蓄積されることなどを理由として、PCM情報として出力されるまでに遅延を有することになる。破線はMIDIコマンドの対応関係を示している。図9(A)の場合、キー変更は行われていないため、MIDIコマンドの先読み時にキャッシュに読み込んだ波形情報Cを使用して、音高「4」のPCM情報が形成される。
図9(B)は、MIDIコマンドの先読み後、PCM出力前にキー変更指示「+3」が行われた場合の例である。発音時の音高は「7」となり、本来であれば、波形情報Fを使用するところ、シンセサイザ304は、キャッシュ27bに読み込んだ波形情報Cをそのまま使用して、音高「7」、ベロシティ「127」のPCM情報を形成する。したがって、MIDIコマンドに先読み後にキー変更指示が行われた場合であっても、楽曲の進行を停止させること無く、楽曲の進行を継続しつつキー変更を実行することが可能となる。
図10(C)は、MIDIコマンドの先読み後、PCM情報の出力期間中にキー変更指示「+3」が行われた場合の例である。キー変更が行われるまでの期間は、キャッシュ27bに読み込んだ波形情報Cを使用して、先読み時の音高「4」を有するPCM情報を形成する。キー変更が行われた後は、波形情報Cをそのまま使用して、キー変更後の音高「7」となるように音高変換してPCM情報を形成する。このように本実施形態では、発音中のPCM情報についても、波形情報を変更することなく、音高変換を行うことでキー変更に対処することで、楽曲の進行を継続しつつキー変更を実行することが可能である。
図10(D)は、MIDIコマンドの先読み前にキー変更指示「+3」が行われた場合の例である。この場合、MIDIコマンド受信手段302は、キー変更指示に基づくキー情報が反映されたMIDIコマンドをリングバッファ27aに書き込む。また、波形読み出しスレッドは、キー情報が反映されたMIDIコマンドに対応する波形情報をハードディスク32からキャッシュ27bに読み込む。この場合、キー情報が反映されたMIDIコマンドは、音高「7」、ベロシティ「127」であるため、図4を参照し、波形情報Eがキャッシュ27bに読み込まれる。シンセサイザ304は、波形情報Eに基づいて、音高「7」、ベロシティ「127」のPCM情報を形成する。この場合、図4の波形情報の分類に従って選択された波形情報Eに基づいてPCM情報が形成されるため、良好な演奏を行うことが可能となる。
なお、本実施形態では、リングバッファ27aにMIDIコマンドを格納する際、キー変更フラグを使用して、キー変更指定後にリングバッファ27aから読み出されるMIDIコマンドについてキー情報の反映の有無を判定しているが他の形態を採用することも可能である。例えば、シンセサイザ304側でリングバッファ27aの一時格納容量(あるいは一時記憶時間)を記憶しておくことで、リングバッファ27aから読み出されるMIDIコマンドについてキー情報の反映の有無を判定することも可能である。シンセサイザ304は、キー変更指示を受け付けた後、リングバッファ27aからリングバッファ27aの一時格納容量(あるいは一時記憶時間)に対応するMIDIコマンドが読み出されるまでは、キー情報が反映されていないMIDIコマンドと判定し、リングバッファ27aの一時格納容量に対応するMIDIコマンドが読み出された後は、キー情報が反映されたMIDIコマンドと判定することで、リングバッファ27aにおけるキー変更フラグを使用しなくてもPCM生成処理を適切に実行することが可能である。
なお、本実施形態の楽曲演奏装置は、カラオケ装置2のみならず、電子楽器など他の装置に適用することが可能である。あるいは、パソコン、スマートホンなどの携帯端末、ゲーム機などの各種コンピュータで実行可能な楽曲演奏用プログラムとして提供することも可能である。
1(1a、1b):リモコン装置 28:ビデオRAM
2:カラオケ装置 29:映像再生部
5:サーバ装置 30:CPU
11:タッチパネルモニタ 31:映像制御部
11a:表示部 32:ハードディスク
11b:タッチパネル 33:タッチパネルモニタ
12:ビデオRAM 34:タッチパネル
13:映像制御部 35:表示部
14:メモリ 41:モニタ
15:CPU 42:スピーカ
16:無線LAN通信部 44a、44b:マイクロホン
17:操作部 110:アクセスポイント
18:操作処理部 300:CPU
21:操作部 301:シーケンサ
22:操作処理部 301a:MIDI管理手段
24:LAN通信部 301b:PCM管理手段
25:音響制御部 302:MIDIコマンド受信手段
27:メモリ 302a:キー情報
27a:リングバッファ 304:シンセサイザ
27b:キャッシュ 304a:キー情報
27c:バッファ 305:波形読み出しスレッド

Claims (5)

  1. 複数のコマンドで構成された演奏情報に基づいて演奏を行う楽曲演奏装置であって、
    演奏情報の演奏に使用する波形情報を記憶する第1記憶手段と、
    入力手段からの入力に基づき、キー変更を受け付けるキー変更受付処理と、
    演奏情報中のコマンドを先読みして一時記憶手段に格納し、前記キー変更受付処理でキー変更を受け付けた場合には、先読みしたコマンドにキー変更を反映して前記一時記憶手段に格納するコマンド先読み処理と、
    先読みしたコマンドの音高に対応する波形情報を、前記第1記憶手段から第2記憶手段に読み出す波形読み出し処理と、
    キー変更の受け付け時点で既に先読みし、かつ、まだ発音していないコマンドについて、キー変更前に前記第2記憶手段に読み出した波形情報を使用し、当該波形情報がキー変更後の音高となるように音高変換して演奏を行う演奏処理と、を実行可能とする制御手段と、を備えたことを特徴とする
    楽曲演奏装置。
  2. 前記演奏処理は、キー変更を受け付けた時点で既に先読みし、かつ、発音中の波形情報について、当該波形情報がキー変更後の音高となるように音高変換して演奏を行う
    請求項1に記載の楽曲演奏装置。
  3. 前記波形読み出し処理は、キー変更の受付後、受け付けたキー変更が適用された音高に対応する波形情報を前記第1記憶手段から前記第2記憶手段に読み出す
    請求項1または請求項2に記載の楽曲演奏装置。
  4. 前記演奏処理は、キー変更の受付後に先読みし、まだ発音していないコマンドについて、前記第2記憶手段に読み出された、キー変更が適用された音高に対応する波形情報を使用して演奏を行う
    請求項3に記載の楽曲演奏装置。
  5. 複数のコマンドで構成された演奏情報に基づいて演奏を行う楽曲演奏用プログラムであって、
    入力手段からの入力に基づき、キー変更を受け付けるキー変更受付処理と、
    演奏情報中のコマンドを先読みして一時記憶手段に格納し、前記キー変更受付処理でキー変更を受け付けた場合には、先読みしたコマンドにキー変更を反映して前記一時記憶手段に格納するコマンド先読み処理と、
    先読みしたコマンドの音高に対応する波形情報を、第1記憶手段から第2記憶手段に読み出す波形読み出し処理と、
    キー変更の受け付け時点で既に先読みし、かつ、まだ発音していないコマンドについて、キー変更前に前記第2記憶手段に読み出した波形情報を使用し、当該波形情報がキー変更後の音高となるように音高変換して演奏を行う演奏処理と、をコンピュータに実行させることを特徴とする
    楽曲演奏用プログラム。
JP2015233320A 2015-11-30 2015-11-30 楽曲演奏装置及び楽曲演奏用プログラム Active JP6610211B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015233320A JP6610211B2 (ja) 2015-11-30 2015-11-30 楽曲演奏装置及び楽曲演奏用プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015233320A JP6610211B2 (ja) 2015-11-30 2015-11-30 楽曲演奏装置及び楽曲演奏用プログラム

Publications (2)

Publication Number Publication Date
JP2017102181A JP2017102181A (ja) 2017-06-08
JP6610211B2 true JP6610211B2 (ja) 2019-11-27

Family

ID=59016734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015233320A Active JP6610211B2 (ja) 2015-11-30 2015-11-30 楽曲演奏装置及び楽曲演奏用プログラム

Country Status (1)

Country Link
JP (1) JP6610211B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2023137328A (ja) * 2022-03-18 2023-09-29 カシオ計算機株式会社 情報処理装置、方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6279991A (ja) * 1985-09-30 1987-04-13 株式会社日立製作所 多自由度ア−ム形点検装置
US5895469A (en) * 1996-03-08 1999-04-20 Vlsi Technology, Inc. System for reducing access times for retrieving audio samples and method therefor
JP2005283774A (ja) * 2004-03-29 2005-10-13 Xing Inc 楽音合成装置
JP2007178890A (ja) * 2005-12-28 2007-07-12 Yamaha Corp 自動演奏装置

Also Published As

Publication number Publication date
JP2017102181A (ja) 2017-06-08

Similar Documents

Publication Publication Date Title
JP3072452B2 (ja) カラオケ装置
JP3206619B2 (ja) カラオケ装置
JP5701011B2 (ja) 電子楽器
JP2017040867A (ja) 情報処理装置
JP2019066649A (ja) 歌唱音声の編集支援方法、および歌唱音声の編集支援装置
JP2019168517A (ja) 電子楽器、方法及びプログラム
JP2001331175A (ja) 副旋律生成装置及び方法並びに記憶媒体
JP6610211B2 (ja) 楽曲演奏装置及び楽曲演奏用プログラム
JP6558077B2 (ja) 楽曲演奏装置及び楽曲演奏用プログラム
JP6645269B2 (ja) 楽曲演奏装置及び楽曲演奏用プログラム
JP2007183442A (ja) 楽音合成装置及びプログラム
JP6452234B2 (ja) 楽音発生装置およびプログラム
JP6464824B2 (ja) 楽曲演奏装置及び楽曲演奏用プログラム
JP2897614B2 (ja) カラオケ装置
JP4192936B2 (ja) 自動演奏装置
JP6372407B2 (ja) 楽曲演奏装置及び楽曲演奏用プログラム
JP3039468B2 (ja) カラオケ装置
JP2014191331A (ja) 楽器音出力装置及び楽器音出力プログラム
JP6264660B2 (ja) 音源制御装置、カラオケ装置、音源制御プログラム
JP4096952B2 (ja) 楽音発生装置
JP2003050591A (ja) 演奏出力装置
JP2000172267A (ja) 演奏補助装置及びそのための記録媒体
JP3322279B2 (ja) カラオケ装置
JP3760940B2 (ja) 自動演奏装置
JP3313050B2 (ja) カラオケ装置及びカラオケ再生方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181023

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190920

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191014

R150 Certificate of patent or registration of utility model

Ref document number: 6610211

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150