JP2000214867A - カラオケ装置 - Google Patents

カラオケ装置

Info

Publication number
JP2000214867A
JP2000214867A JP11019022A JP1902299A JP2000214867A JP 2000214867 A JP2000214867 A JP 2000214867A JP 11019022 A JP11019022 A JP 11019022A JP 1902299 A JP1902299 A JP 1902299A JP 2000214867 A JP2000214867 A JP 2000214867A
Authority
JP
Japan
Prior art keywords
task
priority
processing
music
music performance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP11019022A
Other languages
English (en)
Other versions
JP4477159B2 (ja
Inventor
Yukio Tada
幸生 多田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yamaha Corp
Original Assignee
Yamaha Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yamaha Corp filed Critical Yamaha Corp
Priority to JP01902299A priority Critical patent/JP4477159B2/ja
Publication of JP2000214867A publication Critical patent/JP2000214867A/ja
Application granted granted Critical
Publication of JP4477159B2 publication Critical patent/JP4477159B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

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

Abstract

(57)【要約】 【課題】 マルチタスク処理を行うカラオケ装置におい
て、利用者に違和感を与えない処理を行う。 【解決手段】 メインシーケンサタスクの優先度はサブ
シーケンサタスクの優先度よりも高いので、メインシー
ケンサタスクが実行状態であるときに、サブシーケンサ
タスクが実行可能状態に遷移しても、処理は中断され
ず、メインシーケンサタスクが終了してからサブシーケ
ンサタスクが実行状態になる。そして、サブシーケンサ
タスクが実行状態であっても、優先度の高いメインシー
ケンサタスクが実行可能状態となった場合には、サブシ
ーケンサタスクを中断して待ち状態とし、先にメインシ
ーケンサタスクを実行状態とするので、メインシーケン
サタスクは曲データが指示するタイミング通りに実行さ
れることになる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、複数の楽曲演奏
をマルチタスク処理で行うカラオケ装置に関する。
【0002】
【従来の技術】従来より、カラオケ演奏処理をコンピュ
ータによって制御するカラオケ装置が知られている。例
えば、MIDI(Musical Instrument Digital Interfa
ce)規格に基づいて作成されたの曲データに基づいて楽
曲を演奏するカラオケ装置が広く知られている。このよ
うなコンピュータによって制御を行うカラオケ装置にお
いては、複数の処理を並行して行う、いわゆるマルチタ
スク処理が行われている。例えば、曲データに基づいて
楽曲を演奏する処理と、ディスプレイに歌詞を表示して
曲の進行に伴って色替えをする処理を同時に行う。ま
た、楽曲演奏と歌詞表示とを同時に行う通常のカラオケ
演奏とあわせて、次に演奏すべき曲を確認するための演
奏を行う場合にも、複数の演奏処理が同時に行われてい
る。
【0003】
【発明が解決しようとする課題】ところで、このような
マルチタスク処理を一つのCPUで行う場合には、複数
に時分割して行うので、ある処理が非常に重い場合に
は、他の処理がどんどん遅れていくという不都合が生じ
ることがある。例えば、通常のカラオケ演奏と次曲を確
認する演奏とを同時に行う場合に、次曲確認演奏の処理
が重いと、通常のカラオケ演奏まで遅れてしまう。この
ように、楽曲の演奏を行うカラオケ装置においては、楽
曲演奏処理に遅れが生じた場合には、不自然な演奏とな
ってしまい、利用者に違和感を与えてしまう場合があっ
た。
【0004】本発明は上述した課題を解決するためにな
されたものであり、マルチタスク処理を行うカラオケ装
置において、利用者に違和感を与えないカラオケ装置を
提供することを目的としている。
【0005】
【課題を解決するための手段】上述した課題を解決する
ために、請求項1に記載の発明は、複数の楽曲演奏をマ
ルチタスク処理で行うカラオケ装置であって、楽曲演奏
処理内容を指示する処理情報および前記楽曲演奏処理に
対応する時間を指示する時間情報を含む曲データを記憶
する曲データ記憶手段と、前記曲データ中の時間情報を
参照しながら同時に複数の楽曲演奏処理を行う楽曲演奏
手段と、前記楽曲演奏手段において行う複数の楽曲演奏
処理のいずれかの優先度を、他の楽曲演奏処理の優先度
よりも高く設定する優先度設定手段と、前記優先度設定
手段によって高い優先度に設定された楽曲演奏処理に対
応する前記時間情報が指示する時間を、前記他の楽曲演
奏処理に対応する時間情報が指示する時間よりも正確に
再現するように前記楽曲演奏手段を制御する制御手段と
を備えることを特徴とする。また、請求項2に記載の発
明は、請求項1に記載のカラオケ装置において、前記優
先度設定手段は、前記複数の楽曲演奏処理における複数
の段階を有する優先度を設定し、前記制御手段は、前記
複数の段階を有する優先度に応じて、他の楽曲演奏処理
よりも優先度の高い楽曲演奏処理に対応する前記時間情
報が指示する時間を、他の楽曲演奏処理よりも正確に再
現するように前記楽曲演奏手段を制御するとを特徴とす
る。また、請求項3に記載の発明は、請求項1または2
に記載のカラオケ装置において、前記曲データは、楽曲
演奏処理に対応した歌詞情報を含み、前記曲データ中の
歌詞情報および時間情報に基づいて演奏の進行に伴って
変化する歌詞を表示処理を行う歌詞表示手段を備え、前
記優先度設定手段は、前記歌詞表示手段による表示処理
と対応した前記楽曲演奏処理の優先度を他の楽曲演奏処
理の優先度よりも高く設定することを特徴とする。ま
た、請求項4に記載の発明は、請求項1または2に記載
のカラオケ装置において、前記優先度設定手段は、他の
楽曲演奏処理におけるテンポが早い楽曲演奏処理の優先
度を高く設定することを特徴とする。
【0006】
【発明の実施の形態】以下、図面を参照しながら、本発
明の実施の形態について説明する。
【0007】1.実施形態の構成 (1)全体構成 図1は、実施形態の構成を示すブロック図である。本実
施形態にかかるカラオケ装置100は、通常のカラオケ
演奏を行うことができる他、次に演奏する曲を確認でき
るように構成されており、CPU101、ROM10
2、RAM103、ハードディスクドライブ104、表
示制御部105、ディスプレイ106、メイン音源10
7、サブ音源108、パネルインターフェイス109、
パネル110、スピーカ120、およびヘッドフォン1
30を備えている。
【0008】CPU101は、ROM102に記憶され
た各種プログラムに従って、バスを介して接続された各
部の制御を行う。ROM102には、オペレーティング
システム(OS)の他、曲データに基づいてカラオケ演
奏を行うためのシーケンサプログラム等の各種アプリケ
ーションプログラムが記憶されている。このような各種
プログラムについては、実施形態の動作において後に詳
しく説明する。RAM103は、データを一時的に記憶
するために用いるメモリであり、後に説明するように、
リクエスト曲番号を記憶したり、リクエストされた曲デ
ータなどを記憶するために用いられる。HDD104
は、大容量の記憶媒体であり、リクエスト可能な曲デー
タが大量に記憶されている。表示制御部105は、ディ
スプレイ106における表示を制御するものであり、デ
ィスプレイ106には、例えばCRT(Cathode Ray Tu
be)ディスプレイなどが用いられる。
【0009】本実施形態では、カラオケ装置100は、
メイン音源107とサブ音源108との2つの音源を備
えている。メイン音源107は、通常のカラオケ演奏に
対応する楽曲を生成してスピーカ120に出力し、サブ
音源108は、次曲確認用演奏に対応する楽曲を生成し
てヘッドフォン130に出力する。パネルインターフェ
イス109は、パネル100とのインターフェイスであ
り、パネル110は、以下に説明する表示部や各種キー
を備えている。
【0010】(2)パネル110の構成 図2は、パネル110の外観構成を示す図である。パネ
ル110は、LED表示部111、テンキー112、セ
ットキー113、スタートキー114、および次曲確認
キー114を備えて構成されている。LED表示部11
1は、7セグメントLED(Light Emitting Diode)を
備えて構成されており、予約曲数や、リクエスト入力中
の曲番号、演奏中の曲番号などを表示できるようになっ
ている。テンキー112は、曲番号を入力するためのキ
ーであり、セットキー113は、テンキー112によっ
て入力された曲番号を確定するためのキーである。スタ
ートキー114は、演奏のスタートを指示するキーであ
り、スタートキー114が操作されると、ディスプレイ
106において背景映像および歌詞の表示が開始すると
ともに、スピーカ120においてカラオケ演奏に対応す
る楽曲の出力が開始する。次曲確認キー115は、スピ
ーカ120から出力されている楽曲の次のリクエスト曲
の確認を指示するキーであり、次曲確認キー115が操
作されると、ヘッドフォン130において次曲の演奏に
対応する楽曲の出力が開始する。これらの各キーの操作
は逐次検出され、パネルインターフェイスを介してCP
U101によって認識されるようになっている。
【0011】(3)RAM103に記憶するデータ構成 次に、RAM103に記憶されるデータ構成について説
明する。本実施形態では、RAM103には、図3に示
すリクエストキューエリアと、図4に示す曲データ記憶
エリアAおよび曲データ記憶エリアBとが設定される。
リクエストキューエリアは、リングバッファ状に使用さ
れる。テンキー112によって入力されセットキー11
3によって確定された曲番号が、一定の方向に順次記憶
され、記憶された順に読み出される。そして、読み出さ
れた曲番号にかかるリクエスト曲の演奏準備が完了する
と、新たな曲番号を書き込むことができるようになる。
【0012】図4に示す曲データ記憶エリアAおよびB
は、リクエスト曲の演奏準備に用いられるエリアであ
る。リクエストキューエリアから読み出されたリクエス
ト曲番号に対応した曲データはHDD104から読み出
されて、いずれかのエリアに展開される。カラオケ装置
100は、メイン音源107およびサブ音源108の2
種類の音源を備えており、同時に楽音信号生成を行う場
合がある。本実施形態では、曲データを展開するエリア
を2つ設けており、それぞれのエリアは、メイン音源1
07あるいはサブ音源108のいずれか一方における楽
曲生成処理に使用される。本実施形態で用いる曲データ
は、MIDI規格に基づいて作成されており、各演奏処
理内容を示すイベントデータと、各イベントデータの実
行を開始するタイミングの時間間隔を示すΔtデータと
を備えている。なお、本実施形態では、4分音符の符長
を24分割したクロック(MIDIタイミングクロッ
ク)数を用いてΔtを表している。
【0013】2.実施形態の動作 次に、上記構成を備える実施形態の動作について説明す
る。 2−1.マルチタスク処理の概要 まず、本実施形態においてCPU101によって実行さ
れる各種プログラムについて説明する。図5は、プログ
ラム構成を説明する概念図である。図5に示すように、
本実施形態では、オペレーティングシステム(OS)、
メインシーケンサプログラムと、サブシーケンサプログ
ラムと、および、その他のアプリケーションプログラム
を備えている。OSは、実時間処理を伴うマルチタスク
処理を行うことができるオペレーティングシステムであ
り、例えばパネル110の各種キー操作の検出や、RA
M103の管理など基本的動作を行うためのプログラム
である。さらに、マルチタスク処理においては、各アプ
リケーションプログラムに基づく処理(タスク)毎に優
先度を設定して、優先度に応じてCPU101の時分割
処理を制御することができるようになっている。
【0014】メインシーケンサプログラムは、メイン音
源107において楽曲を生成するためのアプリケーショ
ンプログラムであり、メインシーケンサプログラムに基
づく処理(メインシーケンサタスク)は優先度の高いタ
スクとして設定される。サブシーケンサプログラムは、
サブ音源108において楽曲を生成するためのアプリケ
ーションプログラムであり、サブシーケンサプログラム
に基づく処理(サブシーケンサタスク)は優先度の低い
タスクとして設定される。その他のアプリケーションプ
ログラムには、例えばディスプレイ106に歌詞を表示
させるためのプログラムなどが含まれる。
【0015】ここで、図6は、本実施形態におけるタス
クの状態遷移を示す図である。演奏を行わない状態(演
奏準備が行われていない状態)では、タスクは「未登録
状態」となっている。RAM103への曲データ展開な
どの演奏準備が行われ、演奏を開始すると、生成された
タスクは、まず「休止状態」となる。休止状態は、タス
クの実行を行うべきタイミングではない状態を示してい
る。なお、タスクを実行すべきタイミングは、曲データ
中のΔtによって決定される。
【0016】タスクを実行すべきタイミングになると、
タスクが起動して「実行可能状態」に遷移する。実行可
能状態となったタスクは、優先度に従って処理が開始さ
れ、「実行状態」に遷移する。タスクが実行状態である
場合であっても、より優先度の高い他タスクが実行可能
状態になった場合には処理が中断されて「待ち状態」へ
と遷移し、処理を再開する際に再度「実行可能状態」に
遷移する。実行状態は、タスクの実行が終了すると休止
状態に遷移し、次のタスク実行タイミングまで待機す
る。そして、演奏が終了した場合は、休止状態のタスク
を削除して未登録状態に遷移する。
【0017】ところで、複数のタスクが登録されている
場合に、いずれのタスクをCPU101が実行するかに
ついては、例えば図7に示すようなタスク管理テーブル
を用いて管理されている。タスク管理テーブルでは、各
タスクを識別する「タスクID」毎に、当該タスクの優
先度を示す「優先度」、当該タスクを実行するためのプ
ログラムを識別する「プログラム」、当該タスクの実行
状態を示す「状態フラグ」などの情報を管理している。
「プログラム」は、ROM102上の読み出しアドレス
などで特定されている。
【0018】ここで、図8および図9を参照しながら、
本実施形態におけるマルチタスク処理の概要について説
明する。まず、図8は、優先度の低いサブシーケンサタ
スクが実行状態である場合に、優先度の高いメインシー
ケンサタスクが実行可能状態になった場合の動作を示し
ている。サブシーケンサタスクが実行状態である場合に
メインシーケンサタスクが休止状態から実行可能状態に
遷移すると、優先度の低いサブシーケンサタスクは中断
されて待ち状態に遷移する。これに対して、優先度の高
いメインシーケンサタスクは、実行可能状態になるとす
ぐに処理が開始されて実行状態に遷移する。そして、メ
インシーケンサタスクの処理が終了すると、休止状態に
遷移する。メインシーケンサタスクが終了すると、サブ
シーケンサタスクは実行可能状態に再度遷移して、処理
を再開し、実行状態に遷移する。このように、優先度の
高いタスクは、優先度の低いタスクに対して割り込みを
行うことができる。
【0019】次に図9は、優先度の高いメインシーケン
サタスクが実行状態である場合に、優先度の低いサブシ
ーケンサタスクが実行可能状態になった場合の動作を示
している。ここでは、メインシーケンサタスクが実行状
態である場合に、サブシーケンサタスクが休止状態から
実行可能状態に遷移しても、メインシーケンサタスクの
方が優先度が高いので、メインシーケンサタスクは中断
されない。従って、サブシーケンサタスクは実行可能状
態のまま待機し、メインシーケンサタスクの処理が終了
してから実行状態に遷移する。このように、優先度の低
いタスクは、優先度の高いタスクに対して割り込みを行
うことができない。
【0020】以下フローチャートを参照しながら説明す
る各動作は、上述した優先度に基づいたOSの制御を利
用して、通常のカラオケ演奏であるメインシーケンサタ
スクと、次曲確認用の演奏であるサブシーケンサタスク
とを実行する場合の動作を示すものである。
【0021】2−2.実施形態の動作を示すフローチャ
ート 次に、図10から図13に示すフローチャートを参照し
ながら、本実施形態の動作について説明する。
【0022】(1)メインルーチン 図10は、OSに基づいて行われる本実施形態のメイン
ルーチンにかかる処理を示している。カラオケ装置10
0に電源が投入されると、CPU101は、まず初期設
定を行う(S101)。初期設定においては、RAM1
03における各種エリアやテーブルの初期化などを行
う。初期設定が終了すると、次にパネル110における
各種キーの状態に基づくパネル処理を行う(S10
2)。パネル処理においては、LED表示部110にお
ける状態表示を行う処理の他、テンキー112、セット
キー113、スタートキー114、および次曲確認キー
115の操作に基づく処理などを行う。例えば、テンキ
ー112の操作において入力され、セットキー113の
操作において確定されたリクエスト曲番号を、上述のR
AM103上のリクエストキューエリアに順次記憶す
る。そして、曲データ記憶エリアAあるいはBのうちい
ずれか一方のエリアに記憶された曲データが書き換え可
能となった場合には、リクエストキューエリアに記憶さ
れている曲番号のうち最も古くキューイングされた曲番
号に対応した曲データをHDD104から読み出して、
当該曲データ記憶エリアに展開する。そして、展開した
曲データに対応したキューイングエリアの曲番号は削除
され、次に確定したリクエスト曲番号を記憶する。ま
た、パネル処理においては、このようなキュー管理の
他、スタートキー114あるいは次曲確認キー115の
操作に基づく演奏準備処理も行う。演奏準備処理につい
ては、図11を参照しながら、後に説明する。
【0023】パネル処理を終了すると、タスク管理処理
を行う(S103)。タスク管理処理とは、優先度に基
づいて各タスクの状態を遷移させる処理であり、タスク
管理処理は、図12を用いて後に詳しく説明する。タス
ク管理処理を終了すると、CPU101はその他処理を
行い(S104)、処理をステップS102に移行させ
て再びパネル処理を行う。ステップS102〜S104
の処理は、カラオケ装置100の電源が遮断されるまで
繰り返し実行され、これにより適宜キー状態が認識さ
れ、タスク管理が行われることによってマルチタスク処
理が行われる。
【0024】(2)演奏準備処理 次に、図11は、メインシーケンサあるいはサブシーケ
ンサにおける演奏開始が指示された場合の演奏準備処理
を示すフローチャートである。なお、メインシーケンサ
による演奏は、例えばスタートキー114が操作された
場合や、先にキューイングされていた曲の演奏が終了し
た後に開始される。サブシーケンサによる演奏は、次曲
確認キー115が操作された場合に開始される。
【0025】以下、メインシーケンサの演奏準備処理を
例として図11に示すフローチャートの説明を行う。演
奏準備処理を開始すると、CPU101は、メインシー
ケンサタスクが未登録状態であるか否かを判別し(S2
01)、未登録状態ではないと判別した場合は、タスク
が登録されてOSによって管理されている状態であると
判別できるので、処理をメインルーチンに戻す。
【0026】ステップS201の判別において、メイン
シーケンサタスクが未登録状態であると判別した場合は
(S201;YES)、タスク管理テーブルの設定を行
う(S202)。演奏準備処理がメインシーケンサタス
クであれば、優先度を高く設定して、メインシーケンサ
プログラムの読み出しアドレスを指定する(図7参
照)。タスク管理テーブルの設定が終了すると、次に、
メインシーケンサによって演奏する曲データを読み出す
RAM103のアドレスをポインタMpにセットする
(S203)。曲データはキューイング順に読み出され
てRAM103上の曲データ記憶エリアAおよびBに交
互に展開されており、メインシーケンサによって読み出
すべき曲データが記憶されているアドレスを特定する必
要がある。また、イベントデータは時間の経過に伴って
順次実行されていくように構成されているので、次のタ
イミングにおいて実行するイベントデータが記憶された
アドレスも特定する必要がある。そこで本実施形態で
は、次に実行すべきイベントデータの記憶されたアドレ
スを示す変数であるポインタMpを用いて、イベントデ
ータの実行を行う毎にポインタMpの値を更新するもの
とする。よし詳しくは、図12を参照しながら後に説明
する。
【0027】ポインタMpのセットが完了すると、次
に、メインシーケンサタスクの状態を休止状態から実行
可能状態に遷移させるタイミングをカウントするための
カウンタMcに、最初のイベントデータを実行するまで
のΔtをセットする。本実施形態では、このカウンタM
cの値をMIDIタイミングクロックに基づいてダウン
カウントすることによって、時間の経過を判別できるよ
うになっている。より詳しくは、図12を参照しながら
後に説明する。なお、サブシーケンサであれば、上述の
各変数はポインタSp、カウンタScとなる。
【0028】(3)割り込み処理 本実施形態においては、メインシーケンサおよびサブシ
ーケンサは、MIDIタイミングクロック毎に割り込み
処理を行うことによって、所定のタイミングにおいて楽
音生成処理を実行できるようになっている。MIDIタ
イミングクロックは、4分音符の符長を24分割したも
のであるので、割り込み時間間隔は曲のテンポによって
異なる。テンポは、曲データによって指定されている
が、図示せぬテンポ変更キーの操作によって変更するこ
とも可能である。テンポは曲毎に異なるので、メインシ
ーケンサによって演奏する曲とサブシーケンサによって
演奏する曲のテンポが異なる場合がある。そこで、本実
施形態では、メインシーケンサのテンポに基づく割り込
みと、サブシーケンサのテンポに基づく割り込みとをそ
れぞれ行っているものとし、以下、メインシーケンサの
テンポに基づく割り込みを例として説明する。
【0029】図12は、割り込み処理の内容を示すフロ
ーチャートである。割り込み処理が起動すると、CPU
101は、まずメインシーケンサタスクが休止状態であ
るか否かを判別する(S301)。ここで、休止状態で
はないと判別した場合は(S301;NO)、すでにタ
スクが起動しており、タスクを実行可能状態に遷移させ
る処理を行う必要がないので、処理をメインルーチンに
戻す。一方、ステップS301の判別において、タスク
が休止状態であると判別した場合は(S301;YE
S)、カウンタMc=0であるか否か、すなわち、イベ
ントデータを実行すべきタイミングであるか否かを判別
する(S302)。
【0030】ステップS302の判別において、Mc≠
0と判別した場合は(S302;NO)、Mc=Mc−
1を実行してカウンタMcの値を1ダウンカウントする
(S303)。先に説明したように、演奏準備処理にお
いてカウンタMcには、最初のイベントデータまでのΔ
tがセットされており、割り込み処理は1MIDIタイ
ミングクロック毎に起動されるので、ステップS303
によるダウンカウントにより経過時間を認識できるよう
になっている。
【0031】一方、ステップS302の判別において、
Mc=0であると判別した場合は(S201;YE
S)、Δtが経過したと判別できので、次にメインシー
ケンサタスクを実行可能状態に遷移させる(S30
4)。このステップにおいて実行可能状態となったタス
クは、後に説明するタスク管理処理(図13)におい
て、優先度に従って実行状態に遷移するようになる。タ
スクを実行可能状態に遷移させると、次にイベントデー
タを実行すべきタイミングまでのΔtをカウンタMcに
セットし(S305)、次に実行すべきイベントデータ
の読み出しアドレスをポインタMpにセットして(S3
06)、処理をメインルーチンに戻す。図12に示した
割り込み処理は、MIDIタイミングクロック毎に起動
されるが、カウンタのダウンカウント処理(S303)
は、タスクが休止状態である場合にのみ実行されるの
で、タスクが実行状態である場合や実行可能状態や待ち
状態としてとして待機している場合にはカウントは進ま
ないようになっている。
【0032】(4)タスク管理処理 次に図13を参照しながら、タスク管理処理(図10:
103)の詳細について説明する。タスク管理処理が開
始すると、CPU101は、実行状態のタスクがあるか
否かを判別する(S401)。登録されている各タスク
の状態は、図7に示したタスク管理テーブル中のタスク
状態フラグを参照することによって認識することができ
る。ステップS401の判別において、実行状態のタス
クがないと判別した場合は(S401;NO)、次に、
実行可能状態のタスクがあるか否かを判別し(S40
2)、実行可能状態のタスクもないと判別した場合は
(S402;NO)、タスク管理処理において状態遷移
させるべきタスクは存在しないと判別できるので、処理
をそのままメインルーチンに戻す。ステップS402の
判別において、実行可能状態のタスクがあると判別した
場合は(S402;YES)、次に、実行可能状態タス
クが複数であるか否かを判別し(S403)、複数では
ないと判別した場合は(S403;NO)、一つのタス
クのみが実行可能状態であり、優先度を考慮する必要が
ないので、当該タスクを実行状態に遷移させて(S40
4)、処理をメインルーチンに戻す。
【0033】一方、ステップS403の判別において、
実行可能状態のタスクが複数であると判別した場合には
(S403;YES)、優先度の最も高いタスクを実行
状態に遷移させて(S405)、処理をメインルーチン
に戻す。次に、ステップS401の判別において実行状
態のタスクがあると判別した場合(S401;YES)
について説明する。CPU101は、まず、実行可能状
態の他タスクがあるか否かを判別し(S406)、実行
可能状態の他タスクが無いと判別した場合は(S40
6;NO)、次に、実行状態であるタスクを終了するか
否かを判別する(S407)。ここでは、図示せぬ終了
キーが操作された場合や、演奏終了を示すイベントデー
タが実行された場合に、タスク終了と判別する。
【0034】ステップS407の判別において、実行状
態のタスクを終了すべきではないと判別した場合は(S
407;NO)、タスク管理処理において状態遷移させ
るべきタスクは存在しないと判別できるので、処理をそ
のままメインルーチンに戻す。一方、ステップS407
の判別において、実行状態のタスクを終了すべきである
と判別した場合には(S407;YES)、当該タスク
を休止状態に遷移させ(S408)、次に、待ち状態と
なっている他タスクがあるか否かを判別する(S40
9)。ステップS409の判別において、待ち状態の他
タスクがないと判別した場合には(S409;NO)、
状態遷移させるべきタスクがないのでメインルーチンに
処理を戻すが、待ち状態のタスクがあると判別した場合
は(S409;YES)、当該タスクを実行可能状態に
遷移させてから(S410)、処理をメインルーチンに
戻す。
【0035】ところで、ステップS406の判別におい
て、実行可能状態の他タスクがあると判別した場合は
(S406;YES)、次に、当該実行可能状態タスク
が実行状態タスクよりも優先度が高いか否かを判別する
(S411)。ここで、実行可能状態タスクが実行状態
タスクよりも優先度が低いと判別した場合は(S41
1;NO)、実行状態タスクの実行を継続すべきであ
り、遷移させるべきタスクがないと判別できるので、メ
インルーチンに処理を戻す。一方、ステップS411の
判別において、行可能状態タスクが実行状態タスクより
も優先度が高いと判別した場合は(S411;YE
S)、実行状態のタスクを中断して(S412)、待ち
状態に遷移させる(S413)。そして、実行可能状態
の他タスクを実行状態に遷移させ(S414)、処理を
メインルーチンに戻す。
【0036】2−3.実施形態の具体的動作 次に、図10〜図13に示した処理を循環することによ
って、行われる実施形態の具体的動作について図14に
示すタイムチャートを参照しながら説明する。図14に
示すタイムチャートは、曲データによって指示される状
態と、上記実施形態における状態と、従来技術における
状態とを比較してたものである。曲データが指示する状
態とは、当該曲データによる楽音生成処理を単独で行っ
た場合のタイムチャートである。図14においては、メ
インシーケンサおよびサブシーケンサのそれぞれによっ
て読み出される曲データについてそれぞれ図示してい
る。
【0037】上記実施形態においては、メインシーケン
サタスクの優先度はサブシーケンサタスクの優先度より
も高いので、例えばイベントIm1にかかるタスクが実
行状態であるときに、イベントIs1にかかるタスクが
実行可能状態に遷移しても、処理は中断されず、イベン
トIm1にかかるタスクが終了してからイベントIS1
にかかるタスクが実行状態になる。そして、サブシーケ
ンサタスク(イベントIs1にかかるタスク)が実行状
態であっても、優先度の高いメインシーケンサタスク
(イベントIm2にかかるタスク)が実行可能状態とな
った場合には、サブシーケンサタスクを中断して待ち状
態とし、先にメインシーケンサタスクを実行状態とする
ので、イベントIm2は曲データが指示するタイミング
通りに実行されることになる。
【0038】これに対して従来技術における状態では、
優先度に応じた処理を行うことはできないので、タスク
が重複する場合には、先に実行可能状態となったタスク
が終了してから、後に実行可能状態となったタスク(イ
ベントIs1)が実行状態になる。そして、先に実行状
態であったサブシーケンサタスク(イベントIs1にか
かるタスク)が終了してから、後に実行可能状態となっ
たメインシーケンサタスク(イベントIm2にかかるタ
スク)が実行可能状態になるので、図14に示すよう
に、イベントIm2は曲データが指示するタイミングよ
りも遅れて実行されるようになる。曲データが指示する
イベント間のΔtは、イベントが実行されてからの時間
間隔であるから、あるイベントの実行が遅れるに従っ
て、次のイベントの実行も遅れていくようになる。
【0039】このように、従来技術においては、メイン
シーケンサタスクによる実行およびサブシーケンサタス
クによる実行は、いずれもが遅延していく場合が生じや
すいのに比べ、本実施形態においては、サブシーケンサ
タスクによる実行のみが遅延していくようになる。本実
施形態では、メインシーケンサタスクによって生成され
る楽曲は、カラオケ演奏としてスピーカ120から出力
される演奏となり、ディスプレイ106に表示される歌
詞および歌詞の色替えと同期するものであるから、多少
の遅延でも使用者に違和感を与える。これに対してサブ
シーケンサタスクによる楽音信号生成は、次曲確認のた
めにヘッドフォン130で聴くための演奏であり、演奏
が遅延していっても、それほど違和感は与えない。
【0040】3.変形例 なお、本発明は既述した実施形態に限定されるものでは
なく、以下のような各種の変形が可能である。
【0041】上記実施形態においては、優先度を「高」
と「低」との2段階を用いて説明したが、優先度の段階
はさらに細分化して設定できるようにしてもよい。例え
ば、優先度を示す数値を1〜10などと設定できるよう
にして、数値の小さいタスクを数値の大きなタスクより
も優先して実行するようにしてもよい。また、上記実施
形態では、メインシーケンサとサブシーケンサの2種類
のタスクを用いて説明したが、時間情報を参照して行う
処理であればどのような処理でもよく、マルチタスクは
上述の2種類に限定されるものではなく、例えば歌詞の
色替え処理や、楽音に効果を付与するエフェクト処理な
ど他の処理であっても構わない。
【0042】上記実施形態においては、カラオケ装置1
00は2つの音源(メイン音源107、サブ音源10
8)を備えるものとして説明したが、1つの音源をメイ
ンシーケンサとサブシーケンサで共有するように構成し
ても構わないし、3つ以上の音源を備えていても構わな
い。
【0043】各タスクの優先度を決定する手段は、予め
重い処理となることが予想されているものの優先度を高
く設定するように決定されていても構わない。上記実施
形態においては、メインシーケンサタスクは、ディスプ
レイ106に歌詞や背景映像を表示させる処理と同期し
て行わなければならないので、予め優先度を高く設定し
ている。上記実施形態においては、説明を省略している
が、曲データ中には、イベントデータやΔtデータと対
応して歌詞表示を指示するデータも含まれているものと
する。なお、曲データ中のイベントデータは、上記実施
形態のようにMIDI規格に基づいて作成されたものに
限らず、楽曲演奏処理内容をデジタルデータによって指
示することができればどのような規格であってもよい。
イベントデータが指示する楽曲演奏処理内容には、発音
や消音のような基本的な処理の他、残響音やバックコー
ラスなどの効果を付与する処理があってもよい。このよ
うな効果処理が多いほど、重い処理となると判断するよ
うにしてもよい。
【0044】また、イベント間の時間間隔を示すΔtデ
ータは、上記実施形態のようにMIDIタイミングクロ
ックを用いて記述することに限らず、他のクロック数を
用いても構わないし、絶対時間を用いても構わない。あ
るいは、曲データ中に優先度を指定するデータを記述し
てもよいし、曲のテンポに応じて決定するようにしても
よい。上述のように、MIDIタイミングクロック間の
時間間隔(割り込み時間間隔)はテンポに応じて異なる
ので、テンポの速い曲は単位時間あたりの割り込み回数
が多くなり、テンポの遅い曲は単位時間あたりの割り込
み回数が少なくなるからである。また、演奏が開始して
からユーザ操作によって優先度を変更できるようにして
もよい。
【0045】上記実施形態のように1台のカラオケ装置
における処理に限らず、例えば複数のカラオケ制御装置
を用いて複数のカラオケ装置を制御するような場合で
も、本発明は適用可能である。例えば、1台のサーバを
コントロールルームに設置して、演奏用端末装置を各部
屋に設置するカラオケボックスシステムにおいて、テン
ポの早い曲を演奏する端末用タスクの優先度を高くし
て、テンポの遅い曲を演奏する端末用タスクの優先度を
低くするようにしてもよい。
【0046】
【発明の効果】以上説明したように、本発明によれば、
マルチタスク処理を行うカラオケ装置において、利用者
に違和感を与えない処理を行うことができるようにな
る。
【図面の簡単な説明】
【図1】 実施形態の構成を示すブロック図である。
【図2】 パネルの外観構成を示す図である。
【図3】 リクエストキューエリアを説明する図であ
る。
【図4】 曲データ記憶エリアを説明する図である。
【図5】 プログラムの構成を示す図である。
【図6】 タスクの状態遷移を説明する図である。
【図7】 タスク制御テーブルを説明する図である。
【図8】 マルチタスク処理を説明する図である(その
1)。
【図9】 マルチタスク処理を説明する図である(その
2)。
【図10】 実施形態の動作を示すフローチャートであ
る(メインルーチン)。
【図11】 実施形態の動作を示すフローチャートであ
る(演奏準備処理)。
【図12】 実施形態の動作を示すフローチャートであ
る(割り込み処理)。
【図13】 実施形態の動作を示すフローチャートであ
る(タスク管理処理)。
【図14】 実施形態の動作を従来技術と比較して示す
タイムチャートである。
【符号の説明】
100……カラオケ装置、 101……CPU、 102……ROM、 103……RAM、 104……HDD、 105……表示制御部、 106……ディスプレイ、 107……メイン音源、 108……サブ音源、 109……パネルインターフェイス、 110……パネル、 111……LED表示部、 112……テンキー、 113……セットキー、 114……スタートキー、 115……次曲確認キー。

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数の楽曲演奏をマルチタスク処理で行
    うカラオケ装置であって、 楽曲演奏処理内容を指示する処理情報および前記楽曲演
    奏処理に対応する時間を指示する時間情報を含む曲デー
    タを記憶する曲データ記憶手段と、 前記曲データ中の時間情報を参照しながら同時に複数の
    楽曲演奏処理を行う楽曲演奏手段と、 前記楽曲演奏手段において行う複数の楽曲演奏処理のい
    ずれかの優先度を、他の楽曲演奏処理の優先度よりも高
    く設定する優先度設定手段と、 前記優先度設定手段によって高い優先度に設定された楽
    曲演奏処理に対応する前記時間情報が指示する時間を、
    前記他の楽曲演奏処理に対応する時間情報が指示する時
    間よりも正確に再現するように前記楽曲演奏手段を制御
    する制御手段とを備えることを特徴とするカラオケ装
    置。
  2. 【請求項2】 請求項1に記載のカラオケ装置におい
    て、 前記優先度設定手段は、前記複数の楽曲演奏処理におけ
    る複数の段階を有する優先度を設定し、 前記制御手段は、前記複数の段階を有する優先度に応じ
    て、他の楽曲演奏処理よりも優先度の高い楽曲演奏処理
    に対応する前記時間情報が指示する時間を、他の楽曲演
    奏処理よりも正確に再現するように前記楽曲演奏手段を
    制御するとを特徴とするカラオケ装置。
  3. 【請求項3】 請求項1または2に記載のカラオケ装置
    において、 前記曲データは、楽曲演奏処理に対応した歌詞情報を含
    み、 前記曲データ中の歌詞情報および時間情報に基づいて演
    奏の進行に伴って変化する歌詞を表示処理を行う歌詞表
    示手段を備え、 前記優先度設定手段は、前記歌詞表示手段による表示処
    理と対応した前記楽曲演奏処理の優先度を他の楽曲演奏
    処理の優先度よりも高く設定することを特徴とするカラ
    オケ装置。
  4. 【請求項4】 請求項1または2に記載のカラオケ装置
    において、 前記優先度設定手段は、他の楽曲演奏処理におけるテン
    ポが早い楽曲演奏処理の優先度を高く設定することを特
    徴とするカラオケ装置。
JP01902299A 1999-01-27 1999-01-27 カラオケ装置 Expired - Fee Related JP4477159B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP01902299A JP4477159B2 (ja) 1999-01-27 1999-01-27 カラオケ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01902299A JP4477159B2 (ja) 1999-01-27 1999-01-27 カラオケ装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2008265782A Division JP4720893B2 (ja) 2008-10-14 2008-10-14 カラオケ装置

Publications (2)

Publication Number Publication Date
JP2000214867A true JP2000214867A (ja) 2000-08-04
JP4477159B2 JP4477159B2 (ja) 2010-06-09

Family

ID=11987861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01902299A Expired - Fee Related JP4477159B2 (ja) 1999-01-27 1999-01-27 カラオケ装置

Country Status (1)

Country Link
JP (1) JP4477159B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006171626A (ja) * 2004-12-20 2006-06-29 Oki Electric Ind Co Ltd 楽曲再生装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006171626A (ja) * 2004-12-20 2006-06-29 Oki Electric Ind Co Ltd 楽曲再生装置

Also Published As

Publication number Publication date
JP4477159B2 (ja) 2010-06-09

Similar Documents

Publication Publication Date Title
JP3072452B2 (ja) カラオケ装置
JPH11126070A (ja) 楽音生成方法
JP3922224B2 (ja) 自動演奏装置及びプログラム
JPH09325778A (ja) 楽音発生方法
JPH0922287A (ja) 楽音波形生成方法
US5164529A (en) Interruption control apparatus for use in performance information processing system
JPH09258737A (ja) コンピュータソフトウェアを用いた音源システム
JP4477159B2 (ja) カラオケ装置
JP3637577B2 (ja) 楽音生成方法
JP4720893B2 (ja) カラオケ装置
JP4096952B2 (ja) 楽音発生装置
JP3572847B2 (ja) コンピュータソフトウェアを用いた音源システム及び方法
JPH11288285A (ja) 楽音発生方法及び装置
JP2743808B2 (ja) 自動演奏装置
JPH10319958A (ja) 自動演奏装置、自動演奏データ処理方法及び電子的情報記憶媒体
JP4241833B2 (ja) 自動演奏装置及びプログラム
JP3740717B2 (ja) 音源装置及び楽音生成方法
JP4685226B2 (ja) 波形再生用自動演奏装置
JPH0944160A (ja) 楽音生成方法
JPH10207465A (ja) 楽音発生方法および楽音発生装置
JP3705203B2 (ja) 楽音発生方法
JP3488037B2 (ja) 自動演奏装置
JP3843772B2 (ja) 自動伴奏装置及びプログラム
JP3627590B2 (ja) 音生成方法
JP3735172B2 (ja) 演奏情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051025

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080317

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080529

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080812

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081014

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20081022

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20081212

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100216

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130319

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140319

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees