(57)【特許請求の範囲】
【請求項１】
曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、
複数の画像データを記憶する画像データ記憶手段と、
前記曲データ記憶手段からリズム音を表す曲データを抽出する抽出手段と、
前記抽出手段により抽出されたリズム音の曲データの中から第１のリズム音を検索し、当該第１のリズム音に該当する曲データを第１の切替点に設定する第１の設定手段と、
前記抽出手段により抽出されたリズム音の曲データの中から第２のリズム音を検索し、当該第２のリズム音に該当する曲データを第２の切替点に設定する第２の設定手段と、
前記曲データ記憶手段に記憶される曲データを再生する一方、前記第２の切替点となる第２のリズム音が再生される毎に、表示画面をクリアするとともに前記画像データ記憶手段に記憶される前記複数の画像データのいずれかひとつを表示し、前記第２のリズム音が再生された直後に前記第１の切替点となる第１のリズム音が再生された場合のみ前記表示画面をクリアするとともに、前記第１のリズム音が再生される毎に前記画像データ記憶手段に記憶される前記複数の画像データを縮小画像データに変換して表示画面のランダムな位置に表示する再生手段と
を具備することを特徴とする再生装置。
【請求項２】
前記第１の設定手段は、第１のリズム音が連続して検索された場合に、それら第１のリズム音をそれぞれ表す曲データに第１の切替点を表すデータを付与する付与手段を備えることを特徴とする請求項１記載の再生装置。
【請求項３】
前記第１の設定手段は、第１のリズム音が連続して検索された場合に、その連続する第１のリズム音間の発音タイミング差が所定時間以下ならば、それら第１のリズム音をそれぞれ表す曲データに第１の切替点を表すデータを付与する付与手段を備えることを特徴とする請求項１記載の再生装置。
【請求項４】
前記第２の設定手段は、第２のリズム音が検索された場合に、当該第２のリズム音を表す曲データに第２の切替点を表すデータを付与する付与手段を備えることを特徴とする請求項１記載の再生装置。
【請求項５】
曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、
複数の画像データを記憶する画像データ記憶手段と、
前記曲データ記憶手段からリズム音を表す曲データを抽出する抽出手段と、
前記抽出手段に抽出されたリズム音の曲データの中で所定時間以下の発音タイミング差で連続するリズム音の曲データを第１の切替点に設定し、所定時間より長い発音タイミング差で連続するリズム音の曲データを第２の切替点に設定する設定手段と、
前記曲データ記憶手段に記憶される曲データを再生すると共に、前記第２の切替点となる第２のリズム音が再生される毎に、表示画面をクリアするとともに前記画像データ記憶手段に記憶される前記複数の画像データのいずれかひとつを表示し、前記第２のリズム音が再生された直後に前記第１の切替点となる第１のリズム音が再生された場合のみ前記表示画面をクリアするとともに、前記第１のリズム音が再生される毎に前記画像データ記憶手段に記憶される前記複数の画像データを縮小画像データに変換して表示画面のランダムな位置に表示する再生手段と
を具備することを特徴とする再生装置。
【請求項６】
コンピュータに、
曲を構成する各音を表す曲データの中からリズム音を表す曲データを抽出する抽出ステップと、
前記抽出ステップにて抽出されたリズム音を表す曲データの中から第１のリズム音を検索し、当該第１のリズム音に該当する曲データを第１の切替点に設定する第１の設定ステップと、
前記抽出ステップにて抽出されたリズム音を表す曲データの中から第２のリズム音を検索し、当該第２のリズム音に該当する曲データを第２の切替点に設定する第２の設定ステップと、
曲を構成する各音を表す曲データを再生する一方、前記第２の切替点となる第２のリズム音が再生される毎に、表示画面をクリアするとともに前記画像データ記憶手段に記憶される前記複数の画像データのいずれかひとつを表示し、前記第２のリズム音が再生された直後に前記第１の切替点となる第１のリズム音が再生された場合のみ前記表示画面をクリアするとともに、前記第１のリズム音が再生される毎に前記画像データ記憶手段に記憶される前記複数の画像データを縮小画像データに変換して表示画面のランダムな位置に表示する再生ステップと
を実行させることを特徴とするプログラム。
【請求項７】
コンピュータに、
曲を構成する各音を表す曲データからリズム音を表す曲データを抽出する抽出ステップと、
前記抽出ステップにて抽出されたリズム音を表す曲データの内、所定時間以下の発音タイミング差で連続するリズム音の曲データを第１の切替点に設定し、所定時間より長い発音タイミング差で連続するリズム音の曲データを第２の切替点に設定する設定ステップと、
曲を構成する各音を表す曲データを再生する一方、前記第２の切替点となる第２のリズム音が再生される毎に、表示画面をクリアするとともに前記画像データ記憶手段に記憶される前記複数の画像データのいずれかひとつを表示し、前記第２のリズム音が再生された直後に前記第１の切替点となる第１のリズム音が再生された場合のみ前記表示画面をクリアするとともに、前記第１のリズム音が再生される毎に前記画像データ記憶手段に記憶される前記複数の画像データを縮小画像データに変換して表示画面のランダムな位置に表示する再生ステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、曲再生に合わせて静止画像を順番に画面表示する、所謂スライドショー機能を有する再生装置およびプログラムに関する。
【背景技術】
【０００２】
デジタルフォトフレームと呼ばれ、メモリに曲データおよび複数の静止画像データ（以下、画像データと略称する）を記憶しておき、その曲データをＢＧＭとして再生しながら複数の画像データを順番に再生（画面表示）するスライドショーを行う再生装置が知られている。
【０００３】
この種の装置として、例えば特許文献１には、曲データからスライドショー切り替え候補点（曲調転換点や曲構成の区切り）を検出し、その中からスライドショー再生する画像の枚数と同数であって、１画像当たりの再生時間が出来限り均等になるスライドショー切り替え候補点を選択する。そして、曲データをＢＧＭとして再生する際に、選択したスライドショー切り替え候補点に同期して画像を順番に切り替えてスライドショー再生することによって、曲再生時間と全ての画像をスライドショー再生する時間とを一致させ、かつ曲調転換点や曲構成の区切りで画像切り替えする装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２０８４５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、上記特許文献１に開示の装置では、ＢＧＭとして再生される曲の内容にかかわらず、当該曲から抽出した画像切り替え区間当たり一つの画像を画面表示するスライドショー再生を行う為、見ていて物足りなさや単調さを覚えてしまう。すなわち、換言すれば、ＢＧＭとして再生される曲の内容に応じて、ある曲区間では複数枚の画像を同時に画面表示させたり、又ある曲区間では画像を一つずつ画面表示させたりして変化に富んだスライドショー再生を行うことが出来ない、という問題がある。
【０００６】
本発明は、このような事情に鑑みてなされたもので、変化に富んだスライドショー再生を具現することができる再生装置およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１に記載の発明では、曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、複数の画像データを記憶する画像データ記憶手段と、前記曲データ記憶手段からリズム音を表す曲データを抽出する抽出手段と、前記抽出手段により抽出されたリズム音の曲データの中から第１のリズム音を検索し、当該第１のリズム音に該当する曲データを第１の切替点に設定する第１の設定手段と、前記抽出手段により抽出されたリズム音の曲データの中から第２のリズム音を検索し、当該第２のリズム音に該当する曲データを第２の切替点に設定する第２の設定手段と、前記曲データ記憶手段に記憶される曲データを再生する一方、前記第２の切替点となる第２のリズム音が再生される毎に、表示画面をクリアするとともに前記画像データ記憶手段に記憶される前記複数の画像データのいずれかひとつを表示し、前記第２のリズム音が再生された直後に前記第１の切替点となる第１のリズム音が再生された場合のみ前記表示画面をクリアするとともに、前記第１のリズム音が再生される毎に前記画像データ記憶手段に記憶される前記複数の画像データを縮小画像データに変換して表示画面のランダムな位置に表示する再生手段と  を具備することを特徴とする。
【０００８】
上記請求項１に従属する請求項２に記載の発明では、前記第１の設定手段は、第１のリズム音が連続して検索された場合に、それら第１のリズム音をそれぞれ表す曲データに第１の切替点を表すデータを付与する付与手段を備えることを特徴とする。
【０００９】
上記請求項１に従属する請求項３に記載の発明では、前記第１の設定手段は、第１のリズム音が連続して検索された場合に、その連続する第１のリズム音間の発音タイミング差が所定時間以下ならば、それら第１のリズム音をそれぞれ表す曲データに第１の切替点を表すデータを付与する付与手段を備えることを特徴とする。
【００１０】
上記請求項１に従属する請求項４に記載の発明では、前記第２の設定手段は、第２のリズム音が検索された場合に、当該第２のリズム音を表す曲データに第２の切替点を表すデータを付与する付与手段を備えることを特徴とする。
【００１１】
請求項５に記載の発明では、曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、複数の画像データを記憶する画像データ記憶手段と、前記曲データ記憶手段からリズム音を表す曲データを抽出する抽出手段と、前記抽出手段に抽出されたリズム音の曲データの中で所定時間以下の発音タイミング差で連続するリズム音の曲データを第１の切替点に設定し、所定時間より長い発音タイミング差で連続するリズム音の曲データを第２の切替点に設定する設定手段と、前記曲データ記憶手段に記憶される曲データを再生すると共に、前記第２の切替点となる第２のリズム音が再生される毎に、表示画面をクリアするとともに前記画像データ記憶手段に記憶される前記複数の画像データのいずれかひとつを表示し、前記第２のリズム音が再生された直後に前記第１の切替点となる第１のリズム音が再生された場合のみ前記表示画面をクリアするとともに、前記第１のリズム音が再生される毎に前記画像データ記憶手段に記憶される前記複数の画像データを縮小画像データに変換して表示画面のランダムな位置に表示する再生手段とを具備することを特徴とする。
【００１２】
請求項６に記載の発明では、コンピュータに、曲を構成する各音を表す曲データの中からリズム音を表す曲データを抽出する抽出ステップと、前記抽出ステップにて抽出されたリズム音を表す曲データの中から第１のリズム音を検索し、当該第１のリズム音に該当する曲データを第１の切替点に設定する第１の設定ステップと、前記抽出ステップにて抽出されたリズム音を表す曲データの中から第２のリズム音を検索し、当該第２のリズム音に該当する曲データを第２の切替点に設定する第２の設定ステップと、曲を構成する各音を表す曲データを再生する一方、前記第２の切替点となる第２のリズム音が再生される毎に、表示画面をクリアするとともに前記画像データ記憶手段に記憶される前記複数の画像データのいずれかひとつを表示し、前記第２のリズム音が再生された直後に前記第１の切替点となる第１のリズム音が再生された場合のみ前記表示画面をクリアするとともに、前記第１のリズム音が再生される毎に前記画像データ記憶手段に記憶される前記複数の画像データを縮小画像データに変換して表示画面のランダムな位置に表示する再生ステップとを実行させることを特徴とする。
【００１３】
請求項７に記載の発明では、コンピュータに、曲を構成する各音を表す曲データからリズム音を表す曲データを抽出する抽出ステップと、前記抽出ステップにて抽出されたリズム音を表す曲データの内、所定時間以下の発音タイミング差で連続するリズム音の曲データを第１の切替点に設定し、所定時間より長い発音タイミング差で連続するリズム音の曲データを第２の切替点に設定する設定ステップと、曲を構成する各音を表す曲データを再生する一方、前記第２の切替点となる第２のリズム音が再生される毎に、表示画面をクリアするとともに前記画像データ記憶手段に記憶される前記複数の画像データのいずれかひとつを表示し、前記第２のリズム音が再生された直後に前記第１の切替点となる第１のリズム音が再生された場合のみ前記表示画面をクリアするとともに、前記第１のリズム音が再生される毎に前記画像データ記憶手段に記憶される前記複数の画像データを縮小画像データに変換して表示画面のランダムな位置に表示する再生ステップとを実行させることを特徴とする。
【発明の効果】
【００１４】
本発明では、変化に富んだスライドショー再生を具現することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態による再生装置１００の構成を示すブロック図である。
【図２】ＲＡＭ１２のメモリ構造を示すメモリマップである。
【図３】メインルーチンの動作を示すフローチャートである。
【図４】設定処理の動作を示すフローチャートである。
【図５】リズム情報抽出処理の動作を示すフローチャートである。
【図６】先頭小節情報抽出処理の動作を示すフローチャートである。
【図７】アクセント箇所サーチ処理の動作を示すフローチャートである。
【図８】スネア切替点設定処理の動作を示すフローチャートである。
【図９】スネア切替点設定処理の動作を示すフローチャートである。
【図１０】スネア切替点設定処理の動作を示すフローチャートである。
【図１１】小節移行処理の動作を示すフローチャートである。
【図１２】表示処理の動作を示すフローチャートである。
【図１３】表示処理の動作を示すフローチャートである。
【図１４】表示処理の動作を示すフローチャートである。
【図１５】第２実施形態によるスネア切替点設定処理の動作を示すフローチャートである。
【図１６】第２実施形態によるスネア切替点設定処理の動作を示すフローチャートである。
【図１７】第２実施形態によるスネア切替点設定処理の動作を示すフローチャートである。
【図１８】第３実施形態によるスネア切替点設定処理の動作を示すフローチャートである。
【図１９】第３実施形態によるスネア切替点設定処理の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について説明する。
［第１実施形態］
Ａ．構成  
図１は、本発明の第１実施形態による再生装置１００の全体構成を示すブロック図である。この図において、ＣＰＵ１０は、操作部１３が発生するスイッチイベントに応じて装置各部を制御するものであり、その特徴的な処理動作については追って詳述する。ＲＯＭ１１には、ＣＰＵ１０にロードされる各種プログラムのデータが記憶される。ここで言う各種プログラムとは、後述するメインルーチン、設定処理および表示処理を含む。なお、設定処理は、リズム情報抽出処理、先頭小節情報抽出処理、アクセント箇所サーチ処理、スネア切替点設定処理および小節移行処理から構成される。
【００１７】
ＲＡＭ１２は、ワークエリアおよびデータエリアを備える。ＲＡＭ１２のワークエリアには、ＣＰＵ１０の処理に用いられる各種レジスタ・フラグデータが一時記憶される。ＲＡＭ１２のデータエリアは、図２に図示するように、曲データエリアＭＤＥ、リズム情報抽出エリアＲＳＥおよび画像データエリアから構成される。以下、図２を参照して曲データエリアＭＤＥに格納される曲データおよびリズム情報抽出エリアＲＳＥに格納されるリズム情報の構成を説明する。
【００１８】
曲データエリアＭＤＥには、スライドショーのＢＧＭとして再生される曲データが記憶される。いわゆる絶対時間形式で形成される曲データは、曲を構成する各音等を表す一組のタイムおよびイベントが曲進行に対応した時系列のアドレス順に複数組記憶される。タイムは曲開始時点からの経過時間でイベントのタイミングを表す。音高要素を有する非リズム系の楽音を表すイベントは、ノートオン／ノートオフを識別する識別データ、ノートナンバ（音高）およびベロシティ（音量）から構成される。一方、音高要素を持たないリズム系の楽音を表すイベントは、ノートオンを識別する識別データ、リズム音色（クラッシュシンバル、スネアドラム等）およびベロシティ（音量）から構成される。
【００１９】
リズム情報抽出エリアＲＳＥには、後述するリズム情報抽出処理によって曲データエリアＭＤＥの曲データから抽出した一連のリズム情報が格納される。リズム情報は、曲データ中から抽出されるリズム系の楽音のタイムおよびイベントにアクセントフラグＡＦを付加し、（タイム、ＡＦ、イベント）を一組とするデータである。アクセントＡＦが意図するところについては追って述べる。画像データエリアＩＤＥには、スライドショー再生される複数枚の画像データ１〜ｎが格納される。
【００２０】
再び図１を参照して実施形態の構成を説明する。図１において、操作部１３は、例えば動作モードを選択するモード選択スイッチや、曲データの再生に同期して画像データを順次画面表示するスライドショーの開始および停止を指示するスタートスイッチなどの各種操作スイッチを備え、ユーザのスイッチ操作に応じた種類のスイッチイベントを発生する。このスイッチイベントはＣＰＵ１０に取り込まれる。
【００２１】
表示部１４は、ＣＰＵ１０から供給される表示制御信号に応じて画像を画面表示（スライドショー再生）する他、装置の設定状態などを画面表示する。音源１５は、波形メモリ読み出し方式で構成され、曲データに基づきＣＰＵ１０が発生する楽音パラメータに従って形成した楽音信号を出力する。サウンドシステム１６は、音源１５から出力される楽音信号にノイズ除去するフィルタリングを施した後、出力増幅してスピーカから放音する。
【００２２】
Ｂ．動作
次に、図３〜図１４を参照して上記構成による再生装置１００の動作を説明する。以下では、ＣＰＵ１０が実行するメインルーチン、設定処理、リズム情報抽出処理、先頭小節情報抽出処理、アクセント箇所サーチ処理、スネア切替点設定処理、小節移行処理および表示処理の各動作について述べる。
【００２３】
（１）メインルーチンの動作
装置電源が投入されると、ＣＰＵ１０は図３に図示するメインルーチンを実行してステップＳＡ１に進み、ＲＡＭ１２のワークエリアに設けられる各種レジスタやフラグ類をリセットしたり、音源１５に対して各種レジスタ・フラグを初期化するよう指示するイニシャライズを実行する。そして、初期化が完了すると、ＣＰＵ１０は次のステップＳＡ２に進み、例えばモード選択スイッチが操作された場合にはスイッチ操作で選択された動作モードの実行を指示するスイッチ処理を実行する。
【００２４】
続いてステップＳＡ３では、上記ステップＳＡ２のスイッチ処理において「設定モード」の実行が指示されたか否かを判断する。「設定モード」の実行が指示された場合には、判断結果が「ＹＥＳ」になり、ステップＳＡ４を介して設定処理（後述する）を実行した後、上述のステップＳＡ２に処理を戻す。
【００２５】
一方、「設定モード」の実行が指示されなければ、上記ステップＳＡ３の判断結果は「ＮＯ」になり、ステップＳＡ５に進み、「表示モード」の実行が指示されたか否かを判断する。「表示モード」の実行が指示されると、判断結果は「ＹＥＳ」となり、ステップＳＡ６を介して表示処理（後述する）を実行した後、上述のステップＳＡ２に処理を戻す。
【００２６】
これに対し、「設定モード」および「再生モード」以外の動作モードの実行が指示された場合には、上記ステップＳＡ５の判断結果が「ＮＯ」になり、ステップＳＡ７に進み、例えば入出力部（不図示）を介してメモリカード等の外部記録媒体からスライドショー再生用の新たな画像データを取り込んでＲＡＭ１２の画像データエリアＩＤＥに登録するなどの、その他の処理を実行した後、上述のステップＳＡ２に戻る。
【００２７】
（２）設定処理の動作
次に、図４を参照して設定処理の動作を説明する。上述したメインルーチンのステップＳＡ４（図３参照）を介して本処理が実行されると、ＣＰＵ１０は図４に図示するステップＳＢ１に進み、リズム情報抽出処理を実行する。リズム情報抽出処理では、後述するように、リズム音色を含むリズム系イベントが検出されるまでの間、曲データの読み出しを進め、その過程で読み出されるタイムをレジスタＴに累算しておき、リズム音色を含むリズム系イベントが検出されたら、レジスタＴの値をタイムとして書き込みアドレスＷＡＤに従ってリズム情報抽出エリアＲＳＥにストアする。
【００２８】
そして、レジスタＴをゼロリセットした後、フラグ値「０」のアクセントフラグＡＦと、検出されたリズム音色を含むリズム系イベントとを書き込みアドレスＷＡＤの歩進に応じてリズム情報抽出エリアＲＳＥに順次ストアする。こうした処理を繰り返すことによって、曲データ中から抽出した一連のリズム音を表すリズム情報（タイム、ＡＦ、イベント）をリズム情報抽出エリアＲＳＥに格納するようになっている。
【００２９】
続いて、ステップＳＢ２では、先頭小節情報抽出処理を実行する。先頭小節情報抽出処理では、後述するように、曲データの再生テンポと拍子とに応じて１小節タイム（１小節分の時間長）を算出してレジスタＢＴにストアすると共に、リズム情報抽出エリアＲＳＥ（図２参照）の先頭アドレスをレジスタＲＡＤ（読み出しアドレスＲＡＤ）にセットした後、レジスタＴをゼロリセットする。
【００３０】
次いで、ステップＳＢ３では、アクセント箇所サーチ処理を実行する。アクセント箇所サーチ処理では、後述するように、リズム情報抽出エリアＲＳＥに格納されるリズム情報を１小節分順番に読み出し、その中で「スネア」または「クラッシュシンバル」のリズム音色を含むイベントをアクセント箇所として検索し、該当するイベントが検索された場合には、そのイベントに続くアクセントフラグＡＦのフラグ値を「１」にセットしてアクセント箇所であることを表す。なお、このアクセント箇所が意図するところについては追って述べる。
【００３１】
次に、ステップＳＢ４では、スネア切替点設定処理を実行する。スネア切替点設定処理では、後述するように、アクセント箇所サーチ処理（図７参照）によってリズム情報抽出エリアＲＳＥにおける１小節分のリズム情報から抽出された「スネア」または「クラッシュシンバル」のリズム音色を含むイベントを参照してスネア連打を表す２つのイベントを検索し、該当する２つのイベントが存在する場合には、それぞれに対応するアクセントフラグＡＦのフラグ値を「２」にセットするスネア切替点設定を行う。
【００３２】
また、１小節中にスネア連打が存在せず、スネア切替点を設定することが出来ない場合には、１小節分のリズム情報から抽出された「スネア」または「クラッシュシンバル」のリズム音色を含むイベントを参照してクラッシュシンバル単打を表すイベントを検索し、該当するイベントが存在すると、それに対応するアクセントフラグＡＦを「３」にセットするシンバル切替点設定を行う。なお、本処理で設定されるスネア切替点又はシンバル切替点は、後述する表示処理で実行されるスライドショー再生における画像表示態様の切り替えに用いられる。
【００３３】
そして、ステップＳＢ５に進むと、小節移行処理を実行する。小節移行処理では、後述するように、小節終端アドレスＥＡＤを読み出しアドレスＲＡＤにセットし、この読み出しアドレスＲＡＤを歩進させ、歩進された読み出しアドレスＲＡＤに応じてリズム情報抽出エリアＲＳＥから読み出されるデータが有るか否か、つまりリズム情報の終端に達したかどうかを判断し、リズム情報の終端に達した場合に、フラグＥＯＦに「１」をセットしてリズム情報の終端を表す。
【００３４】
続いて、ステップＳＢ６では、フラグＥＯＦが「１」であるか否か、つまりリズム情報の終端に達したかどうかを判断する。リズム情報の終端に達していなければ（フラグＥＯＦが「０」の場合）、判断結果は「ＮＯ」となり、前述のステップＳＢ３に処理を戻す。以後、上述したステップＳＢ３〜ＳＢ６を繰り返し、リズム情報の終端に達してフラグＥＯＦが「１」になると、上記ステップＳＢ６の判断結果が「ＹＥＳ」になり、ステップＳＢ７に進み、フラグＥＯＦをゼロリセットして本処理を終え、メインルーチンに復帰する。
【００３５】
（３）リズム情報抽出処理の動作
次に、図５を参照してリズム情報抽出処理の動作を説明する。上述した設定処理のステップＳＢ１（図４参照）を介して本処理が実行されると、ＣＰＵ１０は図５に図示するステップＳＣ１に進み、ＲＡＭ１２のデータエリアにリズム情報抽出エリアＲＳＥ（図２参照）を確保すると共に、曲データエリアＭＤＥ（図２参照）の読み出しアドレスＲＡＤおよび書き込みアドレスＷＡＤを初期化する。
【００３６】
続いて、ステップＳＣ２では、読み出しアドレスＲＡＤにより曲データエリアＭＤＥから曲データを読み出す。次いで、ステップＳＣ３では、読み出された曲データが「タイム」又は「イベント」の何れであるかを判別する。読み出された曲データが「タイム」であると、ステップＳＣ４に進み、「タイム」の値をレジスタＴに累算する。続くステップＳＣ５では、読み出しアドレスＲＡＤを進める。そして、ステップＳＣ６では、歩進させた読み出しアドレスＲＡＤに対応する曲データの有無、つまり全ての曲データを読み出し終えたかどうかを判断する。
【００３７】
全ての曲データを読み出し終えていなければ、上記ステップＳＣ６の判断結果は「ＮＯ」になり、上述したステップＳＣ２に処理を戻し、引き続き歩進させた読み出しアドレスＲＡＤに応じた曲データの読み出しを進める。そして、読み出された曲データが「イベント」であったとすると、ステップＳＣ７に進み、当該「イベント」が「ノートナンバ」又は「リズム音色」の何れを含むか、つまり、非リズム系イベント又はリズム系イベントの何れであるかを判別する。ノートナンバを含む非リズム系イベントであると、上述のステップＳＣ５に進み、曲データの読み出しを進めるべく読み出しアドレスＲＡＤを歩進させる。
【００３８】
一方、リズム音色を含むリズム系イベントならば、ステップＳＣ８に進み、リズム情報抽出エリアＲＳＥにおいて、書き込みアドレスＷＡＤで指定されるエリアにレジスタＴの値をタイムとしてストアする。この後、ステップＳＣ９に進み、レジスタＴをゼロリセットし、続くステップＳＣ１０では、書き込みアドレスＷＡＤを進める。
【００３９】
次いで、ステップＳＣ１１では、歩進された書き込みアドレスＷＡＤで指定されるエリアにフラグ値「０」のアクセントフラグＡＦをストアする。そして、ステップＳＣ１２に進み、書き込みアドレスＷＡＤを進め、続くステップＳＣ１３では、読み出しアドレスＲＡＤに応じて読み出されたイベント（リズム音色を含むリズム系イベント）を、歩進された書き込みアドレスＷＡＤで指定されるエリアにストアする。
【００４０】
こうして、曲データから抽出したリズム音のタイムおよびイベントにアクセントフラグＡＦを追加した一組のリズム情報（タイム、ＡＦ、イベント）がリズム情報抽出エリアＲＳＥにストアされると、ステップＳＣ１４に進み、書き込みアドレスＷＡＤを進めた後、前述のステップＳＣ５に進む。進み、読み出しアドレスＲＡＤを進めて曲データの読み出しを進める。
【００４１】
以後、リズム音色を含むリズム系イベントが検出されるまでの間、曲データの読み出しを進め、その過程で読み出されるタイムをレジスタＴに累算しておき、リズム音色を含むリズム系イベントが検出されたら、レジスタＴの値をタイムとして書き込みアドレスＷＡＤに従ってリズム情報抽出エリアＲＳＥにストアする。そして、レジスタＴをゼロリセットした後、フラグ値「０」のアクセントフラグＡＦと、検出されたリズム音色を含むリズム系イベントとを書き込みアドレスＷＡＤの歩進に応じてリズム情報抽出エリアＲＳＥに順次ストアする。こうした処理を繰り返すことによって、曲データ中から抽出した一連のリズム音を表すリズム情報（タイム、ＡＦ、イベント）がリズム情報抽出エリアＲＳＥに格納される。
【００４２】
（４）先頭小節情報抽出処理の動作
次に、図６を参照して先頭小節情報抽出処理の動作を説明する。前述した設定処理のステップＳＢ２（図４参照）を介して本処理が実行されると、ＣＰＵ１０は図６に図示するステップＳＤ１に進み、曲データの再生テンポと拍子とに応じて１小節タイム（１小節分の時間長）を算出してレジスタＢＴにストアする。次いで、ステップＳＤ２では、リズム情報抽出エリアＲＳＥ（図２参照）の先頭アドレスをレジスタＲＡＤ（読み出しアドレスＲＡＤ）にセットする。そして、ステップＳＤ３では、レジスタＴをゼロリセットして本処理を終える。
【００４３】
（５）アクセント箇所サーチ処理の動作
次に、図７を参照してアクセント箇所サーチ処理の動作を説明する。前述した設定処理のステップＳＢ３（図４参照）を介して本処理が実行されると、ＣＰＵ１０は図７に図示するステップＳＥ１に進み、上述の先頭小節情報抽出処理にて設定された読み出しアドレスＲＡＤ、すなわち小節先頭アドレスをレジスタｒａｄに退避格納しておく。続いて、ステップＳＥ２では、読み出しアドレスＲＡＤに応じてリズム情報抽出エリアＲＳＥからデータを読み出す。
【００４４】
そして、ステップＳＥ３では、読み出されたデータが「タイム」、「イベント」および「その他（アクセントフラグＡＦ）」のいずれであるかを判別する。最初のパスでは、先頭のタイムが読み出されるので、ステップＳＥ４に進み、読み出した「タイム」の値をレジスタＴに累算する。そして、ステップＳＥ５に進み、レジスタＴの値がレジスタＢＴ以上であるか否か、つまり１小節タイムを超えたかどうかを判断する。１小節タイムを超えていなければ、判断結果は「ＮＯ」になり、ステップＳＥ１２に進み、読み出しアドレスＲＡＤを進めた後、上述のステップＳＥ２に処理を戻して次のデータを読み出す。
【００４５】
読み出しアドレスＲＡＤに応じてリズム情報抽出エリアＲＳＥから読み出されたデータが「イベント」であると、上記ステップＳＥ３を介してステップＳＥ７に進む。ステップＳＥ７〜ＳＥ８では、イベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であるか否かを判断する。イベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」でなければ、上記ステップＳＥ７〜ＳＥ８の各判断結果はいずれも「ＮＯ」となり、ステップＳＥ１２に進み、読み出しアドレスＲＡＤを進めた後、上述のステップＳＥ２に処理を戻して次のデータを読み出す。また、読み出しアドレスＲＡＤに応じてリズム情報抽出エリアＲＳＥから読み出されたデータが「その他（アクセントフラグＡＦ）」である場合も同様に、ステップＳＥ３を介してステップＳＥ１２に進み、読み出しアドレスＲＡＤを進めた後、上述のステップＳＥ２に処理を戻して次のデータを読み出す。
【００４６】
これに対し、イベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」の何れかであったとすると、上記ステップＳＥ７〜ＳＥ８のいずれかの判断結果が「ＹＥＳ」となり、ステップＳＥ９に進み、読み出しアドレスＲＡＤを進める。次いで、ステップＳＥ１０では、歩進された読み出しアドレスＲＡＤで指定されるデータがアクセントフラグＡＦであるか否かを判断する。アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、ステップＳＥ１２に進み、読み出しアドレスＲＡＤを進めた後、上述のステップＳＥ２に処理を戻して次のデータを読み出す。
【００４７】
一方、歩進された読み出しアドレスＲＡＤで指定されるデータがアクセントフラグＡＦであったとすると、上記ステップＳＥ１０の判断結果は「ＹＥＳ」になり、ステップＳＥ１１に進み、アクセントフラグＡＦに「１」をセットする。これにより、「スネア」または「クラッシュシンバル」のリズム音色を含むイベントがアクセント箇所として検索されることになる。この後、ステップＳＥ１２に進み、読み出しアドレスＲＡＤを進めた後、上述のステップＳＥ２に処理を戻して次のデータを読み出す。
【００４８】
以後、レジスタＴの値がレジスタＢＴの１小節タイムを超える迄、すなわち１小節分のリズム情報についてアクセント箇所を検索し終えるまでの間、上述した動作を繰り返す。そして、読み出した「タイム」を累算したレジスタＴの値がレジスタＢＴ以上となり、１小節分のリズム情報についてアクセント箇所を検索し終えると、上述したステップＳＥ５の判断結果が「ＹＥＳ」となり、ステップＳＥ６に進み、現在の読み出しアドレスＲＡＤをレジスタＥＡＤに保持して本処理を終える。なお、レジスタＥＡＤに保持されたアドレスＲＡＤを小節終端アドレスＥＡＤと称す。
【００４９】
このように、アクセント箇所サーチ処理では、リズム情報抽出エリアＲＳＥに格納されるリズム情報を１小節分順番に読み出し、その中で「スネア」または「クラッシュシンバル」のリズム音色を含むイベントをアクセント箇所として検索し、該当するイベントが検索された場合には、そのイベントに続くアクセントフラグＡＦのフラグ値を「１」にセットしてアクセント箇所であることを表す。このアクセント箇所が意図するところについては追って述べる。
【００５０】
（６）スネア切替点設定処理の動作
以下では、先ず本処理の動作を概説した後、図８〜図１０に図示する本処理のフローチャートを参照して動作を詳述する。スネア切替点設定処理では、図８および図９に図示するステップＳＦ１〜ＳＦ１６においてスネア切替点の検索／設定を行い、図１０に図示するステップＳＦ１７〜ＳＦ３０においてシンバル切替点の検索／設定を行う。
【００５１】
ステップＳＦ１〜ＳＦ１６のスネア切替点の検索／設定では、上述のアクセント箇所サーチ処理（図７参照）によってリズム情報抽出エリアＲＳＥにおける１小節分のリズム情報から抽出された「スネア」または「クラッシュシンバル」のリズム音色を含むイベントを参照してスネア連打を表す２つのイベントを検索し、該当する２つのイベントが存在する場合には、それぞれに対応するアクセントフラグＡＦのフラグ値を「２」に設定する。フラグ値「２」のアクセントフラグＡＦが付与された２つのイベントをスネア切替点と称する。
【００５２】
ステップＳＦ１７〜ＳＦ３０のシンバル切替点の検索／設定では、リズム情報抽出エリアＲＳＥにおける１小節分のリズム情報から抽出された「スネア」または「クラッシュシンバル」のリズム音色を含むイベントを参照してクラッシュシンバル単打を表すイベントを検索し、該当するイベントが存在する場合には、それに対応するアクセントフラグＡＦを「３」に設定する。フラグ値「３」のアクセントフラグＡＦが付与されたイベントをシンバル切替点と称する。
【００５３】
＜スネア切替点の検索／設定＞
さて、前述した設定処理のステップＳＢ４（図４参照）を介して本処理が実行されると、ＣＰＵ１０は図８に図示するステップＳＦ１に進み、レジスタｒａｄに退避格納しておいた小節先頭アドレスを処理用アドレスＡＤにセットする。続いて、ステップＳＦ２では、処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦであるか否かを判断する。アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、ステップＳＦ４に進み、処理用アドレスＡＤを進める。
【００５４】
次いで、ステップＳＦ５では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。検索し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＦ２に処理を戻す。
【００５５】
そして、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦになったとする。そうると、上述したステップＳＦ２の判断結果が「ＹＥＳ」になり、ステップＳＦ３に進む。ステップＳＦ３では、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であるか否かを判断する。対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」以外であったならば、判断結果は「ＮＯ」になり、上述したステップＳＦ４に進む。
【００５６】
一方、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であると、上記ステップＳＦ３の判断結果が「ＹＥＳ」になり、ステップＳＦ６に進み、現在の処理用アドレスＡＤをレジスタａｄ１に退避格納する。次いで、ステップＳＦ７では、アクセントフラグＡＦに続くイベントを指定するよう処理用アドレスＡＤを歩進させ、次のステップＳＦ８では、歩進された処理用アドレスＡＤで指定されるイベントに含まれるリズム音色が「スネア」であるか否かを判断する。イベントに含まれるリズム音色が「スネア」でなければ、判断結果は「ＮＯ」になり、上述のステップＳＦ４に進む。
【００５７】
これに対し、イベントに含まれるリズム音色が「スネア」であると、上記ステップＳＦ８の判断結果は「ＹＥＳ」となり、ステップＳＦ９に進み、処理用アドレスＡＤを進める。そして、ステップＳＦ１０では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。１小節分のリズム情報について検索し終えたならば、判断結果は「ＹＥＳ」になり、後述のステップＳＦ１０（図１０参照）に進むが、検索し終えていなければ、判断結果が「ＮＯ」となり、図９に図示するステップＳＦ１１に進む。
【００５８】
ステップＳＦ１１では、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦであるか否かを判断する。アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、前述のステップＳＦ４（図８参照）に処理を戻す。これに対し、処理用アドレスＡＤで指定されるデータがアクセントフラグＡＦであると、上記ステップＳＦ１１の判断結果が「ＹＥＳ」になり、ステップＳＦ１２に進む。
【００５９】
そして、ステップＳＦ１２では、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であるか否かを判断する。対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」以外であったならば、判断結果は「ＮＯ」になり、前述したステップＳＦ４に戻る。
【００６０】
一方、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であると、上記ステップＳＦ１２の判断結果が「ＹＥＳ」になり、ステップＳＦ１３に進み、現在の処理用アドレスＡＤをレジスタａｄ２に退避格納する。次いで、ステップＳＦ１４では、アクセントフラグＡＦに続くイベントを指定するよう処理用アドレスＡＤを歩進させ、続くステップＳＦ１５では、歩進させた処理用アドレスＡＤで指定されるイベントに含まれるリズム音色が「スネア」であるか否かを判断する。
【００６１】
イベントに含まれるリズム音色が「スネア」でなければ、判断結果は「ＮＯ」になり、前述のステップＳＦ４に戻るが、イベントに含まれるリズム音色が「スネア」であると、判断結果が「ＹＥＳ」になり、ステップＳＦ１６に進み、レジスタａｄ１、ａｄ２に各々格納される処理用アドレスＡＤにより指定されるアクセントフラグＡＦのフラグ値をそれぞれ「２」に設定した後、前述のステップＳＦ４に処理を戻す。こうして、スネアの連打を表す２つのイベントにそれぞれ対応するアクセントフラグＡＦのフラグ値を「２」にセットすることでスネア切替点が設定される。
【００６２】
＜シンバル切替点の検索／設定＞
スネア切替点の検索／設定により１小節分のリズム情報について検索し終えると、図８に図示するステップＳＦ５又はステップＳＦ１０の何れかの判断結果が「ＹＥＳ」となり、ＣＰＵ１０は図１０に図示するステップＳＦ１７に処理を進める。ステップＳＦ１７〜ＳＦ２１では、既にスネア切替点が設定済みであるかどうかを判別し、スネア切替点が設定済みであるならば本処理を完了させ、スネア切替点が未設定ならばステップＳＦ２３以降でシンバル切替点の検索／設定を行う。
【００６３】
すなわち、先ずステップＳＦ１７では、レジスタｒａｄに退避格納しておいた小節先頭アドレスを処理用アドレスＡＤにセットする。つまり、処理用アドレスＡＤを小節先頭を指定するように戻す。続いて、ステップＳＦ１８に進み、処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦであるか否かを判断する。
【００６４】
アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、ステップＳＦ２０に進み、処理用アドレスＡＤを進める。次いで、ステップＳＦ２１では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。検索し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＦ１８に処理を戻す。
【００６５】
歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦになると、上述したステップＳＦ１８の判断結果が「ＹＥＳ」になり、ステップＳＦ１９に進む。ステップＳＦ１９では、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「０」又は「１」であるか否かを判断する。ここで、アクセントフラグＡＦのフラグ値が「２」、つまりスネア切替点が検出されたら、判断結果は「ＮＯ」となり、この場合、シンバル切替点を検索／設定する必要が無い為、本処理を終える。
【００６６】
一方、アクセントフラグＡＦのフラグ値が「０」又は「１」ならば、上記ステップＳＦ１９の判断結果は「ＹＥＳ」となり、ステップＳＦ２０に進み、処理用アドレスＡＤを進める。そして、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤを超え、１小節分のリズム情報について検索し終えると、ステップＳＦ２１の判断結果が「ＹＥＳ」となり、ステップＳＦ２２に進む。
【００６７】
ステップＳＦ２２では、レジスタｒａｄに退避格納しておいた小節先頭アドレスを処理用アドレスＡＤにセットし、続くステップＳＦ２３では、処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦであるか否かを判断する。アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、ステップＳＦ２９に進み、処理用アドレスＡＤを進める。そして、ステップＳＦ２９では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。検索し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＦ２３に処理を戻す。
【００６８】
そして、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦになったとする。そうすると、上記ステップＳＦ２３の判断結果が「ＹＥＳ」になり、ステップＳＦ２４に進む。ステップＳＦ２４では、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であるか否かを判断する。対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」以外であったならば、判断結果は「ＮＯ」になり、ステップＳＦ２９以降を実行して処理用アドレスＡＤを進め、１小節分のリズム情報について検索し終えたかどうかを判断し、検索し終えていなければ、再びステップＳＦ２３に戻る。
【００６９】
一方、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であると、上記ステップＳＦ２４の判断結果が「ＹＥＳ」になり、ステップＳＦ２５に進み、現在の処理用アドレスＡＤをレジスタａｄ１に退避格納する。次いで、ステップＳＦ２６では、アクセントフラグＡＦに続くイベントを指定するよう処理用アドレスＡＤを歩進させ、続くステップＳＦ２８では、歩進させた処理用アドレスＡＤで指定されるイベントに含まれるリズム音色が「クラッシュシンバル」であるか否かを判断する。イベントに含まれるリズム音色が「クラッシュシンバル」でなければ、判断結果は「ＮＯ」になり、上述のステップＳＦ２９に進む。
【００７０】
これに対し、イベントに含まれるリズム音色が「クラッシュシンバル」であると、上記ステップＳＦ２７の判断結果は「ＹＥＳ」となり、ステップＳＦ２８に進み、レジスタａｄ１に格納される処理用アドレスＡＤにより指定されるアクセントフラグＡＦのフラグ値を「３」に設定する。これにより、クラッシュシンバルの単打を表すイベントがシンバル切替点に設定される。そして、この後、ステップＳＦ２９に進み、処理用アドレスＡＤを進める。次いで、ステップＳＦ３０では、１小節分のリズム情報について検索し終えたかどうかを判断し、１小節分のリズム情報について検索し終えたならば、判断結果が「ＹＥＳ」となって本処理を終える。
【００７１】
以上のように、スネア切替点設定処理では、アクセント箇所サーチ処理（図７参照）によってリズム情報抽出エリアＲＳＥにおける１小節分のリズム情報から抽出された「スネア」または「クラッシュシンバル」のリズム音色を含むイベントを参照してスネアの連打を表す２つのイベントを検索し、該当する２つのイベントが存在する場合には、それぞれに対応するアクセントフラグＡＦのフラグ値を「２」にセットするスネア切替点設定を行う。
【００７２】
１小節中にスネアの連打が存在せず、スネア切替点を設定出来なければ、１小節分のリズム情報から抽出された「スネア」または「クラッシュシンバル」のリズム音色を含むイベントを参照してクラッシュシンバルの単打を表すイベントを検索し、該当するイベントが存在する場合には、それに対応するアクセントフラグＡＦを「３」にセットするシンバル切替点設定を行うようになっている。なお、スネア切替点又はシンバル切替点は、後述する表示処理で実行されるスライドショー再生における画像表示態様の切り替えに用いられる。
【００７３】
（７）小節移行処理の動作
次に、図１１を参照して小節移行処理の動作を説明する。前述した設定処理のステップＳＢ６（図４参照）を介して本処理が実行されると、ＣＰＵ１０は図１１に図示するステップＳＧ１に進み、小節終端アドレスＥＡＤを読み出しアドレスＲＡＤにセットし、続くステップＳＧ２では、読み出しアドレスＲＡＤを進める。
【００７４】
そして、ステップＳＧ３では、歩進された読み出しアドレスＲＡＤに応じてリズム情報抽出エリアＲＳＥから読み出されるデータが有るか否か、すなわちリズム情報の終端に達したかどうかを判断する。歩進された読み出しアドレスＲＡＤがリズム情報の終端に達していなければ、判断結果は「ＮＯ」となり、本処理を終えるが、リズム情報の終端に達していると、判断結果が「ＹＥＳ」となり、ステップＳＧ４に進み、フラグＥＯＦに「１」をセットしてリズム情報の終端に達したことを表して本処理を終える。
【００７５】
（８）表示処理の動作
次に、図１２〜図１４を参照して表示処理の動作を説明する。前述したメインルーチンのステップＳＡ６（図３参照）を介して本処理が実行されると、ＣＰＵ１０は図１２に図示するステップＳＨ１に進み、スライドショーの開始又は停止を指示するスタートスイッチがオン操作されたか否かを判断する。スタートスイッチがオン操作されなければ、判断結果は「ＮＯ」になり、図１３に図示するステップＳＨ１１に進み、スタートフラグＳＴＦが「１」であるか否かを判断する。
【００７６】
スタートフラグＳＴＦとは、フラグ値「１」の場合にスライドショーの開始が指示された状態を表し、フラグ値「０」の場合にスライドショーの停止を表すフラグである。また、スタートスイッチは所謂トグル動作するスイッチであり、オン操作に応じてオルタネートにスライドショーの開始とスライドショーの停止を指示する。したがって、ステップＳＨ１１では、スライドショーの開始が指示された状態であるかどうかを判断する。スタートスイッチがオン操作されず、スタートフラグＳＴＦが「０」ならば、判断結果は「ＮＯ」になり、本処理を終える。
【００７７】
一方、ユーザがスタートスイッチをオン操作すると、上記ステップＳＨ１の判断結果が「ＹＥＳ」となり、ステップＳＨ２に進み、スタートフラグＳＴＦを反転する。続いて、ステップＳＨ３では、オン操作に応じて反転されたスタートフラグＳＴＦのフラグ値が「１」、すなわちスライドショーの開始が指示された状態であるかどうかを判断する。以下、スライドショーの開始が指示された場合と、スライドショーの停止が指示された場合とに分けて動作説明を進める。
【００７８】
＜スライドショーの開始が指示された場合＞
スタートスイッチのオン操作に応じて反転されたスタートフラグＳＴＦのフラグ値が「１」となり、スライドショーの開始が指示されると、ステップＳＨ３の判断結果が「ＹＥＳ」なり、ステップＳＨ４に進む。ステップＳＨ４〜ＳＨ５では、曲データエリアＭＤＥの先頭アドレスを読み出しアドレスＲＡＤ１に、リズム情報抽出エリアＲＳＥの先頭アドレスを読み出しアドレスＲＡＤ２に、画像データエリアＩＤＥの先頭アドレスを読み出しアドレスＲＡＤ３にそれぞれセットする。
【００７９】
続いて、ステップＳＨ７〜ＳＨ８では、読み出しアドレスＲＡＤ１で指定されるデータ（曲データ先頭のタイム）をレジスタＴ１に、読み出しアドレスＲＡＤ２で指定されるデータ（リズム情報先頭のタイム）をレジスタＴ２にそれぞれストアする。そして、ステップＳＨ９に進み、レジスタＦＡＦをゼロリセットする。なお、レジスタＦＡＦとは、１つ前に読み出されたリズム情報中のアクセントフラグＡＦのフラグ値を保持するものであり、その意図するところについては追って述べる。
【００８０】
次いで、ステップＳＨ１０では、曲進行時間を計時するタイマをスタートさせる。なお、このタイマは図示されていないタイマ割り込み処理によって曲再生テンポに対応した最小単位時間（ティック）を計時する。この後、図１３に図示するステップＳＨ１４に進み、スタートフラグＳＴＦが「１」、すなわちスライドショーの開始が指示された状態であるかどうかを判断する。スライドショーの開始が指示された状態ならば、判断結果は「ＹＥＳ」となり、ステップＳＨ１５に進み、タイマカウントアップであるか否か、つまり最小単位時間が経過したかどうを判断する。
【００８１】
最小単位時間が経過していなければ、判断結果は「ＮＯ」になり、一旦、本処理を終える。この後、再び本処理が実行され、上述したステップＳＨ１およびステップＳＨ１４を介してステップＳＨ１５に進んだ時点で最小単位時間が経過していると、当該ステップＳＨ１５の判断結果が「ＹＥＳ」となり、ステップＳＨ１６に進む。ステップＳＨ１６では、レジスタＴ１に格納された曲データのタイム値と、レジスタＴ２に格納されたリズム情報のタイム値とをそれぞれデクリメントする。
【００８２】
次いで、ステップＳＨ１７では、デクリメントされたレジスタＴ１の値が「０」以下であるか否か、すなわち曲データのイベントタイミングに達したかどうかを判断する。曲データのイベントタイミングに達していなければ、判断結果は「ＮＯ」となり、後述のステップＳＨ２３（図１４参照）に進む。
【００８３】
一方、曲データのイベントタイミングに達していると、上記ステップＳＨ１７の判断結果が「ＹＥＳ」になり、ステップＳＨ１８に進み、読み出しアドレスＲＡＤ１を進める。そして、ステップＳＨ１９では、歩進させた読み出しアドレスＲＡＤ１に対応するデータが有るか否か、つまり全ての曲データを読み出し終えたかどうかを判断する。全ての曲データを読み出し終えた場合には、判断結果が「ＹＥＳ」となり、図１２に図示するステップＳＨ１１〜ＳＨ１３を実行する。なお、ステップＳＨ１１〜ＳＨ１３の動作については、後述のスライドショーの停止が指示された場合の動作として説明する。
【００８４】
さて一方、曲データを読み出し終えていない場合には、上記ステップＳＨ１９の判断結果が「ＮＯ」になり、ステップＳＨ２０に進み、歩進させた読み出しアドレスＲＡＤ１に応じて読み出されるデータが「タイム」又は「イベント」の何れであるかを判別する。読み出されたデータが「イベント」の場合には、ステップＳＨ２１に進み、その「イベント」を解釈して生成した楽音パラメータを音源１５に送付する。これにより、音源１５では、曲データ中のイベントで指定される楽音を発音（又は消音）する。
【００８５】
これに対し、歩進させた読み出しアドレスＲＡＤ１に応じて読み出されるデータが「タイム」であると、ステップＳＨ２２に進み、その読み出された「タイム」をレジスタＴ１にストアする。そして、この後、図１４に図示するステップＳＨ２３に進み、上述したステップＳＨ１６（図１３参照）においてデクリメントされたレジスタＴ２の値が「０」以下であるか否か、すなわちリズム情報のイベントタイミングに達したかどうかを判断する。リズム情報のイベントタイミングに達していなければ、判断結果は「ＮＯ」となり、前述のステップＳＨ１（図１２参照）に戻る。
【００８６】
一方、リズム情報のイベントタイミングに達していると、上記ステップＳＨ２３の判断結果が「ＹＥＳ」になり、ステップＳＨ２４に進み、読み出しアドレスＲＡＤ２を進める。そして、ステップＳＨ２５に進み、歩進させた読み出しアドレスＲＡＤ２に対応するデータが有るか否か、つまり全てのリズム情報を読み出し終えたかどうかを判断する。全てのリズム情報を読み出し終えた場合には、判断結果が「ＹＥＳ」となり、図１２に図示するステップＳＨ１１〜ＳＨ１３を実行する。なお、ステップＳＨ１１〜ＳＨ１３の動作については、後述のスライドショーの停止が指示された場合の動作として説明する。
【００８７】
これに対し、リズム情報を読み出し終えていない場合には、上記ステップＳＨ２５の判断結果が「ＮＯ」になり、ステップＳＨ２６に進み、歩進させた読み出しアドレスＲＡＤ２に応じて読み出されるデータがアクセントフラグＡＦであるか否かを判断する。読み出されたデータがアクセントフラグＡＦの場合には、判断結果が「ＹＥＳ」になり、後述のステップＳＨ２９に進む。
【００８８】
読み出されたデータがアクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、ステップＳＨ２７に進み、読み出されたデータが「タイム」であるか否かを判断する。読み出されたデータが「イベント」の場合には、判断結果が「ＮＯ」となり、上述のステップＳＨ２４に戻り、読み出しアドレスＲＡＤ２を進める。読み出されたデータが「タイム」の場合には、判断結果が「ＹＥＳ」となり、ステップＳＨ２８に進み、その「タイム」の値をレジスタＴ２にストアした後、上述のステップＳＨ２４に戻り、読み出しアドレスＲＡＤ２を進める。
【００８９】
歩進させた読み出しアドレスＲＡＤ２に応じてアクセントフラグＡＦが読み出されてステップＳＨ２９に進むと、当該アクセントフラグＡＦのフラグ値を判別する。以下、アクセントフラグＡＦのフラグ値が「０」又は「１」の場合、「２」の場合および「３」の場合に分けて動作を説明する。
【００９０】
（ａ）アクセントフラグＡＦのフラグ値が「０」又は「１」の場合
読み出されたアクセントフラグＡＦのフラグ値が「０」又は「１」であると、上述のステップＳＨ２４に戻り、読み出しアドレスＲＡＤ２を進める。
【００９１】
（ｂ）アクセントフラグＡＦのフラグ値が「２」の場合
読み出されたアクセントフラグＡＦのフラグ値が「２」、すなわち前述したスネア切替点に相当するアクセントフラグＡＦならば、ステップＳＨ３０に進み、レジスタＦＡＦに格納される値が「３」であるか否か、すなわちシンバル切替点（前アクセントフラグＡＦ＝３）からスネア切替点（現アクセントフラグＡＦ＝２）への移行であるか否かを判断する。シンバル切替点からスネア切替点への移行ならば、判断結果は「ＹＥＳ」になり、ステップＳＨ３１に進み、表示部１４の画面表示を一旦クリアした後、ステップＳＨ３２に進む。
【００９２】
一方、シンバル切替点からスネア切替点への移行でなければ、上記ステップＳＨ３０の判断結果は「ＮＯ」となり、ステップＳＨ３２に進む。ステップＳＨ３２では、画像データエリアＩＤＥから読み出しアドレスＲＡＤ３に応じて画像データ読み出し、続くステップＳＨ３３では、読み出した画像データに画像縮小処理を施す。ここで言う画像縮小処理とは、表示サイズ縮小に合わせて画素を間引いて最適化した縮小画像データを発生する処理を指す。なお、本処理では表示処理の実行中に画像縮小するようにしたが、これに替えて、予め各画像データの縮小画像を生成しておき、スネア切替点に移行したらその縮小画像データを用いる態様としても構わない。
【００９３】
次いで、ステップＳＨ３４では、上記ステップＳＨ３３において生成された縮小画像データの表示位置（表示部１４の表示画面上の位置）をランダムに設定する。そして、ステップＳＨ３５に進み、上記ステップＳＨ３４において設定された表示位置に縮小画像データを表示する。この後、ステップＳＨ３６に進み、現在のアクセントフラグＡＦのフラグ値をレジスタＦＡＦにストアして上述のステップＳＨ２４に戻り、読み出しアドレスＲＡＤ２を進める。
【００９４】
（ｃ）アクセントフラグＡＦのフラグ値が「３」の場合
読み出されたアクセントフラグＡＦのフラグ値が「３」、すなわち前述したシンバル切替点に相当するアクセントフラグＡＦならば、ステップＳＨ３７に進み、表示部１４の画面表示を一旦クリアし、続くステップＳＨ３８では、画像データエリアＩＤＥから読み出しアドレスＲＡＤ３に応じて画像データ読み出す。そして、ステップＳＨ３９に進み、読み出した画像データを表示部１４に画面表示する。この後、ステップＳＨ４０に進み、現在のアクセントフラグＡＦのフラグ値をレジスタＦＡＦにストアして上述のステップＳＨ２４に戻り、読み出しアドレスＲＡＤ２を進める。
【００９５】
＜スライドショーの停止が指示された場合＞
スタートスイッチのオン操作に応じて反転されたスタートフラグＳＴＦのフラグ値が「０」となり、スライドショーの停止が指示された場合には、図１２に図示するステップＳＨ３の判断結果が「ＮＯ」になり、ステップＳＨ１１に進む。また、曲データあるいはリズム情報を読み出し終えた場合にもステップＳＨ１１に進む。ステップＳＨ１１では、音源１５に消音を指示する。これにより、音源１５では、曲データ再生に応じて発音している全ての楽音を消音する。次いで、ステップＳＨ１２では、表示部１４に表示中の画像を消去した後、ステップＳＨ１３に進み、タイマを停止して本処理を終える。なお、曲データあるいはリズム情報を読み出し終えた場合には、ステップＳＨ１３においてスタートフラグＳＴＦをゼロリセットする。
【００９６】
このように、表示処理では、スタートスイッチのオン操作に応じてスライドショーの開始が指示されると、曲データエリアＭＤＥから曲データを順次読み出して曲再生を実行しながらリズム情報抽出エリアＲＳＥからリズム情報（タイム、アクセントフラグＡＦおよびイベント）を順次読み出し、シンバル切替点（アクセントフラグＡＦのフラグ値が「３」）が読み出される毎に、画像データエリアＩＤＥに記憶される画像データを順番に１枚ずつ表示部１４に画面表示し、スネア切替点（アクセントフラグＡＦのフラグ値が「２」）が継続して読み出される区間が存在すると、その区間では画像データエリアＩＤＥから順番に読み出される画像データを縮小し、その縮小した画像を表示部１４の表示画面上のランダムで重ならない位置に複数枚同時表示する。
【００９７】
以上説明したように、第１実施形態では、曲データを再生すると共に、その再生される曲中のリズム音の内、クラッシュシンバルの単打音が発音される毎に画像データエリアＩＤＥに記憶される画像データを順番に１枚ずつ画面表示し、スネアドラムの連打音が継続する間は画像データエリアＩＤＥから順番に読み出される画像データを縮小して得た縮小画像を表示画面に複数枚同時表示するので、再生される曲の内容に応じて、ある曲区間では複数枚の画像を同時に画面表示させたり、又ある曲区間では画像を一つずつ画面表示させたりして変化に富んだスライドショー再生を具現することができる。
【００９８】
［第２実施形態］
次に、図１５〜図１７を参照して第２実施形態によるスネア切替点設定処理の動作について説明する。前述した第１実施形態のスネア切替点設定処理では、１小節分のリズム情報からスネアの連打を表す２つのイベントを検索し、該当する２つのイベントが存在する場合に、それぞれに対応するアクセントフラグＡＦのフラグ値を「２」にセットするスネア切替点設定を行うようにした。
【００９９】
これに対し、第２実施形態によるスネア切替点設定処理では、１小節分のリズム情報中に「スネア」のリズム音色を含むイベントが連続する場合に、そのイベント間隔が所定時間α以下であれば、スネアの連打と見なし、両イベントに各々対応するアクセントフラグＡＦのフラグ値を「２」にセットするスネア切替点設定を行う点で相違する。以下、こうした第２実施形態によるスネア切替点設定処理の動作を説明する。
【０１００】
＜スネア切替点の検索／設定＞
前述した第１実施形態と同様、設定処理のステップＳＢ４（図４参照）を介して本処理が実行されると、ＣＰＵ１０は図１５に図示するステップＳＪ１に進み、レジスタｒａｄに退避格納しておいた小節先頭アドレスを処理用アドレスＡＤにセットする。続いて、ステップＳＪ２では、処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦであるか否かを判断する。
【０１０１】
アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、ステップＳＪ４に進み、処理用アドレスＡＤを進める。次いで、ステップＳＪ５では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。検索し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＪ２に処理を戻す。
【０１０２】
そして、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦになったとする。そうすると、上述したステップＳＪ２の判断結果が「ＹＥＳ」になり、ステップＳＪ３に進む。ステップＳＪ３では、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であるか否かを判断する。対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」以外であったならば、判断結果は「ＮＯ」になり、上述したステップＳＪ４に進む。
【０１０３】
一方、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であると、上記ステップＳＪ３の判断結果が「ＹＥＳ」になり、ステップＳＪ６に進み、現在の処理用アドレスＡＤをレジスタａｄ１に退避格納する。次いで、ステップＳＪ７では、アクセントフラグＡＦに続くイベントを指定するよう処理用アドレスＡＤを歩進させ、続くステップＳＪ８では、歩進させた処理用アドレスＡＤで指定されるイベントに含まれるリズム音色が「スネア」であるか否かを判断する。イベントに含まれるリズム音色が「スネア」でなければ、判断結果は「ＮＯ」になり、上述のステップＳＪ４に進む。
【０１０４】
これに対し、イベントに含まれるリズム音色が「スネア」であると、上記ステップＳＪ８の判断結果は「ＹＥＳ」となり、ステップＳＪ９に進み、処理用アドレスＡＤを進める。そして、ステップＳＪ１０では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。１小節分のリズム情報について検索し終えたならば、判断結果は「ＹＥＳ」になり、後述のステップＳＪ２０（図１７参照）に進むが、検索し終えていなければ、判断結果は「ＮＯ」となり、図１６に図示するステップＳＪ１１に進む。
【０１０５】
ステップＳＪ１１では、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがタイムであるか否かを判断する。例えば「スネア」のリズム音色を含むイベントに続くタイムが指定された場合には、ここでの判断結果は「ＹＥＳ」となり、ステップＳＪ１２に進み、そのタイムの値をレジスタｔにストアした後、上述のステップＳＪ９に処理を戻す。
【０１０６】
そして、ステップＳＪ９において歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤを超えなければ、再びステップＳＪ１１に進むが、この場合、歩進された処理用アドレスＡＤで指定されるデータはタイムではないので、判断結果が「ＮＯ」になり、ステップＳＪ１３に進む。ステップＳＪ１３では、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦであるか否かを判断する。アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、前述のステップＳＪ４（図１５参照）に処理を戻す。
【０１０７】
これに対し、処理用アドレスＡＤで指定されるデータがアクセントフラグＡＦであると、上記ステップＳＪ１３の判断結果が「ＹＥＳ」になり、ステップＳＪ１４に進み、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であるか否かを判断する。対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」以外であったならば、判断結果は「ＮＯ」になり、前述したステップＳＪ４に戻る。
【０１０８】
一方、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であると、上記ステップＳＪ１４の判断結果が「ＹＥＳ」になり、ステップＳＪ１５に進み、現在の処理用アドレスＡＤをレジスタａｄ２に退避格納する。次いで、ステップＳＪ１６では、アクセントフラグＡＦに続くイベントを指定するよう処理用アドレスＡＤを歩進させ、続くステップＳＪ１７では、歩進させた処理用アドレスＡＤで指定されるイベントに含まれるリズム音色が「スネア」であるか否かを判断する。
【０１０９】
イベントに含まれるリズム音色が「スネア」でなければ、判断結果は「ＮＯ」になり、前述のステップＳＪ４に戻るが、イベントに含まれるリズム音色が「スネア」であると、判断結果が「ＹＥＳ」になり、ステップＳＪ１８に進み、レジスタｔに格納されるタイムの値が所定時間α以下、つまりスネアの連打であるかどうかを判断する。レジスタｔに格納されるタイムの値が所定時間αより長くスネアの連打でなければ、判断結果は「ＮＯ」となり、前述したステップＳＪ４に戻る。
【０１１０】
一方、レジスタｔに格納されるタイムの値が所定時間α以下のスネアの連打であると、上記ステップＳＪ１８の判断結果が「ＹＥＳ」となり、ステップＳＪ１９に進み、レジスタａｄ１、ａｄ２に各々格納される処理用アドレスＡＤにより指定されるアクセントフラグＡＦのフラグ値をそれぞれ「２」に設定した後、前述のステップＳＦ４に処理を戻す。こうして、スネアの連打に相当する２つのイベントにそれぞれ対応するアクセントフラグＡＦのフラグ値を「２」にセットすることでスネア切替点が設定される。
【０１１１】
＜シンバル切替点の検索／設定＞
スネア切替点の検索／設定により１小節分のリズム情報について検索し終えると、前述したステップＳＪ５（図１５参照）もしくはステップＳＪ１０（図１５参照）の判断結果が「ＹＥＳ」となり、ＣＰＵ１０は図１７に図示するステップＳＪ２０に処理を進める。ステップＳＪ２０〜ＳＪ２４では、既にスネア切替点が設定済みであるかどうかを検索し、スネア切替点が設定済みならば本処理を完了させ、スネア切替点が未設定ならばステップＳＪ２５以降でシンバル切替点の検索／設定を行う。
【０１１２】
すなわち、先ずステップＳＪ２０では、レジスタｒａｄに退避格納しておいた小節先頭アドレスを処理用アドレスＡＤにセットする。つまり、処理用アドレスＡＤを小節先頭を指定するように戻す。続いて、ステップＳＪ２１に進み、処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦであるか否かを判断する。
【０１１３】
アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、ステップＳＪ２３に進み、処理用アドレスＡＤを進める。次いで、ステップＳＪ２４では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。検索し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＪ２１に処理を戻す。
【０１１４】
そして、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦになったとする。そうすると、上述したステップＳＪ２１の判断結果が「ＹＥＳ」になり、ステップＳＪ２２に進む。ステップＳＪ２２では、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「０」又は「１」であるか否かを判断する。ここで、アクセントフラグＡＦのフラグ値が「２」、つまりスネア切替点が検出されたら、判断結果は「ＮＯ」となり、この場合、シンバル切替点を検索／設定する必要が無い為、本処理を終える。
【０１１５】
一方、アクセントフラグＡＦのフラグ値が「０」又は「１」ならば、上記ステップＳＪ２２の判断結果は「ＹＥＳ」となり、ステップＳＪ２３に進み、処理用アドレスＡＤを進める。そして、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤを超え、１小節分のリズム情報について検索し終えると、ステップＳＪ２４の判断結果が「ＹＥＳ」となり、ステップＳＪ２５に進む。
【０１１６】
ステップＳＪ２５では、レジスタｒａｄに退避格納しておいた小節先頭アドレスを処理用アドレスＡＤにセットし、続くステップＳＪ２６では、処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦであるか否かを判断する。アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、ステップＳＪ３２に進み、処理用アドレスＡＤを進める。そして、ステップＳＪ３３では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。検索し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＪ２６に処理を戻す。
【０１１７】
この後、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦになると、上記ステップＳＪ２６の判断結果が「ＹＥＳ」になり、ステップＳＪ２７に進む。ステップＳＪ２７では、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であるか否かを判断する。対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」以外であったならば、判断結果は「ＮＯ」になり、ステップＳＪ３２以降を実行して処理用アドレスＡＤを進め、１小節分のリズム情報について検索し終えたかどうかを判断し、検索し終えていなければ、再びステップＳＪ２６に戻る。
【０１１８】
一方、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であると、上記ステップＳＪ２７の判断結果が「ＹＥＳ」になり、ステップＳＪ２８に進み、現在の処理用アドレスＡＤをレジスタａｄ１に退避格納する。次いで、ステップＳＪ２９では、アクセントフラグＡＦに続くイベントを指定するよう処理用アドレスＡＤを歩進させ、続くステップＳＪ３０では、歩進させた処理用アドレスＡＤで指定されるイベントに含まれるリズム音色が「クラッシュシンバル」であるか否かを判断する。イベントに含まれるリズム音色が「クラッシュシンバル」でなければ、判断結果は「ＮＯ」になり、上述のステップＳＪ３２に進む。
【０１１９】
これに対し、イベントに含まれるリズム音色が「クラッシュシンバル」であると、上記ステップＳＪ３０の判断結果は「ＹＥＳ」となり、ステップＳＪ３１に進み、レジスタａｄ１に格納される処理用アドレスＡＤにより指定されるアクセントフラグＡＦのフラグ値を「３」に設定する。これにより、クラッシュシンバルの単打を表すイベントがシンバル切替点に設定される。そして、この後、ステップＳＪ３２に進み、処理用アドレスＡＤを進める。次いで、ステップＳＪ３３では、１小節分のリズム情報について検索し終えたかどうかを判断し、１小節分のリズム情報について検索し終えたならば、判断結果が「ＹＥＳ」となって本処理を終える。
【０１２０】
このように、第２実施形態によるスネア切替点設定処理では、アクセント箇所サーチ処理（図７参照）によってリズム情報抽出エリアＲＳＥにおける１小節分のリズム情報から抽出された「スネア」または「クラッシュシンバル」のリズム音色を含むイベントを参照してスネアが連続する２つのイベントを検索し、該当する２つのイベントが存在する場合には、そのイベント間隔が所定時間α以下であれば、スネア連打と見なし、両イベントに各々対応するアクセントフラグＡＦのフラグ値を「２」にセットするスネア切替点設定を行う。
【０１２１】
そして、１小節中にスネア連打が存在せず、スネア切替点を設定することが出来なければ、１小節分のリズム情報から抽出された「スネア」または「クラッシュシンバル」のリズム音色を含むイベントを参照してクラッシュシンバルの単打を表すイベントを検索し、該当するイベントが存在する場合には、それに対応するアクセントフラグＡＦを「３」にセットするシンバル切替点設定を行うようになっている。
【０１２２】
したがって、第２実施形態によれば、曲データから抽出したリズム情報の中から画像表示態様を異ならせるスネア切替点およびシンバル切替点を設定することができ、これら両切替点を用いれば、再生される曲中のリズム音の内、クラッシュシンバルの単打音が発音される毎に画像データエリアＩＤＥに記憶される画像データを順番に１枚ずつ画面表示し、スネアドラムの連打音が継続する間は画像データエリアＩＤＥから順番に読み出される画像データを縮小して得た縮小画像を表示画面に複数枚同時表示するスライドショーとなるので、変化に富んだスライドショー再生を具現することができる。
【０１２３】
［第３実施形態］
次に、図１８〜図１９を参照して第３実施形態によるスネア切替点設定処理の動作について説明する。上述の第２実施形態では、１小節分のリズム情報中に「スネア」のリズム音色を含むイベントが連続する場合に、そのイベント間隔が所定時間α以下であれば、スネアの連打と見なし、両イベントに各々対応するアクセントフラグＡＦのフラグ値を「２」にセットするスネア切替点設定を行う。
【０１２４】
これに対し、第３実施形態によるスネア切替点設定処理では、「スネア」または「クラッシュシンバル」のリズム音色を含むイベントが連続し、そのイベント間隔が所定時間α以下ならば、両イベントに各々対応するアクセントフラグＡＦのフラグ値を「２」にセットする連打切替点設定を行い、一方、所定時間αより長ければ、両イベントに各々対応するアクセントフラグＡＦのフラグ値を「３」にセットする単打切替点設定を行う。以下、こうした第３実施形態によるスネア切替点設定処理の動作を説明する。
【０１２５】
前述した第１実施形態と同様、設定処理のステップＳＢ４（図４参照）を介して本処理が実行されると、ＣＰＵ１０は図１８に図示するステップＳＫ１に進み、レジスタｒａｄに退避格納しておいた小節先頭アドレスを処理用アドレスＡＤにセットする。続いて、ステップＳＫ２では、処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦであるか否かを判断する。
【０１２６】
アクセントフラグＡＦでなければ、判断結果は「ＮＯ」になり、ステップＳＫ４に進み、処理用アドレスＡＤを進める。次いで、ステップＳＫ５では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。検索し終えていなければ、判断結果は「ＮＯ」になり、上述のステップＳＫ２に処理を戻す。
【０１２７】
そして、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦになったとする。そうすると、上述したステップＳＫ２の判断結果が「ＹＥＳ」になり、ステップＳＫ３に進む。ステップＳＫ３では、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であるか否かを判断する。対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」以外であったならば、判断結果は「ＮＯ」になり、上述したステップＳＫ４に進む。
【０１２８】
一方、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であると、上記ステップＳＫ３の判断結果が「ＹＥＳ」になり、ステップＳＫ６に進み、現在の処理用アドレスＡＤをレジスタａｄ１に退避格納する。次いで、ステップＳＫ７では、レジスタｔをゼロリセットする。
【０１２９】
そして、ステップＳＫ８に進み、アクセントフラグＡＦに続くイベントを指定するよう処理用アドレスＡＤを歩進させ、続くステップＳＫ９では、歩進された処理用アドレスＡＤが小節終端アドレスＥＡＤ以上であるか否か、すなわち１小節分のリズム情報について検索し終えたかどうかを判断する。１小節分のリズム情報について検索し終えていなければ、判断結果は「ＮＯ」となり、次のステップＳＫ１０に進む。
【０１３０】
ステップＳＫ１０では、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがタイム又はアクセントフラグＡＦの何れであるかを判別する。処理用アドレスＡＤで指定されるデータがタイムであると、ステップＳＫ１１に進み、レジスタｔにタイムの値を累算した後、上述のステップＳＫ８に処理を戻す。
【０１３１】
そして、歩進された処理用アドレスＡＤで指定されるリズム情報抽出エリアＲＳＥ中のデータがアクセントフラグＡＦになったとする。そうすると、ステップＳＫ１０を介して図１９に図示するステップＳＫ１２に進み、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であるか否かを判断する。対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」以外であったならば、判断結果は「ＮＯ」になり、上述したステップＳＫ４に進む。
【０１３２】
一方、処理用アドレスＡＤで指定されたアクセントフラグＡＦのフラグ値が「１」、つまり対応するイベントに含まれるリズム音色が「スネア」または「クラッシュシンバル」であると、上記ステップＳＫ１２の判断結果が「ＹＥＳ」になり、ステップＳＫ１３に進み、現在の処理用アドレスＡＤをレジスタａｄ２に退避格納する。次いで、ステップＳＫ１４では、レジスタｔに格納されるタイムの値が所定時間α以下であるか否かを判断する。
【０１３３】
レジスタｔに格納されるタイムの値が所定時間α以下の場合、つまり「スネア」または「クラッシュシンバル」のリズム音色を含むイベントが連続し、そのイベント間隔が所定時間α以下であると、判断結果は「ＹＥＳ」となり、ステップＳＫ１５に進む。ステップＳＫ１５では、レジスタａｄ１、ａｄ２に各々格納される処理用アドレスＡＤにより指定されるアクセントフラグＡＦのフラグ値をそれぞれ「２」に設定した後、前述のステップＳＫ４に処理を戻す。こうして、「スネア」または「クラッシュシンバル」の連打に相当する２つのイベントにそれぞれ対応するアクセントフラグＡＦのフラグ値を「２」にセットすることで連打切替点が設定される。この連打切替点は、前述した第１および第２実施形態におけるスネア切替点に相当する。
【０１３４】
これに対し、「スネア」または「クラッシュシンバル」のリズム音色を含むイベントが連続し、そのイベント間隔が所定時間αより長ければ、上記ステップＳＫ１４の判断結果は「ＮＯ」になり、ステップＳＫ１６に進む。ステップＳＫ１６では、レジスタａｄ１、ａｄ２に各々格納される処理用アドレスＡＤにより指定されるアクセントフラグＡＦのフラグ値をそれぞれ「３」に設定した後、前述のステップＳＫ４に処理を戻す。こうして、「スネア」または「クラッシュシンバル」の単打に相当する２つのイベントにそれぞれ対応するアクセントフラグＡＦのフラグ値を「３」にセットすることで単打切替点が設定される。この単打切替点は、前述した第１および第２実施形態におけるシンバル切替点に相当する。
【０１３５】
したがって、第３実施形態によれば、曲データから抽出したリズム情報の中から画像表示態様を異ならせる連打切替点および単打切替点を設定することができ、これら両切替点を用いれば、再生される曲中のリズム音の内、クラッシュシンバルの単打音が発音される毎に画像データエリアＩＤＥに記憶される画像データを順番に１枚ずつ画面表示し、スネアドラムの連打音が継続する間は画像データエリアＩＤＥから順番に読み出される画像データを縮小して得た縮小画像を表示画面に複数枚同時表示するスライドショーとなるので、変化に富んだスライドショー再生を具現することができる。
【０１３６】
なお、上述した第１〜第３実施形態では、クラッシュシンバルの単打音およびスネアドラムの連打音を画像表示態様を異ならせる切替点としたが、これに限らず、他のリズム音色の楽音を切替点として設定する態様であっても構わない。
【符号の説明】
【０１３７】
１０  ＣＰＵ
１１  ＲＯＭ
１２  ＲＡＭ
１３  操作部
１４  表示部
１５  音源
１６  サウンドシステム
１００  再生装置
【図１】
0005549838.tif 000002
【図２】
0005549838.tif 000003
【図３】
0005549838.tif 000004
【図４】
0005549838.tif 000005
【図５】
0005549838.tif 000006
【図６】
0005549838.tif 000007
【図７】
0005549838.tif 000008
【図８】
0005549838.tif 000009
【図９】
0005549838.tif 000010
【図１０】
0005549838.tif 000011
【図１１】
0005549838.tif 000012
【図１２】
0005549838.tif 000013
【図１３】
0005549838.tif 000014
【図１４】
0005549838.tif 000015
【図１５】
0005549838.tif 000016
【図１６】
0005549838.tif 000017
【図１７】
0005549838.tif 000018
【図１８】
0005549838.tif 000019
【図１９】
0005549838.tif 000020