(57)【要約】【課題】テンポ同期の機能を持つ電子音楽装置において、同期モード（MIDI Sync）をautoモードに設定したときでも、外部からテンポクロックを受信していないときは、ユーザが内部クロックでのテンポを設定変更することができるようにすることを目的とする。【解決手段】外部機器で発生した第１の同期情報（External Clock）を入力する手段と、自機内部で第２の同期情報（Internal Clock）を生成する手段とを備え、外部機器から第１の同期情報が入力している場合は第１の同期情報を選択し、そうでない場合は第２の同期情報を選択し、選択した同期情報に基づくテンポで楽音生成するような電子音楽装置において、第２の同期情報が選択されている場合には、その第２の同期情報の周期を変更してテンポを変更できるようにしたことを特徴とする。【選択図】図２
2009180891.tif 000002
【特許請求の範囲】
【請求項１】
外部機器で発生した第１の同期情報を入力する手段と、
自機内部で第２の同期情報を生成する手段と、
前記第１の同期情報が入力しているか否かを検出する手段と、
前記第１の同期情報が入力されている場合は前記第１の同期情報を選択し、そうでない場合は前記第２の同期情報を選択する手段と、
選択された同期情報に基づくテンポで楽音生成する手段と、
前記第２の同期情報が選択されている場合に、その第２の同期情報の周期を変更する手段と
を備えたことを特徴とする電子音楽装置。
【請求項２】
楽音生成を行う電子音楽装置を実現するプログラムであって、
コンピュータを、
外部機器で発生した第１の同期情報を入力する手段と、
自機内部で第２の同期情報を生成する手段と、
前記第１の同期情報が入力しているか否かを検出する手段と、
前記第１の同期情報が入力されている場合は前記第１の同期情報を選択し、そうでない場合は前記第２の同期情報を選択する手段と、
選択された同期情報に基づくテンポで楽音生成する手段と、
前記第２の同期情報が選択されている場合に、その第２の同期情報の周期を変更する手段と
を備えた電子音楽装置として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、例えばMIDIクロックのような同期信号を入力して動作する電子音楽装置及びプログラムに関する。
【背景技術】
【０００２】
従来より、自動演奏機能を備えた電子楽器などの電子音楽装置が知られている。自動演奏機能では、テンポを同期させるためにテンポクロック（例えばMIDIクロックのF8信号）を使用する。テンポクロックは、当該機器に接続される外部MIDI機器から入力する場合もあるし、内部クロックを生成して使用する場合もある。また、下記非特許文献１に記載のようなautoモードを備えるものもある。autoモードとは、外部MIDI機器からMIDIクロックが入力されている場合は、内部クロックは動作せず外部からのMIDIクロックで動作し、外部からのMIDIクロックが入力されない場合は、外部MIDI機器側で最後に設定されていたテンポで自動的に内部クロックが動作するモードである。
【非特許文献１】「MOTIF XS 6/MOTIF XS 7/MOTIF XS 8取扱説明書」、ヤマハ株式会社、2007年、p268
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上述のautoモードでは、外部機器からのMIDIクロックを受信しているか否かに関わらず、ユーザがテンポを設定（MIDIクロックの周期の設定）することができなかった。そのため、自動演奏データの編集を行いたい場合などに不都合が生じていた。例えば、外部シーケンサに同期させて自機の自動演奏機能でアルペジオで楽音を発生する場合、autoモードで当該外部シーケンサからのMIDIクロックで動作させるが、もっとゆっくりしたテンポで当該アルペジオ音を確認しながら編集したい場合がある。その場合、外部シーケンサを止め、自機の内部クロックで動作するモードに切り替えた後、該内部クロックのテンポをゆっくりにして、各種編集操作を行い、再びautoモードに切り替えて外部シーケンサに同期させる、という手順を踏む必要があり、操作が煩雑であった。あるいは、自機の自動演奏機能で発生するアルペジオ音を様々なテンポで試したい場合、外部シーケンサを止め、自機の内部クロックでテンポを様々に変更して試して得られたテンポで、外部シーケンサのテンポ設定をして、再びシーケンサに同期させる、という手順を踏むことになり、操作が煩雑であった。
【０００４】
本発明は、同期モード（MIDI Sync）をautoモードに設定したときでも、テンポクロックを受信していないときは、ユーザがテンポを設定変更することができるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明は、外部機器で発生した第１の同期情報（External Clock）を入力する手段と、自機内部で第２の同期情報（Internal Clock）を生成する手段とを備え、外部機器から第１の同期情報が入力している場合は第１の同期情報を選択し、そうでない場合は第２の同期情報を選択し、選択し同期情報に基づくテンポで楽音生成するようなもので、第２の同期情報が選択されている場合には、その第２の同期情報の周期を変更してテンポを変更できるようにしたことを特徴とする。
【発明の効果】
【０００６】
本発明によれば、例えばMIDI Syncをautoモードに設定した場合でも、外部からMIDIクロックを受信していないときはユーザがテンポを設定変更することができる。これにより、自機をautoモードで外部シーケンサからのMIDIクロックで動作させる場合でも、テンポを変更して種々の確認をしたいときには、外部シーケンサを止め、自機の内部クロックでのテンポを種々に変更して確認作業を行い、その後は再度外部シーケンサを動作させる、という手順で済むので操作が容易である。
【発明を実施するための最良の形態】
【０００７】
以下、図面を用いてこの発明の実施の形態を説明する。
【０００８】
図１は、この発明の一実施形態に係る電子音楽装置のハードウエア構成を示すブロック図である。なお、ここでは鍵盤等の演奏操作子や音源を備えた電子楽器で説明するが、本発明は、外部機器から入力したテンポクロック及び内部で発生したテンポクロックに同期して楽音生成する機能を備えた音楽装置であれば適用可能である。
【０００９】
図１において、ＣＰＵ１０１は、この電子楽器全体の動作を制御する処理装置である。タイマ１０２は、所定の時間を計時するためのタイマである。ＲＯＭ１０３は、電源投入時のスタートアップルーチンや低レベルＩ／Ｏ処理を司るＢＩＯＳ（BASIC INPUT/OUTPUT SYSTEM）等を格納する不揮発性のメモリである。ＲＡＭ１０４は、ＣＰＵ１０１が実行するプログラムのロード領域や各種のワーク領域として用いる揮発性のメモリである。外部記憶装置１０５は、ハードディスクやフレキシブルディスク等の磁気記録媒体やＣＤ−ＲＯＭ、ＤＶＤ等の光記憶媒体等の各種の方式の記憶媒体である。MIDIインターフェース１０６は、外部の各種MIDI機器１０７と接続するためのMIDI規格のインターフェースである。通信Ｉ／Ｆ１０８は、通信ネットワーク１０９を介して外部のサーバコンピュータ１１０等と接続するためのインターフェースである。演奏操作子１１２は、ユーザが演奏操作するための鍵盤などの操作子である。演奏操作子１１２の操作は検出回路１１１により検出され、検出結果がＣＰＵ１０１に送られる。設定操作子１１４は、ユーザが操作するためのスイッチ、ボタン、ノブ等の操作子である。設定操作子１１４の操作は検出回路１１３により検出され、検出結果がＣＰＵ１０１に送られる。ディスプレイ１１６は、各種の情報を表示する表示装置である。表示回路１１５は、ＣＰＵ１０１からの指示に基づいて、与えられたデータをディスプレイ１１６に表示する。音源回路１１７は、ＣＰＵ１０１からの指示に基づいて楽音を発生する。効果回路１１８は、音源回路１１７で発生した楽音に各種の効果を付与する。効果回路１１８から出力される楽音はサウンドシステム１１９により放音される。１２０はこれら各部を相互に接続するバスラインである。
【００１０】
図１の電子楽器は自動演奏機能を備えており、設定操作子１１４の所定の操作子によりautoモードに設定できる。autoモードの場合は、外部機器（図１のMIDI機器１０７）から入力されるMIDIクロックをテンポクロックとして動作するが、その外部機器からのMIDIクロックが入力されないときは、自動的に自機内で発生した内部クロックをテンポクロックとして動作する。その際、ユーザはその内部クロックのテンポを変更することができる。
【００１１】
図２は、図１の電子楽器でautoモードが設定されている状態におけるテンポの切り替えの様子を示す模式図である。矢印２０１は時間の経過を示し、２１１，２１２，２１４，２１５などの矢印は、図１の装置に外部MIDI機器１０７から入力するMIDIクロック（MIDI Timing Clock）の入力タイミングを示す。２０２は図１の装置が外部クロックと内部クロックのどちらを使って動作するかを示すタイムチャートであり、２０３はテンポ値を示すタイムチャートである。２０２のExternalは、テンポを取得する基準となるタイミング信号として外部クロック（外部MIDI機器１０７から入力するMIDIクロック）を基準とすることを示す。Internalは、内部クロックを基準とすることを示す。
【００１２】
autoモードに設定されているので、外部機器１０７から２１１に示すように外部クロックが入力している状態では、当該外部クロックがクロックソースとされ、テンポが算出される。ここでは各クロック間の時間（約21msec）に基づきテンポ120bpmが算出され、当該テンポで処理が進む。矢印２１２のタイミングで外部からのMIDIクロックが中断したとする。このとき、本装置では、とりあえず所定時間（ここでは３秒間）はクロックソースが外部クロックでテンポが120bpmのままの状態で処理を進め、中断したタイミング２１２から３秒後に、クロックソースを内部クロックに切り替える。内部クロックに切り替えた直後は、テンポ値は直前の値が受け継がれて120bpmのままであるので、そのテンポで処理が進む。その後、例えばタイミング２１３でユーザがテンポを下げるノブ（図１の設定操作子１１４）操作を行って、テンポを100bpmに下げたとすると、内部クロックでテンポ100bpmで処理が進む。矢印２１４のタイミングで外部機器１０７からのMIDIクロックの入力が再開したとする。autoモードに設定されているので、クロックソースは自動的に外部クロックに切り替わる。また、テンポが算出できるだけの数の外部クロックが入力されたとき（ここでは矢印２１４，２１５に示すクロック）、テンポが算出され、ここではテンポ120bpmとされて処理が進む。
【００１３】
図３は、図１の装置におけるautoモードでの全体の処理の流れを示す。所定の操作によりautoモードが設定されると、まず初期設定（３０１）を行う。この初期設定では、クロックソースが外部クロックに設定される。なお、テンポ値としては図３の処理に入ってくる直前の値が残っており、タイマ１０２は既に起動されている。次に、クロックソースが内部クロックに設定されているか判定し（３０２）、そうであればInternalの処理（３０３）を行い、クロックソースが外部クロックに設定されていればExternalの処理（３０４）を行う。次に、その他の処理（３０５）として、ユーザが演奏操作子を操作するのに応じた楽音生成や音色設定および自動演奏設定の変更など、楽器として一般的な処理を行う。autoモード以外への遷移操作がされたか判定し（３０６）、autoモードのままであるときはステップ３０２に戻り、autoモード以外へ遷移する場合は処理を終了する。当該遷移操作に応じた処理は、図３の処理を抜けた後に行うものとする。なお、不図示であるが、設定されているテンポ値に応じてタイマ１０２に割り込み設定が為されており、当該テンポ値に応じたタイマ割り込みが発生するようになっている。そのタイマ割り込み処理により、例えば自動演奏データに基づく楽音生成処理が実行される。
【００１４】
図４（ａ）は、ステップ３０３のInternalの処理のフローである。まず、図１の装置が設定操作子１１４として備えているテンポ変更用の操作子の操作がされたか判別する（４０１）。テンポ変更操作がされていれば、その操作に基づきテンポ値を再計算し（４０２）、再計算したテンポ値をディスプレイ１１６に表示し（４０３）、そのテンポ値に応じてタイマ１０２の割り込み設定を更新する（４０４）。これにより、新たなテンポ値に応じた設定でのタイマ割り込み処理で楽音生成処理が行われるようになる。次に、外部機器１０７からのMIDIクロックを受信したか判別する（４０５）。受信した場合は、バッファをクリアして初期化するとともにタイマ１０２から現在時刻を取得して新規にバッファに積み（４０６）、クロックソースを外部クロックとし（４０７）、ディスプレイ１１６上のテンポ表示を「−−」にして（４０８）、終了する。なお、ステップ４０８はテンポ表示を変更するだけで、テンポ値の設定はそのままである。バッファは例えばＲＡＭ１０４に設けられるリングバッファであり、外部クロックからテンポ値の計算をするのに必要な時刻情報を記憶するのに十分な大きさを持つ。
【００１５】
図４（ｂ）は、ステップ３０４のExternalの処理のフローである。まず、外部機器１０７から送信されるMIDIクロックを受信したか判別する（４１１）。受信した場合は、タイマ１０２から現在時刻を取得してバッファに積み（４１２）、テンポ値を計算するのに必要な分（ここでは過去２回分とする）がバッファに積まれているか判別する（４１３）。積まれていれば、テンポ値を再計算し（４１４）、そのテンポ値に応じてタイマ１０２の割り込み設定を更新し（４１５）、ステップ４１６に進む。ステップ４１３で、未だ計算に必要な分のデータがバッファになければ、そのままステップ４１６に進む。次に、タイマ１０２から現在時刻を取得し（４１６）、バッファに最後に積まれた時刻から所定時間（ここでは３秒とする）経過しているか判別する（４１７）。経過していたら、クロックソースを内部クロックとし（４１８）、そのテンポ値をディスプレイ１１６に表示し（４１９）、終了する。
【００１６】
以上の処理により、図２で説明した動作が実現される。
【００１７】
なお、テンポに応じた楽音生成の例としては、例えばアルペジオの生成、ソングの再生、伴奏パターン演奏、及びテンポに同期したLFOによるエフェクト付与などの処理がある。上記実施形態では同期情報としてMIDIクロックを用いる例を説明したが、これに限らず、同期信号は、SMPTE、MTC、及びWORDCLOCKなど楽音生成のテンポを制御するものであればなんでもよい。また、上記実施形態では電子楽器を例に説明したが、パソコン＋アプリケーションソフトウェアの形態でもよく、カラオケ装置や、ゲーム装置、自動演奏ピアノなどに適用してもよい。
【００１８】
なお、上記実施形態では、ユーザがテンポを操作する設定操作子１１４としてノブを挙げたが、スライドボリューム型の操作子であってもよいし、数値入力するスイッチ群でもよい。また、ディスプレイ上にソフトウェア的に操作子を表示し操作子をポインティングデバイスとして用いてソフトウェア的な操作子を操作するようにしてもよい。また、ユーザが値を直接設定するのに限らず、ユーザが操作子をタッピングする時間間隔を検出してその時間間隔からテンポを算出してもよい。
【００１９】
なお、上記実施形態では、外部クロックからテンポ値の計算をする際、過去２回分の時間差からテンポを求めるようにしたが、これに限らない。過去３回以上の複数のデータから線形予測など何らかの計算によりテンポ値を計算するようにしてもよい。
【図面の簡単な説明】
【００２０】
【図１】実施形態の電子音楽装置のハードウエア構成を示すブロック図
【図２】テンポの切り替えの様子を示す模式図
【図３】autoモードでの全体の処理の流れを示すフローチャート
【図４】Internalの処理及びExternalの処理のフローチャート
【符号の説明】
【００２１】
１０１…ＣＰＵ、１０２…タイマ、１０３…ＲＯＭ、１０４…ＲＡＭ、１０５…外部記憶装置、１０６…ＭＩＤＩインターフェース、１０７…ＭＩＤＩ機器、１０８…通信Ｉ／Ｆ、１０９…通信ネットワーク、１１２…演奏操作子、１１４…設定操作子、１１６…ディスプレイ、１１７…音源回路、１１８…効果回路、１１９…サウンドシステム、１２０…バスライン、２１１，２１２，２１４，２１５…MIDIクロックの入力タイミング、２１３…テンポを下げるノブ操作のタイミング、２０２…クロックソース、２０３…テンポ値。
【図１】
2009180891.tif 000003
【図２】
2009180891.tif 000004
【図３】
2009180891.tif 000005
【図４】
2009180891.tif 000006