JP4720893B2 - Karaoke equipment - Google Patents
Karaoke equipment Download PDFInfo
- Publication number
- JP4720893B2 JP4720893B2 JP2008265782A JP2008265782A JP4720893B2 JP 4720893 B2 JP4720893 B2 JP 4720893B2 JP 2008265782 A JP2008265782 A JP 2008265782A JP 2008265782 A JP2008265782 A JP 2008265782A JP 4720893 B2 JP4720893 B2 JP 4720893B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- sequencer
- priority
- sub
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
- Reverberation, Karaoke And Other Acoustics (AREA)
Description
この発明は、複数の楽曲演奏をマルチタスク処理で行うカラオケ装置に関する。 The present invention relates to a karaoke apparatus that performs a plurality of music performances by multitask processing.
従来より、カラオケ演奏処理をコンピュータによって制御するカラオケ装置が知られている。例えば、MIDI(Musical Instrument Digital Interface)規格に基づいて作成されたの曲データに基づいて楽曲を演奏するカラオケ装置が広く知られている。このようなコンピュータによって制御を行うカラオケ装置においては、複数の処理を並行して行う、いわゆるマルチタスク処理が行われている。例えば、曲データに基づいて楽曲を演奏する処理と、ディスプレイに歌詞を表示して曲の進行に伴って色替えをする処理を同時に行う。また、楽曲演奏と歌詞表示とを同時に行う通常のカラオケ演奏とあわせて、次に演奏すべき曲を確認するための演奏を行う場合にも、複数の演奏処理が同時に行われている。 Conventionally, a karaoke apparatus that controls karaoke performance processing by a computer is known. For example, karaoke apparatuses that perform music based on music data created based on the MIDI (Musical Instrument Digital Interface) standard are widely known. In such a karaoke apparatus that is controlled by a computer, so-called multitask processing, in which a plurality of processes are performed in parallel, is performed. For example, a process of playing a song based on song data and a process of changing the color as the song progresses by displaying lyrics on the display are performed simultaneously. In addition, when performing a performance for confirming a song to be performed next, in addition to a normal karaoke performance in which the music performance and the lyrics display are performed at the same time, a plurality of performance processes are performed simultaneously.
ところで、このようなマルチタスク処理を一つのCPUで行う場合には、複数に時分割して行うので、ある処理が非常に重い場合には、他の処理がどんどん遅れていくという不都合が生じることがある。例えば、通常のカラオケ演奏と次曲を確認する演奏とを同時に行う場合に、次曲確認演奏の処理が重いと、通常のカラオケ演奏まで遅れてしまう。このように、楽曲の演奏を行うカラオケ装置においては、楽曲演奏処理に遅れが生じた場合には、不自然な演奏となってしまい、利用者に違和感を与えてしまう場合があった。 By the way, when such multitask processing is performed by a single CPU, it is performed in a time-sharing manner into a plurality of times, so that when a certain processing is very heavy, other processing is delayed. There is. For example, when performing a normal karaoke performance and a performance for confirming the next song at the same time, if the processing of the next song confirmation performance is heavy, the normal karaoke performance is delayed. As described above, in a karaoke apparatus that performs music performance, if there is a delay in the music performance processing, the performance becomes unnatural and may give the user a sense of discomfort.
本発明は上述した課題を解決するためになされたものであり、マルチタスク処理を行うカラオケ装置において、利用者に違和感を与えないカラオケ装置を提供することを目的としている。 The present invention has been made to solve the above-described problem, and an object of the present invention is to provide a karaoke apparatus that does not give a sense of incongruity to a user in a karaoke apparatus that performs multitask processing.
上述した課題を解決するために、請求項1に記載の発明は、複数のタスクをマルチタスク処理で行うカラオケ装置であって、メイン音源において楽曲を生成するためのメインシーケンサプログラムと、サブ音源において楽曲を生成するためのサブシーケンサプログラムと、前記メインシーケンサプログラム及びサブシーケンサプログラム以外のアプリケーションプログラムとを記憶するプログラム記憶手段と、前記アプリケーションプログラムに基づくタスク、前記メインシーケンサプログラムに基づくタスクであって前記アプリケーションプログラムに基づくタスクと同期して行われるメインシーケンサタスク、及び前記サブシーケンサプログラムに基づくタスクであって前記アプリケーションプログラムに基づくタスクと同期して行われないサブシーケンサタスクについて、各々のタスクの内容を指示する処理情報及び当該タスクに対応する時間を指示する時間情報を含むタスク情報を記憶するタスク情報記憶手段と、前記タスク情報中の処理情報及び時間情報を参照しながら同時に複数のタスクを行うタスク実行手段と、前記メインシーケンサタスクの優先度を前記サブシーケンサタスクの優先度よりも高くするよう、前記タスク実行手段において行われる前記タスクの優先度を設定する優先度設定手段と、前記タスク実行手段によりタスクが行われている場合に、前記優先度設定手段によって当該タスクよりも低い優先度に設定されたタスクが実行可能な状態になったときには、前記タスク実行手段が行っているタスクを継続して行わせ、前記タスク実行手段によりタスクが行われている場合に、前記優先度設定手段によって当該タスクよりも高い優先度に設定されたタスクが実行可能な状態になったときには、前記タスク実行手段が行っているタスクを中断させて、当該高い優先度に設定されたタスクを行わせるよう制御する制御手段とを備えることを特徴とする。
また、請求項2に記載の発明は、メイン音源においてカラオケ演奏としての楽曲を生成するためのメインシーケンサプログラムと、サブ音源において前記メインシーケンサタスクで生成される楽曲の次の楽曲を生成するためのサブシーケンサプログラムと、前記メインシーケンサプログラム及びサブシーケンサプログラム以外のアプリケーションプログラムとを記憶するプログラム記憶手段と、前記アプリケーションプログラムに基づくタスク、前記メインシーケンサプログラムに基づくタスクであって前記アプリケーションプログラムに基づくタスクと同期して行われるメインシーケンサタスク、及び前記サブシーケンサプログラムに基づくタスクであって前記アプリケーションプログラムに基づくタスクと同期して行われないサブシーケンサタスクについて、各々のタスクの内容を指示する処理情報及び当該タスクに対応する時間を指示する時間情報を含むタスク情報を記憶するタスク情報記憶手段と、前記タスク情報中の処理情報及び時間情報を参照しながら同時に複数のタスクを行うタスク実行手段と、前記メインシーケンサタスクの優先度を前記サブシーケンサタスクの優先度よりも高くするよう、前記タスク実行手段において行われる前記タスクの優先度を設定する優先度設定手段と、前記タスク実行手段によりタスクが行われている場合に、前記優先度設定手段によって当該タスクよりも低い優先度に設定されたタスクが実行可能な状態になったときには、前記タスク実行手段が行っているタスクを継続して行わせ、前記タスク実行手段によりタスクが行われている場合に、前記優先度設定手段によって当該タスクよりも高い優先度に設定されたタスクが実行可能な状態になったときには、前記タスク実行手段が行っているタスクを中断させて、当該高い優先度に設定されたタスクを行わせるよう制御する制御手段とを備えることを特徴とする。
In order to solve the above-described problem, the invention described in
The invention according to
本発明によれば、マルチタスク処理を行うカラオケ装置において、利用者に違和感を与えない処理を行うことができるようになる。 According to the present invention, in a karaoke apparatus that performs multitask processing, it is possible to perform processing that does not give the user a sense of incongruity.
以下、図面を参照しながら、本発明の実施の形態について説明する。
1.実施形態の構成
(1)全体構成
図1は、実施形態の構成を示すブロック図である。本実施形態にかかるカラオケ装置100は、通常のカラオケ演奏を行うことができる他、次に演奏する曲を確認できるように構成されており、CPU101、ROM102、RAM103、ハードディスクドライブ104、表示制御部105、ディスプレイ106、メイン音源107、サブ音源108、パネルインターフェイス109、パネル110、スピーカ120、およびヘッドフォン130を備えている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
1. Configuration of Embodiment (1) Overall Configuration FIG. 1 is a block diagram illustrating a configuration of an embodiment. The karaoke apparatus 100 according to the present embodiment is configured to be able to perform a normal karaoke performance and to confirm a song to be played next, and includes a
CPU101は、ROM102に記憶された各種プログラムに従って、バスを介して接続された各部の制御を行う。ROM102には、オペレーティングシステム(OS)の他、曲データに基づいてカラオケ演奏を行うためのシーケンサプログラム等の各種アプリケーションプログラムが記憶されている。このような各種プログラムについては、実施形態の動作において後に詳しく説明する。RAM103は、データを一時的に記憶するために用いるメモリであり、後に説明するように、リクエスト曲番号を記憶したり、リクエストされた曲データなどを記憶するために用いられる。HDD104は、大容量の記憶媒体であり、リクエスト可能な曲データが大量に記憶されている。表示制御部105は、ディスプレイ106における表示を制御するものであり、ディスプレイ106には、例えばCRT(Cathode Ray Tube)ディスプレイなどが用いられる。
The
本実施形態では、カラオケ装置100は、メイン音源107とサブ音源108との2つの音源を備えている。メイン音源107は、通常のカラオケ演奏に対応する楽曲を生成してスピーカ120に出力し、サブ音源108は、次曲確認用演奏に対応する楽曲を生成してヘッドフォン130に出力する。パネルインターフェイス109は、パネル100とのインターフェイスであり、パネル110は、以下に説明する表示部や各種キーを備えている。
In the present embodiment, the karaoke apparatus 100 includes two sound sources, a
(2)パネル110の構成
図2は、パネル110の外観構成を示す図である。パネル110は、LED表示部111、テンキー112、セットキー113、スタートキー114、および次曲確認キー114を備えて構成されている。LED表示部111は、7セグメントLED(Light Emitting Diode)を備えて構成されており、予約曲数や、リクエスト入力中の曲番号、演奏中の曲番号などを表示できるようになっている。テンキー112は、曲番号を入力するためのキーであり、セットキー113は、テンキー112によって入力された曲番号を確定するためのキーである。スタートキー114は、演奏のスタートを指示するキーであり、スタートキー114が操作されると、ディスプレイ106において背景映像および歌詞の表示が開始するとともに、スピーカ120においてカラオケ演奏に対応する楽曲の出力が開始する。次曲確認キー115は、スピーカ120から出力されている楽曲の次のリクエスト曲の確認を指示するキーであり、次曲確認キー115が操作されると、ヘッドフォン130において次曲の演奏に対応する楽曲の出力が開始する。これらの各キーの操作は逐次検出され、パネルインターフェイスを介してCPU101によって認識されるようになっている。
(2) Configuration of
(3)RAM103に記憶するデータ構成
次に、RAM103に記憶されるデータ構成について説明する。本実施形態では、RAM103には、図3に示すリクエストキューエリアと、図4に示す曲データ記憶エリアAおよび曲データ記憶エリアBとが設定される。リクエストキューエリアは、リングバッファ状に使用される。テンキー112によって入力されセットキー113によって確定された曲番号が、一定の方向に順次記憶され、記憶された順に読み出される。そして、読み出された曲番号にかかるリクエスト曲の演奏準備が完了すると、新たな曲番号を書き込むことができるようになる。
(3) Data configuration stored in
図4に示す曲データ記憶エリアAおよびBは、リクエスト曲の演奏準備に用いられるエリアである。リクエストキューエリアから読み出されたリクエスト曲番号に対応した曲データはHDD104から読み出されて、いずれかのエリアに展開される。カラオケ装置100は、メイン音源107およびサブ音源108の2種類の音源を備えており、同時に楽音信号生成を行う場合がある。本実施形態では、曲データを展開するエリアを2つ設けており、それぞれのエリアは、メイン音源107あるいはサブ音源108のいずれか一方における楽曲生成処理に使用される。本実施形態で用いる曲データは、MIDI規格に基づいて作成されており、各演奏処理内容を示すイベントデータと、各イベントデータの実行を開始するタイミングの時間間隔を示すΔtデータとを備えている。なお、本実施形態では、4分音符の符長を24分割したクロック(MIDIタイミングクロック)数を用いてΔtを表している。
The song data storage areas A and B shown in FIG. 4 are areas used for preparation for performance of the requested song. The music data corresponding to the requested music number read from the request queue area is read from the
2.実施形態の動作
次に、上記構成を備える実施形態の動作について説明する。
2−1.マルチタスク処理の概要
まず、本実施形態においてCPU101によって実行される各種プログラムについて説明する。図5は、プログラム構成を説明する概念図である。図5に示すように、本実施形態では、オペレーティングシステム(OS)、メインシーケンサプログラムと、サブシーケンサプログラムと、および、その他のアプリケーションプログラムを備えている。OSは、実時間処理を伴うマルチタスク処理を行うことができるオペレーティングシステムであり、例えばパネル110の各種キー操作の検出や、RAM103の管理など基本的動作を行うためのプログラムである。さらに、マルチタスク処理においては、各アプリケーションプログラムに基づく処理(タスク)毎に優先度を設定して、優先度に応じてCPU101の時分割処理を制御することができるようになっている。
2. Next, the operation of the embodiment having the above-described configuration will be described.
2-1. Overview of Multitask Processing First, various programs executed by the
メインシーケンサプログラムは、メイン音源107において楽曲を生成するためのアプリケーションプログラムであり、メインシーケンサプログラムに基づく処理(メインシーケンサタスク)は優先度の高いタスクとして設定される。サブシーケンサプログラムは、サブ音源108において楽曲を生成するためのアプリケーションプログラムであり、サブシーケンサプログラムに基づく処理(サブシーケンサタスク)は優先度の低いタスクとして設定される。その他のアプリケーションプログラムには、例えばディスプレイ106に歌詞を表示させるためのプログラムなどが含まれる。
The main sequencer program is an application program for generating music in the
ここで、図6は、本実施形態におけるタスクの状態遷移を示す図である。演奏を行わない状態(演奏準備が行われていない状態)では、タスクは「未登録状態」となっている。RAM103への曲データ展開などの演奏準備が行われ、演奏を開始すると、生成されたタスクは、まず「休止状態」となる。休止状態は、タスクの実行を行うべきタイミングではない状態を示している。なお、タスクを実行すべきタイミングは、曲データ中のΔtによって決定される。
Here, FIG. 6 is a diagram illustrating task state transition in the present embodiment. In a state where performance is not performed (state where performance preparation is not performed), the task is in an “unregistered state”. When performance preparation such as development of music data in the
タスクを実行すべきタイミングになると、タスクが起動して「実行可能状態」に遷移する。実行可能状態となったタスクは、優先度に従って処理が開始され、「実行状態」に遷移する。タスクが実行状態である場合であっても、より優先度の高い他タスクが実行可能状態になった場合には処理が中断されて「待ち状態」へと遷移し、処理を再開する際に再度「実行可能状態」に遷移する。実行状態は、タスクの実行が終了すると休止状態に遷移し、次のタスク実行タイミングまで待機する。そして、演奏が終了した場合は、休止状態のタスクを削除して未登録状態に遷移する。 When it is time to execute the task, the task starts and transitions to an “executable state”. The task in the executable state starts processing according to the priority, and transitions to the “execution state”. Even if the task is in the running state, if another task with a higher priority becomes ready to run, the process is interrupted and transitions to the `` waiting state '', and again when the process is resumed Transition to “executable state”. The execution state transitions to a dormant state when task execution is completed, and waits until the next task execution timing. When the performance is finished, the task in the dormant state is deleted and the state is changed to the unregistered state.
ところで、複数のタスクが登録されている場合に、いずれのタスクをCPU101が実行するかについては、例えば図7に示すようなタスク管理テーブルを用いて管理されている。タスク管理テーブルでは、各タスクを識別する「タスクID」毎に、当該タスクの優先度を示す「優先度」、当該タスクを実行するためのプログラムを識別する「プログラム」、当該タスクの実行状態を示す「状態フラグ」などの情報を管理している。「プログラム」は、ROM102上の読み出しアドレスなどで特定されている。
Incidentally, when a plurality of tasks are registered, which task the
ここで、図8および図9を参照しながら、本実施形態におけるマルチタスク処理の概要について説明する。まず、図8は、優先度の低いサブシーケンサタスクが実行状態である場合に、優先度の高いメインシーケンサタスクが実行可能状態になった場合の動作を示している。サブシーケンサタスクが実行状態である場合にメインシーケンサタスクが休止状態から実行可能状態に遷移すると、優先度の低いサブシーケンサタスクは中断されて待ち状態に遷移する。これに対して、優先度の高いメインシーケンサタスクは、実行可能状態になるとすぐに処理が開始されて実行状態に遷移する。そして、メインシーケンサタスクの処理が終了すると、休止状態に遷移する。メインシーケンサタスクが終了すると、サブシーケンサタスクは実行可能状態に再度遷移して、処理を再開し、実行状態に遷移する。このように、優先度の高いタスクは、優先度の低いタスクに対して割り込みを行うことができる。 Here, an overview of multitask processing in the present embodiment will be described with reference to FIGS. 8 and 9. First, FIG. 8 shows an operation when a main sequencer task with a high priority is in an executable state when a sub-sequencer task with a low priority is in an execution state. If the main sequencer task changes from the sleep state to the executable state when the sub sequencer task is in the execution state, the sub sequencer task with the lower priority is interrupted and changes to the wait state. On the other hand, the main sequencer task having a high priority starts processing as soon as it enters the executable state and transitions to the running state. Then, when the processing of the main sequencer task is completed, the state transits to the sleep state. When the main sequencer task ends, the sub sequencer task transitions again to the executable state, resumes processing, and transitions to the execution state. In this way, a task with a high priority can interrupt a task with a low priority.
次に図9は、優先度の高いメインシーケンサタスクが実行状態である場合に、優先度の低いサブシーケンサタスクが実行可能状態になった場合の動作を示している。ここでは、メインシーケンサタスクが実行状態である場合に、サブシーケンサタスクが休止状態から実行可能状態に遷移しても、メインシーケンサタスクの方が優先度が高いので、メインシーケンサタスクは中断されない。従って、サブシーケンサタスクは実行可能状態のまま待機し、メインシーケンサタスクの処理が終了してから実行状態に遷移する。このように、優先度の低いタスクは、優先度の高いタスクに対して割り込みを行うことができない。 Next, FIG. 9 shows an operation when a sub sequencer task with a low priority is in an executable state when a main sequencer task with a high priority is in an execution state. Here, when the main sequencer task is in the execution state, even if the sub-sequencer task transitions from the sleep state to the executable state, the main sequencer task has a higher priority, so the main sequencer task is not interrupted. Therefore, the sub-sequencer task waits in the executable state, and transitions to the execution state after the processing of the main sequencer task is completed. As described above, a task having a low priority cannot interrupt a task having a high priority.
以下フローチャートを参照しながら説明する各動作は、上述した優先度に基づいたOSの制御を利用して、通常のカラオケ演奏であるメインシーケンサタスクと、次曲確認用の演奏であるサブシーケンサタスクとを実行する場合の動作を示すものである。 Each operation described below with reference to the flowchart uses the above-described priority-based control of the OS to perform a main sequencer task that is a normal karaoke performance and a sub sequencer task that is a performance for confirming the next song. It shows the operation when executing.
2−2.実施形態の動作を示すフローチャート
次に、図10から図13に示すフローチャートを参照しながら、本実施形態の動作について説明する。
2-2. Flowchart Showing Operation of Embodiment Next, the operation of this embodiment will be described with reference to the flowcharts shown in FIGS.
(1)メインルーチン
図10は、OSに基づいて行われる本実施形態のメインルーチンにかかる処理を示している。カラオケ装置100に電源が投入されると、CPU101は、まず初期設定を行う(S101)。初期設定においては、RAM103における各種エリアやテーブルの初期化などを行う。初期設定が終了すると、次にパネル110における各種キーの状態に基づくパネル処理を行う(S102)。パネル処理においては、LED表示部110における状態表示を行う処理の他、テンキー112、セットキー113、スタートキー114、および次曲確認キー115の操作に基づく処理などを行う。例えば、テンキー112の操作において入力され、セットキー113の操作において確定されたリクエスト曲番号を、上述のRAM103上のリクエストキューエリアに順次記憶する。そして、曲データ記憶エリアAあるいはBのうちいずれか一方のエリアに記憶された曲データが書き換え可能となった場合には、リクエストキューエリアに記憶されている曲番号のうち最も古くキューイングされた曲番号に対応した曲データをHDD104から読み出して、当該曲データ記憶エリアに展開する。そして、展開した曲データに対応したキューイングエリアの曲番号は削除され、次に確定したリクエスト曲番号を記憶する。また、パネル処理においては、このようなキュー管理の他、スタートキー114あるいは次曲確認キー115の操作に基づく演奏準備処理も行う。演奏準備処理については、図11を参照しながら、後に説明する。
(1) Main Routine FIG. 10 shows processing related to the main routine of the present embodiment performed based on the OS. When the karaoke apparatus 100 is turned on, the
パネル処理を終了すると、タスク管理処理を行う(S103)。タスク管理処理とは、優先度に基づいて各タスクの状態を遷移させる処理であり、タスク管理処理は、図12を用いて後に詳しく説明する。タスク管理処理を終了すると、CPU101はその他処理を行い(S104)、処理をステップS102に移行させて再びパネル処理を行う。ステップS102〜S104の処理は、カラオケ装置100の電源が遮断されるまで繰り返し実行され、これにより適宜キー状態が認識され、タスク管理が行われることによってマルチタスク処理が行われる。
When the panel processing ends, task management processing is performed (S103). The task management process is a process for changing the state of each task based on the priority, and the task management process will be described in detail later with reference to FIG. When the task management process ends, the
(2)演奏準備処理
次に、図11は、メインシーケンサあるいはサブシーケンサにおける演奏開始が指示された場合の演奏準備処理を示すフローチャートである。なお、メインシーケンサによる演奏は、例えばスタートキー114が操作された場合や、先にキューイングされていた曲の演奏が終了した後に開始される。サブシーケンサによる演奏は、次曲確認キー115が操作された場合に開始される。
(2) Performance Preparation Processing Next, FIG. 11 is a flowchart showing performance preparation processing when an instruction to start performance in the main sequencer or sub-sequencer is given. The performance by the main sequencer is started, for example, when the start key 114 is operated or after the performance of the previously queued music is finished. The performance by the sub-sequencer is started when the next music confirmation key 115 is operated.
以下、メインシーケンサの演奏準備処理を例として図11に示すフローチャートの説明を行う。演奏準備処理を開始すると、CPU101は、メインシーケンサタスクが未登録状態であるか否かを判別し(S201)、未登録状態ではないと判別した場合は、タスクが登録されてOSによって管理されている状態であると判別できるので、処理をメインルーチンに戻す。
In the following, the flowchart shown in FIG. 11 will be described taking the performance preparation processing of the main sequencer as an example. When the performance preparation process is started, the
ステップS201の判別において、メインシーケンサタスクが未登録状態であると判別した場合は(S201;YES)、タスク管理テーブルの設定を行う(S202)。演奏準備処理がメインシーケンサタスクであれば、優先度を高く設定して、メインシーケンサプログラムの読み出しアドレスを指定する(図7参照)。タスク管理テーブルの設定が終了すると、次に、メインシーケンサによって演奏する曲データを読み出すRAM103のアドレスをポインタMpにセットする(S203)。曲データはキューイング順に読み出されてRAM103上の曲データ記憶エリアAおよびBに交互に展開されており、メインシーケンサによって読み出すべき曲データが記憶されているアドレスを特定する必要がある。また、イベントデータは時間の経過に伴って順次実行されていくように構成されているので、次のタイミングにおいて実行するイベントデータが記憶されたアドレスも特定する必要がある。そこで本実施形態では、次に実行すべきイベントデータの記憶されたアドレスを示す変数であるポインタMpを用いて、イベントデータの実行を行う毎にポインタMpの値を更新するものとする。よし詳しくは、図12を参照しながら後に説明する。
If it is determined in step S201 that the main sequencer task is unregistered (S201; YES), the task management table is set (S202). If the performance preparation process is the main sequencer task, the priority is set high and the read address of the main sequencer program is designated (see FIG. 7). When the setting of the task management table is completed, the address of the
ポインタMpのセットが完了すると、次に、メインシーケンサタスクの状態を休止状態から実行可能状態に遷移させるタイミングをカウントするためのカウンタMcに、最初のイベントデータを実行するまでのΔtをセットする。本実施形態では、このカウンタMcの値をMIDIタイミングクロックに基づいてダウンカウントすることによって、時間の経過を判別できるようになっている。より詳しくは、図12を参照しながら後に説明する。なお、サブシーケンサであれば、上述の各変数はポインタSp、カウンタScとなる。 When the setting of the pointer Mp is completed, next, Δt until the first event data is executed is set in the counter Mc for counting the timing of transitioning the state of the main sequencer task from the sleep state to the executable state. In the present embodiment, the elapsed time can be determined by down-counting the value of the counter Mc based on the MIDI timing clock. More details will be described later with reference to FIG. In the case of a sub-sequencer, the above-described variables are a pointer Sp and a counter Sc.
(3)割り込み処理
本実施形態においては、メインシーケンサおよびサブシーケンサは、MIDIタイミングクロック毎に割り込み処理を行うことによって、所定のタイミングにおいて楽音生成処理を実行できるようになっている。MIDIタイミングクロックは、4分音符の符長を24分割したものであるので、割り込み時間間隔は曲のテンポによって異なる。テンポは、曲データによって指定されているが、図示せぬテンポ変更キーの操作によって変更することも可能である。テンポは曲毎に異なるので、メインシーケンサによって演奏する曲とサブシーケンサによって演奏する曲のテンポが異なる場合がある。そこで、本実施形態では、メインシーケンサのテンポに基づく割り込みと、サブシーケンサのテンポに基づく割り込みとをそれぞれ行っているものとし、以下、メインシーケンサのテンポに基づく割り込みを例として説明する。
(3) Interrupt processing In the present embodiment, the main sequencer and the sub-sequencer can execute a musical tone generation process at a predetermined timing by performing an interrupt process for each MIDI timing clock. Since the MIDI timing clock is a quarter note divided by 24, the interrupt time interval differs depending on the tempo of the song. The tempo is specified by the music data, but can be changed by operating a tempo change key (not shown). Since the tempo differs for each song, the tempo of the song played by the main sequencer and the song played by the sub sequencer may be different. Therefore, in the present embodiment, it is assumed that an interrupt based on the tempo of the main sequencer and an interrupt based on the tempo of the sub sequencer are performed, respectively. Hereinafter, an interrupt based on the tempo of the main sequencer will be described as an example.
図12は、割り込み処理の内容を示すフローチャートである。割り込み処理が起動すると、CPU101は、まずメインシーケンサタスクが休止状態であるか否かを判別する(S301)。ここで、休止状態ではないと判別した場合は(S301;NO)、すでにタスクが起動しており、タスクを実行可能状態に遷移させる処理を行う必要がないので、処理をメインルーチンに戻す。一方、ステップS301の判別において、タスクが休止状態であると判別した場合は(S301;YES)、カウンタMc=0であるか否か、すなわち、イベントデータを実行すべきタイミングであるか否かを判別する(S302)。
FIG. 12 is a flowchart showing the contents of the interrupt process. When the interrupt process is activated, the
ステップS302の判別において、Mc≠0と判別した場合は(S302;NO)、Mc=Mc−1を実行してカウンタMcの値を1ダウンカウントする(S303)。先に説明したように、演奏準備処理においてカウンタMcには、最初のイベントデータまでのΔtがセットされており、割り込み処理は1MIDIタイミングクロック毎に起動されるので、ステップS303によるダウンカウントにより経過時間を認識できるようになっている。 If it is determined in step S302 that Mc ≠ 0 (S302; NO), Mc = Mc-1 is executed and the value of the counter Mc is counted down by 1 (S303). As described above, since Δt up to the first event data is set in the counter Mc in the performance preparation process, and the interrupt process is started every 1 MIDI timing clock, the elapsed time is counted by the down-count in step S303. Can be recognized.
一方、ステップS302の判別において、Mc=0であると判別した場合は(S201;YES)、Δtが経過したと判別できので、次にメインシーケンサタスクを実行可能状態に遷移させる(S304)。このステップにおいて実行可能状態となったタスクは、後に説明するタスク管理処理(図13)において、優先度に従って実行状態に遷移するようになる。タスクを実行可能状態に遷移させると、次にイベントデータを実行すべきタイミングまでのΔtをカウンタMcにセットし(S305)、次に実行すべきイベントデータの読み出しアドレスをポインタMpにセットして(S306)、処理をメインルーチンに戻す。図12に示した割り込み処理は、MIDIタイミングクロック毎に起動されるが、カウンタのダウンカウント処理(S303)は、タスクが休止状態である場合にのみ実行されるので、タスクが実行状態である場合や実行可能状態や待ち状態としてとして待機している場合にはカウントは進まないようになっている。 On the other hand, if it is determined in step S302 that Mc = 0 (S201; YES), it can be determined that Δt has elapsed, and the main sequencer task is then transitioned to an executable state (S304). The task that is in an executable state in this step transitions to an execution state according to priority in a task management process (FIG. 13) described later. When the task is changed to an executable state, Δt until the next timing at which event data should be executed is set in the counter Mc (S305), and the read address of event data to be executed next is set in the pointer Mp ( (S306) The process is returned to the main routine. The interrupt process shown in FIG. 12 is started every MIDI timing clock, but the counter down-count process (S303) is executed only when the task is in the dormant state, so the task is in the execution state. In addition, the count is not advanced when waiting as an executable state or a wait state.
(4)タスク管理処理
次に図13を参照しながら、タスク管理処理(図10:103)の詳細について説明する。タスク管理処理が開始すると、CPU101は、実行状態のタスクがあるか否かを判別する(S401)。登録されている各タスクの状態は、図7に示したタスク管理テーブル中のタスク状態フラグを参照することによって認識することができる。ステップS401の判別において、実行状態のタスクがないと判別した場合は(S401;NO)、次に、実行可能状態のタスクがあるか否かを判別し(S402)、実行可能状態のタスクもないと判別した場合は(S402;NO)、タスク管理処理において状態遷移させるべきタスクは存在しないと判別できるので、処理をそのままメインルーチンに戻す。ステップS402の判別において、実行可能状態のタスクがあると判別した場合は(S402;YES)、次に、実行可能状態タスクが複数であるか否かを判別し(S403)、複数ではないと判別した場合は(S403;NO)、一つのタスクのみが実行可能状態であり、優先度を考慮する必要がないので、当該タスクを実行状態に遷移させて(S404)、処理をメインルーチンに戻す。
(4) Task Management Processing Next, details of the task management processing (FIG. 10: 103) will be described with reference to FIG. When the task management process is started, the
一方、ステップS403の判別において、実行可能状態のタスクが複数であると判別した場合には(S403;YES)、優先度の最も高いタスクを実行状態に遷移させて(S405)、処理をメインルーチンに戻す。次に、ステップS401の判別において実行状態のタスクがあると判別した場合(S401;YES)について説明する。CPU101は、まず、実行可能状態の他タスクがあるか否かを判別し(S406)、実行可能状態の他タスクが無いと判別した場合は(S406;NO)、次に、実行状態であるタスクを終了するか否かを判別する(S407)。ここでは、図示せぬ終了キーが操作された場合や、演奏終了を示すイベントデータが実行された場合に、タスク終了と判別する。
On the other hand, if it is determined in step S403 that there are a plurality of tasks in the executable state (S403; YES), the task having the highest priority is shifted to the execution state (S405), and the process is performed in the main routine. Return to. Next, a case where it is determined in step S401 that there is a task in an execution state (S401; YES) will be described. The
ステップS407の判別において、実行状態のタスクを終了すべきではないと判別した場合は(S407;NO)、タスク管理処理において状態遷移させるべきタスクは存在しないと判別できるので、処理をそのままメインルーチンに戻す。一方、ステップS407の判別において、実行状態のタスクを終了すべきであると判別した場合には(S407;YES)、当該タスクを休止状態に遷移させ(S408)、次に、待ち状態となっている他タスクがあるか否かを判別する(S409)。ステップS409の判別において、待ち状態の他タスクがないと判別した場合には(S409;NO)、状態遷移させるべきタスクがないのでメインルーチンに処理を戻すが、待ち状態のタスクがあると判別した場合は(S409;YES)、当該タスクを実行可能状態に遷移させてから(S410)、処理をメインルーチンに戻す。 If it is determined in step S407 that the task in the execution state should not be terminated (S407; NO), it can be determined that there is no task whose state should be changed in the task management process, so that the process is directly transferred to the main routine. return. On the other hand, if it is determined in step S407 that the task in the execution state should be terminated (S407; YES), the task is transitioned to the dormant state (S408), and then enters a wait state. It is determined whether there are other tasks that are present (S409). If it is determined in step S409 that there is no other task in the waiting state (S409; NO), the process is returned to the main routine because there is no task to be changed in state, but it is determined that there is a task in the waiting state. In this case (S409; YES), the task is changed to an executable state (S410), and the process is returned to the main routine.
ところで、ステップS406の判別において、実行可能状態の他タスクがあると判別した場合は(S406;YES)、次に、当該実行可能状態タスクが実行状態タスクよりも優先度が高いか否かを判別する(S411)。ここで、実行可能状態タスクが実行状態タスクよりも優先度が低いと判別した場合は(S411;NO)、実行状態タスクの実行を継続すべきであり、遷移させるべきタスクがないと判別できるので、メインルーチンに処理を戻す。一方、ステップS411の判別において、行可能状態タスクが実行状態タスクよりも優先度が高いと判別した場合は(S411;YES)、実行状態のタスクを中断して(S412)、待ち状態に遷移させる(S413)。そして、実行可能状態の他タスクを実行状態に遷移させ(S414)、処理をメインルーチンに戻す。 By the way, if it is determined in step S406 that there is another task in the executable state (S406; YES), then it is determined whether the executable state task has a higher priority than the execution state task. (S411). Here, if it is determined that the executable state task has a lower priority than the execution state task (S411; NO), the execution of the execution state task should be continued, and it can be determined that there is no task to be changed. Return processing to the main routine. On the other hand, if it is determined in step S411 that the ready state task has a higher priority than the execution state task (S411; YES), the execution state task is interrupted (S412), and a transition is made to the wait state. (S413). Then, another task in the executable state is shifted to the execution state (S414), and the process returns to the main routine.
2−3.実施形態の具体的動作
次に、図10〜図13に示した処理を循環することによって、行われる実施形態の具体的動作について図14に示すタイムチャートを参照しながら説明する。図14に示すタイムチャートは、曲データによって指示される状態と、上記実施形態における状態と、従来技術における状態とを比較してたものである。曲データが指示する状態とは、当該曲データによる楽音生成処理を単独で行った場合のタイムチャートである。図14においては、メインシーケンサおよびサブシーケンサのそれぞれによって読み出される曲データについてそれぞれ図示している。
2-3. Specific Operation of Embodiment Next, the specific operation of the embodiment performed by circulating the processing shown in FIGS. 10 to 13 will be described with reference to the time chart shown in FIG. The time chart shown in FIG. 14 is a comparison between the state indicated by the song data, the state in the above embodiment, and the state in the prior art. The state indicated by the song data is a time chart in the case where the tone generation process using the song data is performed independently. In FIG. 14, music data read by each of the main sequencer and the sub-sequencer are shown.
上記実施形態においては、メインシーケンサタスクの優先度はサブシーケンサタスクの優先度よりも高いので、例えばイベントIm1にかかるタスクが実行状態であるときに、イベントIs1にかかるタスクが実行可能状態に遷移しても、処理は中断されず、イベントIm1にかかるタスクが終了してからイベントIS1にかかるタスクが実行状態になる。そして、サブシーケンサタスク(イベントIs1にかかるタスク)が実行状態であっても、優先度の高いメインシーケンサタスク(イベントIm2にかかるタスク)が実行可能状態となった場合には、サブシーケンサタスクを中断して待ち状態とし、先にメインシーケンサタスクを実行状態とするので、イベントIm2は曲データが指示するタイミング通りに実行されることになる。 In the above embodiment, since the priority of the main sequencer task is higher than the priority of the sub sequencer task, for example, when the task related to the event Im1 is in the execution state, the task related to the event Is1 transitions to the executable state. However, the processing is not interrupted, and the task related to the event IS1 becomes the execution state after the task related to the event Im1 is completed. Even if the sub-sequencer task (task related to event Is1) is in the execution state, if the main sequencer task (task related to event Im2) with a high priority becomes executable, the sub-sequencer task is suspended. Since the main sequencer task is executed first, the event Im2 is executed according to the timing indicated by the song data.
これに対して従来技術における状態では、優先度に応じた処理を行うことはできないので、タスクが重複する場合には、先に実行可能状態となったタスクが終了してから、後に実行可能状態となったタスク(イベントIs1)が実行状態になる。そして、先に実行状態であったサブシーケンサタスク(イベントIs1にかかるタスク)が終了してから、後に実行可能状態となったメインシーケンサタスク(イベントIm2にかかるタスク)が実行可能状態になるので、図14に示すように、イベントIm2は曲データが指示するタイミングよりも遅れて実行されるようになる。曲データが指示するイベント間のΔtは、イベントが実行されてからの時間間隔であるから、あるイベントの実行が遅れるに従って、次のイベントの実行も遅れていくようになる。 On the other hand, in the state of the prior art, processing according to priority cannot be performed. Therefore, when tasks overlap, the task that can be executed first ends, and then it can be executed later. The task that has become (event Is1) becomes an execution state. Then, after the sub-sequencer task (task related to event Is1) that was in the execution state first ends, the main sequencer task (task related to event Im2) that became executable later becomes the executable state. As shown in FIG. 14, the event Im2 is executed later than the timing indicated by the song data. Since Δt between events indicated by the song data is a time interval after the event is executed, the execution of the next event is delayed as the execution of a certain event is delayed.
このように、従来技術においては、メインシーケンサタスクによる実行およびサブシーケンサタスクによる実行は、いずれもが遅延していく場合が生じやすいのに比べ、本実施形態においては、サブシーケンサタスクによる実行のみが遅延していくようになる。本実施形態では、メインシーケンサタスクによって生成される楽曲は、カラオケ演奏としてスピーカ120から出力される演奏となり、ディスプレイ106に表示される歌詞および歌詞の色替えと同期するものであるから、多少の遅延でも使用者に違和感を与える。これに対してサブシーケンサタスクによる楽音信号生成は、次曲確認のためにヘッドフォン130で聴くための演奏であり、演奏が遅延していっても、それほど違和感は与えない。
Thus, in the prior art, execution by the main sequencer task and execution by the sub-sequencer task are likely to be delayed, but in this embodiment, only execution by the sub-sequencer task is performed. It will be delayed. In the present embodiment, the music generated by the main sequencer task is a performance output from the speaker 120 as a karaoke performance, and is synchronized with the lyrics displayed on the
3.変形例
なお、本発明は既述した実施形態に限定されるものではなく、以下のような各種の変形が可能である。
3. Modifications The present invention is not limited to the above-described embodiments, and various modifications as described below are possible.
上記実施形態においては、優先度を「高」と「低」との2段階を用いて説明したが、優先度の段階はさらに細分化して設定できるようにしてもよい。例えば、優先度を示す数値を1〜10などと設定できるようにして、数値の小さいタスクを数値の大きなタスクよりも優先して実行するようにしてもよい。また、上記実施形態では、メインシーケンサとサブシーケンサの2種類のタスクを用いて説明したが、時間情報を参照して行う処理であればどのような処理でもよく、マルチタスクは上述の2種類に限定されるものではなく、例えば歌詞の色替え処理や、楽音に効果を付与するエフェクト処理など他の処理であっても構わない。 In the above embodiment, the priority has been described using two levels of “high” and “low”, but the priority level may be further subdivided and set. For example, a numerical value indicating the priority may be set to 1 to 10 or the like, and a task with a small numerical value may be executed in preference to a task with a large numerical value. In the above embodiment, the two types of tasks, the main sequencer and the sub sequencer, have been described. However, any processing can be performed as long as the time information is referred to, and the multitask can be divided into the above two types. The present invention is not limited, and other processes such as, for example, a color change process for lyrics and an effect process for giving an effect to a musical sound may be used.
上記実施形態においては、カラオケ装置100は2つの音源(メイン音源107、サブ音源108)を備えるものとして説明したが、1つの音源をメインシーケンサとサブシーケンサで共有するように構成しても構わないし、3つ以上の音源を備えていても構わない。
In the above embodiment, the karaoke apparatus 100 has been described as including two sound sources (the main
各タスクの優先度を決定する手段は、予め重い処理となることが予想されているものの優先度を高く設定するように決定されていても構わない。上記実施形態においては、メインシーケンサタスクは、ディスプレイ106に歌詞や背景映像を表示させる処理と同期して行わなければならないので、予め優先度を高く設定している。上記実施形態においては、説明を省略しているが、曲データ中には、イベントデータやΔtデータと対応して歌詞表示を指示するデータも含まれているものとする。なお、曲データ中のイベントデータは、上記実施形態のようにMIDI規格に基づいて作成されたものに限らず、楽曲演奏処理内容をデジタルデータによって指示することができればどのような規格であってもよい。イベントデータが指示する楽曲演奏処理内容には、発音や消音のような基本的な処理の他、残響音やバックコーラスなどの効果を付与する処理があってもよい。このような効果処理が多いほど、重い処理となると判断するようにしてもよい。
The means for determining the priority of each task may be determined so as to set a high priority even though it is expected to be a heavy process in advance. In the above embodiment, the main sequencer task has to be performed in synchronization with the process of displaying the lyrics and the background video on the
また、イベント間の時間間隔を示すΔtデータは、上記実施形態のようにMIDIタイミングクロックを用いて記述することに限らず、他のクロック数を用いても構わないし、絶対時間を用いても構わない。あるいは、曲データ中に優先度を指定するデータを記述してもよいし、曲のテンポに応じて決定するようにしてもよい。上述のように、MIDIタイミングクロック間の時間間隔(割り込み時間間隔)はテンポに応じて異なるので、テンポの速い曲は単位時間あたりの割り込み回数が多くなり、テンポの遅い曲は単位時間あたりの割り込み回数が少なくなるからである。また、演奏が開始してからユーザ操作によって優先度を変更できるようにしてもよい。 In addition, the Δt data indicating the time interval between events is not limited to being described using the MIDI timing clock as in the above-described embodiment, and other clock numbers may be used or absolute time may be used. Absent. Alternatively, data specifying the priority may be described in the music data, or may be determined according to the music tempo. As described above, since the time interval (interrupt time interval) between MIDI timing clocks differs depending on the tempo, songs with a fast tempo have more interrupts per unit time, and songs with a slow tempo have an interrupt per unit time. This is because the number of times decreases. Further, the priority may be changed by a user operation after the performance is started.
上記実施形態のように1台のカラオケ装置における処理に限らず、例えば複数のカラオケ制御装置を用いて複数のカラオケ装置を制御するような場合でも、本発明は適用可能である。例えば、1台のサーバをコントロールルームに設置して、演奏用端末装置を各部屋に設置するカラオケボックスシステムにおいて、テンポの早い曲を演奏する端末用タスクの優先度を高くして、テンポの遅い曲を演奏する端末用タスクの優先度を低くするようにしてもよい。 The present invention is applicable not only to the processing in one karaoke apparatus as in the above embodiment, but also to controlling a plurality of karaoke apparatuses using a plurality of karaoke control apparatuses, for example. For example, in a karaoke box system in which one server is installed in a control room and a performance terminal device is installed in each room, the priority of a terminal task for playing a song with a fast tempo is increased and the tempo is slow. You may make it lower the priority of the task for terminals which plays music.
100…カラオケ装置、101…CPU、102…ROM、103…RAM、104…HDD、105…表示制御部、106…ディスプレイ、107…メイン音源、108…サブ音源、109…パネルインターフェイス、110…パネル、111…LED表示部、112…テンキー、113…セットキー、114…スタートキー、115…次曲確認キー。 DESCRIPTION OF SYMBOLS 100 ... Karaoke apparatus, 101 ... CPU, 102 ... ROM, 103 ... RAM, 104 ... HDD, 105 ... Display control part, 106 ... Display, 107 ... Main sound source, 108 ... Sub sound source, 109 ... Panel interface, 110 ... Panel, 111 ... LED display section, 112 ... numeric keypad, 113 ... set key, 114 ... start key, 115 ... next song confirmation key.
Claims (2)
メイン音源において楽曲を生成するためのメインシーケンサプログラムと、サブ音源において楽曲を生成するためのサブシーケンサプログラムと、前記メインシーケンサプログラム及びサブシーケンサプログラム以外のアプリケーションプログラムとを記憶するプログラム記憶手段と、
前記アプリケーションプログラムに基づくタスク、前記メインシーケンサプログラムに基づくタスクであって前記アプリケーションプログラムに基づくタスクと同期して行われるメインシーケンサタスク、及び前記サブシーケンサプログラムに基づくタスクであって前記アプリケーションプログラムに基づくタスクと同期して行われないサブシーケンサタスクについて、各々のタスクの内容を指示する処理情報及び当該タスクに対応する時間を指示する時間情報を含むタスク情報を記憶するタスク情報記憶手段と、
前記タスク情報中の処理情報及び時間情報を参照しながら同時に複数のタスクを行うタスク実行手段と、
前記メインシーケンサタスクの優先度を前記サブシーケンサタスクの優先度よりも高くするよう、前記タスク実行手段において行われる前記タスクの優先度を設定する優先度設定手段と、
前記タスク実行手段によりタスクが行われている場合に、前記優先度設定手段によって当該タスクよりも低い優先度に設定されたタスクが実行可能な状態になったときには、前記タスク実行手段が行っているタスクを継続して行わせ、前記タスク実行手段によりタスクが行われている場合に、前記優先度設定手段によって当該タスクよりも高い優先度に設定されたタスクが実行可能な状態になったときには、前記タスク実行手段が行っているタスクを中断させて、当該高い優先度に設定されたタスクを行わせるよう制御する制御手段と
を備えることを特徴とするカラオケ装置。 A karaoke apparatus that performs a plurality of tasks by multitask processing,
A main sequencer program for generating music in the main sound source, a sub-sequencer program for generating music in the sub-sound source, and a program storage means for storing application programs other than the main sequencer program and the sub-sequencer program;
Tasks based on the application program, the main sequencer task is performed in synchronism with the task based on the I task der application program based on the main sequencer program and the application program What tasks der based on the sub-sequence program about sub sequencer task not performed in synchronization with the task-based, and task information storage means for storing task information including time information indicating a time corresponding to the processing information and the task to instruct the content of each of the tasks ,
Task execution means for simultaneously performing a plurality of tasks while referring to processing information and time information in the task information;
Priority setting means for setting the priority of the task performed in the task execution means so that the priority of the main sequencer task is higher than the priority of the sub-sequencer task;
When the task is executed by the task execution unit, the task execution unit performs when the task set by the priority setting unit has a lower priority than the task. When the task is continuously performed and the task is performed by the task execution unit, when the task set to a higher priority than the task by the priority setting unit becomes executable, A karaoke apparatus comprising: control means for controlling the task set by the task execution means to be interrupted and to perform the task set at the high priority.
前記アプリケーションプログラムに基づくタスク、前記メインシーケンサプログラムに基づくタスクであって前記アプリケーションプログラムに基づくタスクと同期して行われるメインシーケンサタスク、及び前記サブシーケンサプログラムに基づくタスクであって前記アプリケーションプログラムに基づくタスクと同期して行われないサブシーケンサタスクについて、各々のタスクの内容を指示する処理情報及び当該タスクに対応する時間を指示する時間情報を含むタスク情報を記憶するタスク情報記憶手段と、
前記タスク情報中の処理情報及び時間情報を参照しながら同時に複数のタスクを行うタスク実行手段と、
前記メインシーケンサタスクの優先度を前記サブシーケンサタスクの優先度よりも高くするよう、前記タスク実行手段において行われる前記タスクの優先度を設定する優先度設定手段と、
前記タスク実行手段によりタスクが行われている場合に、前記優先度設定手段によって当該タスクよりも低い優先度に設定されたタスクが実行可能な状態になったときには、前記タスク実行手段が行っているタスクを継続して行わせ、前記タスク実行手段によりタスクが行われている場合に、前記優先度設定手段によって当該タスクよりも高い優先度に設定されたタスクが実行可能な状態になったときには、前記タスク実行手段が行っているタスクを中断させて、当該高い優先度に設定されたタスクを行わせるよう制御する制御手段と
を備えることを特徴とするカラオケ装置。 A main sequencer program for generating music as karaoke performance in the main sound source, a sub-sequencer program for generating music next to the music generated by the main sequencer task in the sub sound source, the main sequencer program, and the sub Program storage means for storing application programs other than the sequencer program;
Tasks based on the application program, the main sequencer task is performed in synchronism with the task based on the I task der application program based on the main sequencer program and the application program What tasks der based on the sub-sequence program about sub sequencer task not performed in synchronization with the task-based, and task information storage means for storing task information including time information indicating a time corresponding to the processing information and the task to instruct the content of each of the tasks ,
Task execution means for simultaneously performing a plurality of tasks while referring to processing information and time information in the task information;
Priority setting means for setting the priority of the task performed in the task execution means so that the priority of the main sequencer task is higher than the priority of the sub-sequencer task;
When the task is executed by the task execution unit, the task execution unit performs when the task set by the priority setting unit has a lower priority than the task. When the task is continuously performed and the task is performed by the task execution unit, when the task set to a higher priority than the task by the priority setting unit becomes executable, A karaoke apparatus comprising: control means for controlling the task set by the task execution means to be interrupted and to perform the task set at the high priority.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008265782A JP4720893B2 (en) | 2008-10-14 | 2008-10-14 | Karaoke equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008265782A JP4720893B2 (en) | 2008-10-14 | 2008-10-14 | Karaoke equipment |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP01902299A Division JP4477159B2 (en) | 1999-01-27 | 1999-01-27 | Karaoke equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009048207A JP2009048207A (en) | 2009-03-05 |
JP4720893B2 true JP4720893B2 (en) | 2011-07-13 |
Family
ID=40500407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008265782A Expired - Fee Related JP4720893B2 (en) | 2008-10-14 | 2008-10-14 | Karaoke equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4720893B2 (en) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10507543A (en) * | 1994-10-12 | 1998-07-21 | テクニカル・メインテナンス・コーポレイシヨン | Communication method for intelligent digital audiovisual playback system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2936872B2 (en) * | 1992-03-04 | 1999-08-23 | ヤマハ株式会社 | Music control device |
JPH05333889A (en) * | 1992-05-29 | 1993-12-17 | Victor Co Of Japan Ltd | Multiple karaoke system |
JP2751135B2 (en) * | 1993-06-30 | 1998-05-18 | 日本コロムビア株式会社 | Karaoke system |
JPH0728484A (en) * | 1993-07-07 | 1995-01-31 | Sony Corp | Remote controller for karaoke (orchestration without lyrics) with introduction playing function |
JP3324837B2 (en) * | 1993-09-08 | 2002-09-17 | ブラザー工業株式会社 | Singing sound generator and singing operation unit |
JP3596048B2 (en) * | 1994-09-27 | 2004-12-02 | ヤマハ株式会社 | Automatic accompaniment device |
JPH08320694A (en) * | 1995-05-26 | 1996-12-03 | Ekushingu:Kk | Music playback device |
FR2753868A1 (en) * | 1996-09-25 | 1998-03-27 | Technical Maintenance Corp | METHOD FOR SELECTING A RECORDING ON AN AUDIOVISUAL DIGITAL REPRODUCTION SYSTEM AND SYSTEM FOR IMPLEMENTING THE METHOD |
JPH10319977A (en) * | 1997-05-15 | 1998-12-04 | Daiichi Kosho:Kk | Karaoke (sign-along machine) playing device and portable test hearing terminal for karaoke |
JPH10187177A (en) * | 1997-10-30 | 1998-07-14 | Yamaha Corp | Lyrics display device for karaoke |
-
2008
- 2008-10-14 JP JP2008265782A patent/JP4720893B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10507543A (en) * | 1994-10-12 | 1998-07-21 | テクニカル・メインテナンス・コーポレイシヨン | Communication method for intelligent digital audiovisual playback system |
Also Published As
Publication number | Publication date |
---|---|
JP2009048207A (en) | 2009-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3198890B2 (en) | Automatic performance data processor | |
JP6260191B2 (en) | Electronic musical instrument, program and pronunciation pitch selection method | |
EP3550555A1 (en) | Electronic musical instrument, method, and storage medium | |
CN105590620B (en) | Processing device, processing method, and electronic musical instrument | |
EP3379526B1 (en) | Musical sound generation device, musical sound generation method and electronic instrument | |
JPH09325778A (en) | Music sound generating method | |
JP3922224B2 (en) | Automatic performance device and program | |
JP4720893B2 (en) | Karaoke equipment | |
JP5915420B2 (en) | Musical sound generating device, musical sound generating method, electronic musical instrument and program | |
JP4477159B2 (en) | Karaoke equipment | |
JP5375868B2 (en) | Playback method switching device, playback method switching method, and program | |
JP6455189B2 (en) | Waveform reading apparatus, method, program, and electronic musical instrument | |
JP3637577B2 (en) | Music generation method | |
JP3725247B2 (en) | Music generation processing method | |
JP6357772B2 (en) | Electronic musical instrument, program and pronunciation pitch selection method | |
JP4241833B2 (en) | Automatic performance device and program | |
JP4572980B2 (en) | Automatic performance device and program | |
JP2006030841A (en) | Operation input device | |
JP2005215709A (en) | Musical sound generating device | |
JP6606839B2 (en) | Waveform writing apparatus, method, program, and electronic musical instrument | |
JP3705203B2 (en) | Music generation method | |
JP5652356B2 (en) | Sound source control device and sound source control program | |
JP6464824B2 (en) | Music performance device and music performance program | |
JP5445802B2 (en) | Karaoke remote control device and program for karaoke remote control device | |
JP2001318672A (en) | Musical sound generator |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101203 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20101214 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110214 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110308 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110321 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140415 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |