JP3171759B2 - 自動演奏装置 - Google Patents
自動演奏装置Info
- Publication number
- JP3171759B2 JP3171759B2 JP26632694A JP26632694A JP3171759B2 JP 3171759 B2 JP3171759 B2 JP 3171759B2 JP 26632694 A JP26632694 A JP 26632694A JP 26632694 A JP26632694 A JP 26632694A JP 3171759 B2 JP3171759 B2 JP 3171759B2
- Authority
- JP
- Japan
- Prior art keywords
- tempo
- data
- automatic performance
- storage means
- switch
- 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
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
自動演奏を行う自動演奏装置に関する。
奏データを読み出して楽音信号を生成することにより自
動演奏を行う自動演奏装置が知られている。かかる自動
演奏装置には、自動演奏のテンポを変更するためのテン
ポ変更スイッチが設けられている。このテンポ変更スイ
ッチを用いれば、演奏者は、自動演奏を好みのテンポに
設定することができる。
データには、発音/消音を指示するノートオン/オフデ
ータ等の他に各種制御を行うための制御データが含まれ
ている。かかる制御データの1つにテンポ変更を指示す
るテンポデータが定義されている。このテンポデータは
テンポの絶対値(以下。「絶対テンポ」という。)を指
定するようになっており、例えば自動演奏データの先頭
部分或いは自動演奏データ中の任意の箇所に挿入され
る。そして、自動演奏データを順次読み出して楽音を発
生する際に、このテンポデータが読み出されると自動演
奏のテンポはテンポデータで指定されたテンポに変更さ
れる。
たテンポデータ(以下、「初期テンポデータ」とい
う。)によってその曲の初期テンポが決定され、曲の進
行に応じて盛り上がり感を出すべき部分には例えばテン
ポを上げるテンポデータを挿入しておき、これらを順次
読み出して発音することにより曲全体の印象が決定され
るようになっている。このように構成されている自動演
奏装置において、その曲を通常の態様で演奏させる場合
は、自動演奏データ中で出現したテンポデータに従って
順次テンポが決定されて自動演奏が進んでいくので問題
はない。
合わせて曲を練習する場合に、テンポを遅く又は速くし
たい場合がある。かかる場合は、例えば操作パネルに設
けられたテンポ変更スイッチを操作してテンポを好みの
テンポに変更する。しかしながら、曲中にテンポデータ
が存在すると、テンポ変更スイッチで設定されたテンポ
が、自動演奏データ中のテンポデータで指定されたテン
ポに変更されてしまう。従って、従来の自動演奏装置で
は、元のテンポに戻すためにテンポを設定し直す必要が
あった。
データ中に出現したテンポデータを無視する機能を有す
る自動演奏装置も開発されている。この自動演奏装置で
は、演奏者がテンポ変更スイッチで設定したテンポは変
更されないが、曲全体が同一テンポで演奏されることに
なるので、原曲と印象が異なってしまうという問題があ
った。
データの途中に出現するテンポデータ(初期テンポデー
タ以外)を相対値で記憶する自動演奏装置が知られてい
る。上記相対値としては、例えば現テンポに対する差分
又は割合が用いられている。しかしながら、この自動演
奏装置に適用する自動演奏データは絶対値テンポのテン
ポデータを用いることができないので直感的にテンポを
把握することができず、自動演奏データの作成が難しい
という問題があった。また、マニュアルでテンポデータ
を作成する場合は差分又は割合の計算が必要であるので
自動演奏データの作成が面倒であると共に、時間がかか
るという問題があった。
のであり、自動演奏データの作成が簡単で、また曲全体
の印象を変えることなくテンポを変更することのできる
自動演奏装置を提供することを目的とする。
は、上記目的を達成するために、予め記憶手段に記憶さ
れた自動演奏データであって、テンポを絶対値で指定す
るテンポデータが含まれたものを順次読み出して再生す
ることにより自動演奏を行う自動演奏装置において、テ
ンポを設定するテンポ操作子と、該テンポ操作子で設定
されたテンポに対応するテンポデータを記憶する第1の
テンポ記憶手段と、該前記テンポ操作子でテンポが設定
された際に前記記憶手段から最も最近に読み出されたテ
ンポデータを記憶する第2のテンポ記憶手段と、前記記
憶手段からテンポデータが読み出された場合に、該テン
ポデータを前記第1の記憶手段と前記第2の記憶手段と
に記憶されている各テンポデータに応じて加工して新た
なテンポデータを算出する算出手段と、該算出手段で算
出されたテンポデータに応じたテンポで自動演奏を行う
自動演奏手段、とを備えたことを特徴とする。
的で、請求項1に記載の発明において、前記算出手段
は、前記記憶手段から読み出されたテンポデータに、前
記第1の記憶手段に記憶されているテンポデータと前記
第2の記憶手段に記憶されているテンポデータとの比を
乗じて新たなテンポデータを算出することを特徴とす
る。
的で、請求項1に記載の発明において、前記算出手段
は、前記記憶手段から読み出されたテンポデータに、前
記第1の記憶手段に記憶されているテンポデータと前記
第2の記憶手段に記憶されているテンポデータとの差を
加算して新たなテンポデータを算出することを特徴とす
る。
段に絶対値テンポを指定するテンポデータが含まれた自
動演奏データを記憶しておき、この記憶手段から自動演
奏データを順次読み出して再生することにより楽音を発
生する。かかる再生状態において、テンポ操作子により
テンポが設定されると、そのテンポ操作子で設定された
テンポに対応するテンポデータを第1の記憶手段に記憶
すると共に、その時点で記憶手段から最も最近に読み出
されたテンポデータを第2のテンポ記憶手段に記憶して
おく。ここに、第1の記憶手段に記憶されたテンポデー
タは操作者が所望するテンポを実現するためのデータで
あり、第2の記憶手段に記憶されたテンポデータは、曲
本来のテンポを実現するためのデータである。
ータが読み出された場合は、その読み出されたテンポデ
ータを、第1の記憶手段と第2の記憶手段とに記憶され
ている各テンポデータに応じて加工して新たなテンポデ
ータを算出するようにしている。これにより、記憶手段
に記憶するテンポデータは絶対テンポを示すデータであ
っても、上記加工により相対的に変化するテンポを実現
できるので自動演奏データの作成が簡単になり、また、
自動演奏データ中にテンポデータが出現した場合でも、
そのテンポデータに対して相対的にテンポを変更するこ
とができるので曲全体の印象を変えることのないテンポ
変化を実現できる。
段からテンポデータが読み出された場合は、その読み出
されたテンポデータに、第1の記憶手段と第2の記憶手
段とに記憶されている各テンポデータの比を乗じて新た
なテンポデータを算出するようにしている。これによ
り、操作者が所望するテンポと曲本来のテンポとの比率
をもって新たなテンポが決定されることになる。従っ
て、記憶手段に記憶するテンポデータは絶対テンポを示
すデータであっても相対的に変化するテンポとなるので
自動演奏データの作成が簡単になり、また、曲全体の印
象を変えることのないテンポ変化を実現できる。
段からテンポデータが読み出された場合は、その読み出
されたテンポデータに、第1の記憶手段と第2の記憶手
段とに記憶されている各テンポデータの差を加算して新
たなテンポデータを算出するようにしている。これによ
り、操作者が所望するテンポと曲本来のテンポとの差分
をもって新たなテンポが決定されることになる。従っ
て、記憶手段に記憶するテンポデータは絶対テンポを示
すデータであっても相対的に変化するテンポとなるので
自動演奏データの作成が簡単になり、また、曲全体の印
象を変えることのないテンポ変化を実現できる。
図面を参照しながら詳細に説明する。通常の自動演奏装
置は、例えばリズム、コード、ベース、メロディ等とい
った複数のパートを有するが、以下の実施例では、説明
を簡単にするために1つのパートの自動演奏を行う自動
演奏装置について説明する。なお、以下の実施例では1
つのパートを有する自動演奏装置について説明するが、
本発明の自動演奏装置で取扱うことのできるパートの数
は1つに限定されず、任意の数を用いることができる。
構成を示すブロック図である。本自動演奏装置は、中央
処理装置(以下、「CPU」という。)10、リードオ
ンリメモリ(以下、「ROM」という。)11、ランダ
ムアクセスメモリ(以下、「RAM」という。)12及
び音源17がシステムバス20で相互に接続されて構成
されている。システムバス20は、例えばアドレス信
号、データ信号又は制御信号等を送受するバスラインで
ある。
る制御プログラムに従って本自動演奏装置の各部を制御
する。本発明の算出手段及び自動演奏手段の一部は、こ
のCPU10により実現されている。このCPU10が
行う処理の詳細については後述する。また、CPU10
には割込入力端子ITが設けられており、後述するタイ
マ15からの割込信号が供給されるようになっている。
この割込信号によるタイマ割込は、その時点で設定され
ているテンポに応じた時間間隔(1ステップタイムに相
当する時間)で発生される。このタイマ割込は、後述す
る自動演奏処理の進行を管理するために使用される。ま
た、このCPU10には操作パネル13及び外部インタ
フェース14が接続されている。
御するための各種スイッチ、表示器等が設けられてい
る。この操作パネル13の詳細については後述する。
置と外部装置との間のデータの送受を制御するために使
用される。この外部インタフェース14としては、外部
に接続される機器の種類に応じて、例えばMIDIイン
タフェース、RS232Cインタフェース、SCSIイ
ンタフェース等の汎用インタフェース又は独自の規格を
有する各種インタフェースを用いることができる。外部
装置としては、例えば他の電子楽器、コンピュータ、シ
ーケンサ等が挙げられる。
ンタフェース14で受信される。この受信されたデータ
がCPU10によって処理されることにより楽音が発生
される。また、操作パネル13が操作されることにより
発生されたデータは、各インタフェースの種類に合致し
た形式のデータに変換され、外部インタフェース14を
介して外部装置に送信される。これにより、本自動演奏
装置の操作パネル13から外部装置を制御することも可
能となっている。
10の制御プログラムが格納される他、CPU10が使
用する種々の固定データが記憶されている。また、この
ROM11には、所定の音色・音高を有する楽音を発生
させるための音色パラメータが音色・音域毎に記憶され
ている。音色パラメータは、例えば波形アドレス、周波
数データ、エンベロープデータ、フィルタ係数等で構成
されている。
わせるための自動演奏データが記憶されている。本実施
例の自動演奏装置には複数の曲が内蔵されており、各曲
用の自動演奏データは、「ソング番号」と呼ばれる識別
子が付されて曲毎に格納されている。現在選択されてい
る曲のソング番号は、RAM12に設けられるソング番
号レジスタに記憶される。
トオンデータ、消音を指示するノートオフデータ、テン
ポ変更を指示するテンポデータ、小節の区切りを示すバ
ーデータ、その他の制御データ等が含まれている。上記
ノートオンデータ又はノートオフデータは、例えば発音
タイミングを指定するステップタイムデータ、音高(音
程)を指定するキーナンバ、音の強さ(ベロシティ)を
指定するベロシティデータ及び音符長を指定するゲート
タイムデータを1組(これらが1つの音符に対応す
る。)として構成されている。また、テンポデータは、
処理タイミングを指定するステップタイムデータとテン
ポを指定する絶対値テンポデータとが1組として構成さ
れている。バーデータは、その旨を示すコードにより構
成されている。以下においては、上記1組のデータを単
位自動演奏データという。各曲の自動演奏データは、上
記単位自動演奏データが複数集合して構成されている。
る種々のデータを一時的に記憶するために使用される。
このRAM12には、本自動演奏装置を制御するための
各種レジスタ、カウンタ、フラグ等が定義されている。
例えば、新パネルデータレジスタ、旧パネルデータレジ
スタ、プレイフラグ、自動演奏データの読出アドレスを
記憶するためのリードポインタ、ステップタイムカウン
タ等もこのRAM12に定義されている。本実施例で使
用する各種レジスタ、カウンタ、フラグ等については、
以下において出現する都度説明するが、ここでは、本発
明に直接関係するテンポを制御するために使用される主
なバッファについて説明しておく。 (イ)テンポバッファ 現在使用されているテンポデータが記憶されるバッファ
である。テンポデータとしては、例えば20〜250程
度が使用される。 (ロ)リードテンポバッファ 自動演奏データの先頭又は曲中に存在するテンポデータ
が読み出されたときに、そのテンポデータが記憶される
バッファである。 (ハ)基準テンポバッファ 操作パネル13上でテンポが変更された時に、リードテ
ンポバッファの内容が記憶されるバッファである。この
基準テンポバッファは、第2の記憶手段に対応する。 (ニ)設定テンポバッファ 操作パネル13上で設定されたテンポデータが記憶され
るバッファである。この設定テンポバッファは、第1の
記憶手段に対応する。
マで構成することができる。このタイマ15は、CPU
10からセットされたデータに応じた時間間隔で割込信
号を発生する。CPU10は、テンポバッファに格納さ
れているテンポデータに基づきそのテンポデータに応じ
たタイマデータを生成し、これをタイマ15にセットす
る。このタイマデータは、その時点のテンポにおける1
ステップタイムに相当する時間間隔で割込信号を発生す
るようなデータである。
17、増幅器18及びスピーカ19により構成されてい
る。音源17は複数のオシレータを備えている。この音
源17は、詳細は図示しないが、波形データが記憶され
た波形メモリ、この波形メモリから波形データを読み出
す波形読出回路、この波形読出回路で読み出された波形
データにエンベロープを付加するためのエンベロープ生
成回路等により構成されている。この音源17は、CP
U10から音色パラメータを受け取ることにより楽音信
号の生成を開始する。この音源17で生成された楽音信
号は増幅器18に送られる。
音信号を所定の増幅率で増幅するために使用される。こ
の増幅器18で増幅された楽音信号はスピーカ19に送
られる。スピーカ19は、楽音信号を音響信号に変換す
る周知のものである。このスピーカ19により、外部イ
ンタフェース14で受信されたデータに応じた楽音又は
自動演奏データに基づく自動演奏音が放音される。
13の一例について、図2を参照しながら説明する。操
作パネル13には、プレイ/ストップスイッチ131、
選曲スイッチ132、ダウンスイッチ133とアップス
イッチ134とで構成されるテンポスイッチ135及び
表示器130が設けられている。
ば押釦スイッチで構成される。このプレイ/ストップス
イッチ131は、演奏者が自動演奏の開始又は停止を制
御するために使用される。このプレイ/ストップスイッ
チ131の設定状態は、RAM12に設けられたプレイ
フラグにより記憶される。自動演奏停止中(ストップ
中)、つまりプレイフラグが「0」の状態でプレイ/ス
トップスイッチ131が押されるとプレイフラグが
「1」にセットされると共に自動演奏が開始される。一
方、自動演奏中(プレイ中)、つまりプレイフラグが
「1」の状態でプレイ/ストップスイッチ131が押さ
れるとプレイフラグが「0」にクリアされると共に自動
演奏は停止される。
選択するために使用されるスイッチであり、例えば押釦
スイッチで構成される。この選曲スイッチ132が押さ
れる毎にソング番号がインクリメントされ、ROM11
に記憶されているソング番号に対応する曲(自動演奏デ
ータ)が順次循環しながら選択される。
応するものであり、ダウンスイッチ133及びアップス
イッチ134により構成されている。ダウンスイッチ1
33は、例えば押釦スイッチで構成されており、テンポ
を小さくするために使用される。このダウンスイッチ1
33が押下されると、その度に設定テンポバッファの内
容がデクリメントされる。アップスイッチ134は、例
えば押釦スイッチで構成されており、テンポを小さくす
るために使用される。このアップスイッチ134が押下
されると、その度に設定テンポバッファの内容がインク
リメントされる。
を用いた例を示したが、これ以外の種々のスイッチ、例
えば、タッチスイッチ、ポインティングデバイス等とい
ったオンイベントを発生可能な各種スイッチを用いるこ
とができる。また、選曲スイッチ132及びテンポスイ
ッチ135としては、押釦スイッチではなく、ソング番
号又はテンポ値を直接入力することのできる例えばテン
キー、ダイヤル等を用いることもできる。
ために使用される。この表示器130としては、例えば
LCD表示器、LED表示器等を用いることができる。
この表示器には、プレイ/ストップスイッチ131の押
下により設定された自動演奏状態(プレイ中又はストッ
プ中の区別)、選曲スイッチ132で選曲された曲のソ
ング番号又は名称、テンポスイッチ135で設定された
テンポ値、その他の種々のメッセージが表示される。
種スイッチや表示器、例えば音色選択スイッチ、音響効
果指定スイッチ、音量スイッチ及びこれら各スイッチに
対応したLED表示器等が設けられているが、本発明と
は直接関係しないので図示及び説明は省略する。
3とCPU10との間のデータ送受を制御するためのパ
ネルインタフェース回路(図示しない)が含まれてい
る。このパネルインタフェース回路は、CPU10から
のスキャン指令に応じて各スイッチをスキャンする。こ
のスキャンにより得られた各スイッチの開閉状態を示す
信号(以下、「パネルデータ」という。)は、各スイッ
チに対応したビット列で構成されており、システムバス
20を介してCPU10に送られる。このパネルデータ
は、操作パネル13上のスイッチのオン又はオフイベン
トが発生したかどうかを判断するために使用される(詳
細は後述する)。
U10から送られてきた表示データを表示器130に送
る。これにより、CPU10から送られてきた例えば文
字データに従ったメッセージが表示器130に表示さ
れ、また図示しないLED表示器等が点灯される。
したフローチャートを参照しながら本自動演奏装置の動
作について説明する。なお、上記フローチャートに示さ
れた動作は、何れもCPU10の処理により実現される
ものである。
ローチャートであり、電源の投入により起動される。電
源が投入されると、先ず、初期化処理が行われる(ステ
ップS10)。この初期化処理では、CPU10の内部
のハードウエアが初期状態に設定されると共に、RAM
12に定義されているレジスタ、カウンタ、フラグ等が
初期状態に設定される。また、この初期化処理では、音
源17に所定のデータが送られることにより、電源投入
時に不要な音が発生されるのを防止するための処理が行
われる。更に、この初期化処理では、図示しない各種I
/Oポートの初期化も行われる。
ネル処理が行われる(ステップS11)。このパネル処
理では、操作パネル13の各スイッチの操作に応じた処
理が行われる。このパネル処理の詳細については後述す
る。
プS12)。この自動演奏処理では、プレイ中であれば
ROM11に記憶された自動演奏データに基づいて発音
する処理が行われる。この自動演奏処理の詳細について
は後述する。
(ステップS13)。この外部入力データ処理は、外部
インタフェース14から入力されたデータに応じた処理
が行われる。例えば、外部インタフェース14がMID
Iインタフェースである場合は、ノートオン又はノート
オフメッセージが入力されると発音又は消音処理が行わ
れ、コントロールチェンジのメッセージが入力される
と、後述するパネル処理と同様の処理が行われる。
プS11〜S13の処理が繰り返される。この繰り返し
実行の過程で、パネル操作に基づくイベントが発生し、
或いは外部インタフェース14からデータが入力される
と、それらに応じた処理が行われ、また自動演奏データ
に基づく発音処理が行われることにより自動演奏装置と
しての各種機能が実現されている。
に応じて、上記メインルーチンの各処理に割り込んで行
われる。
リメントが行われる(ステップS15)。即ち、RAM
12に設けられたクロックカウンタの内容がインクリメ
ントされる。このクロックカウンタの内容は、後述する
自動演奏処理において参照され、発音処理を行うかどう
かを判断するタイミング(以下、「発音処理タイミン
グ」という。)が到来したかどうかを判断するために使
用される。この発音処理タイミングは、発音中の音長を
決定するゲートタイムをデクリメントするタイミングと
しても使用される。
ると、このタイマ割込処理ルーチンからリターンして、
メインルーチンの割り込まれた位置に戻る。
ーチンのステップS11で行われるパネル処理の詳細に
ついて説明する。
り込みが行われる(ステップS20)。即ち、CPU1
0は、操作パネル13からパネルデータ(以下、「新パ
ネルデータ」という。)を取り込み、RAM12の新パ
ネルデータレジスタに格納する。次いで、プレイ/スト
ップスイッチ131がオンにされたかどうかが調べられ
る(ステップS21)。これは、新パネルデータのプレ
イ/ストップスイッチ131に対応するビットが「1」
であり、且つ、前回のパネル処理で取り込まれて旧パネ
ルデータレジスタに格納されているパネルデータ(以
下、「旧パネルデータ」という。)のプレイ/ストップ
スイッチ131に対応するビットが「0」であるかどう
かを調べることにより行われる。以下の選曲スイッチ1
32、ダウンスイッチ133及びアップスイッチ134
がオンにされたかどうかの判断も上記と同様の方法で行
われる。なお、新パネルデータは、図4のフローチャー
トでは図示を省略してあるが、本パネル処理ルーチンの
最後で旧パネルデータレジスタに格納される。
イッチ131がオンにされたことが判断されると、次い
で、プレイ中であるかどうかが調べられる(ステップS
22)。これは、プレイフラグが「1」であるかどうか
を調べることにより行われる。以下においても同じであ
る。ここで、プレイ中であることが判断されると、プレ
イフラグが「0」にクリアされると共に、消音処理が行
われる(ステップS23)。この際、ストップ中になっ
た旨のメッセージが表示器130に表示される。消音処
理は、所定のデータを音源17に送ることにより実現さ
れる。以上の処理により、自動演奏中にプレイ/ストッ
プスイッチ131が押されることにより、自動演奏が停
止される機能が実現されている。
ないことが判断されると、プレイフラグが「1」にセッ
トされると共に、リードポインタの初期化が行われる
(ステップS24)。この際、プレイ中になった旨のメ
ッセージが表示器130に表示される。ここにリードポ
インタとは、RAM12に設けられるポインタであり、
ROM11から現在読み出すべき単位自動演奏データの
アドレスを保持するために使用される。このステップS
24の処理により、その時点で選択されているソング番
号で指定される曲の自動演奏データの先頭アドレスが、
リードポインタにセットされる。これにより、プレイ/
ストップスイッチ131の押下に応じて各リードポイン
タにセットされた読出アドレスから自動演奏データの読
み出しが開始され、自動演奏が曲の先頭から開始される
機能が実現されている。なお、上記ステップS21でプ
レイ/ストップスイッチ131がオンにされていないこ
とが判断されると、ステップS22〜S24の処理はス
キップされる。
たかどうかが調べられる(ステップS25)。ここで、
選曲スイッチ132がオンにされたことが判断される
と、次いで、プレイ中であるかどうかが調べられる(ス
テップS26)。そして、プレイ中でないことが判断さ
れると、ソング番号変更処理が行われる(ステップS2
7)。このソング番号変更処理では、より具体的には以
下の(ホ)〜(チ)の処理が行われる。 (ホ)ソング番号のインクリメント ソング番号レジスタの内容がインクリメントされる。こ
の際、変更後のソング番号又はそのソング番号に対応す
る曲の名称が表示器130に表示される。 (ヘ)テンポバッファ及びリードテンポバッファのセッ
ト リードポインタで指定されるROM11内の単位自動演
奏データが読み出され、その単位自動演奏データに含ま
れるテンポデータが初期テンポデータとしてテンポバッ
ファ及びリードテンポバッファにセットされる。 (ト)テンポ表示 テンポバッファにセットされたテンポデータに対応する
テンポ値が表示器130に表示される。これにより、演
奏者は、その曲の初期テンポを知ることができるように
なっている。 (チ)設定テンポバッファのクリア 設定テンポバッファがゼロにクリアされる。以上の処理
により、テンポバッファに格納されたテンポデータ、つ
まり自動演奏データの先頭に格納されているテンポデー
タに応じたテンポで自動演奏が開始されることになる。
ることが判断されると、ステップS27の処理はスキッ
プされる。換言すれば、プレイ中における選曲スイッチ
132の操作は無効である。また、上記ステップS25
で選曲スイッチ132がオンにされていないことが判断
されると、ステップS26及びS27の処理はスキップ
される。
イッチ133又はアップスイッチ134の何れか)がオ
ンにされたかどうかが調べられる(ステップS28)。
ここでテンポスイッチ135がオンにされたことが判断
されると、テンポ変更処理が行われる。より具体的に
は、以下の(リ)〜(ル)の処理が行われる。なお、こ
のテンポスイッチ135はプレイ中であるかどうかにか
かわらず常に有効である。 (リ)設定テンポの変更及びテンポバッファへのセット ダウンスイッチ133がオンにされたかどうかが調べら
れ、オンにされたことが判断されると設定テンポバッフ
ァの内容がデクリメントされる。次いで、アップスイッ
チ134がオンにされたかどうかが調べられ、オンにさ
れたことが判断されると、設定テンポバッファの内容が
インクリメントされる。この設定テンポバッファの内容
はテンポバッファにセットされ、以後においては、テン
ポスイッチ135で設定されたテンポで自動演奏が行わ
れることになる。 (ヌ)テンポ表示 上記で変更されたテンポバッファのテンポデータに対応
するテンポ値が表示器130に表示される。これによ
り、演奏者は、変更後のテンポを知ることができるよう
になっている。 (ル)リードテンポを基準テンポとする テンポスイッチ135が操作された時点でリードテンポ
バッファに格納されているテンポデータが基準テンポバ
ッファに格納される。即ち、テンポスイッチ135が押
下された時点で使用されていた自動演奏データ中のテン
ポデータが基準テンポバッファにセットされ、以後に自
動演奏データ中にテンポデータが出現した場合は、この
基準テンポバッファの内容を基準としてテンポスイッチ
135で設定されたテンポとの比又は差(詳細は後述す
る)をとって新たなテンポが算出されることになる。
パネル処理ルーチンからリターンしてメインルーチンに
戻る。また、上記ステップS28でテンポスイッチ13
5がオンにされなかったことが判断された場合は、ステ
ップS29の処理は行われず、このパネル処理ルーチン
からリターンしてメインルーチンに戻る。
ーチンのステップS12で行われる自動演奏処理の詳細
について説明する。
タの内容を参照することによりクロックが「0」である
かどうかが調べられる(ステップS40)。そして、ク
ロックが「0」であることが判断されると、先に自動演
奏処理のステップS41でクロックがデクリメントされ
て「0」にされてからタイマ割込が発生していない、つ
まり所定時間(1ステップタイムに相当する時間)が経
過しておらず発音処理タイミングに未だ至っていないこ
とが認識され、以下の処理を行わずに本自動演奏処理ル
ーチンからリターンしてメインルーチンに戻る。即ち、
本自動演奏処理ルーチンはメインルーチンから一定周期
でコールされるが、発音処理タイミングに至っていない
場合はステップS41以下の自動演奏処理は行われな
い。
されると、発音処理タイミングが到来したことが認識さ
れ、クロックのデクリメントが行われる(ステップS4
1)。次いで、プレイ中であるかどうかが調べられ(ス
テップS42)、プレイ中でないことが判断されると、
ステップS43以下の処理は行わずにこの自動演奏処理
ルーチンからリターンしてメインルーチンに戻る。この
ように、プレイ中でない場合はステップS43以下の自
動演奏処理を行わないという構成により自動演奏のスト
ップ機能が実現されている。
が認識されると、次いで、ステップインクリメント処理
が行われる(ステップS43)。このステップインクリ
メント処理では、ステップタイムカウンタの内容がイン
クリメントされる。ここにステップタイムカウンタはR
AM12に設けられるカウンタであり、例えば小節先頭
からの時間経過を計数するために使用される。このステ
ップタイムカウンタは、自動演奏データ中にバーデータ
が出現した際にゼロにクリアされ、以後はプレイ中であ
れば1ステップタイム時間経過毎にインクリメントされ
る。このインクリメント機能が、本ステップS43によ
り実現されている。このステップタイムカウンタの内容
は、自動演奏データ中のステップタイムデータと比較さ
れ、発音タイミング、消音タイミング、テンポ変更タイ
ミング(以下。「処理タイミング」と総称する。)等が
到来したかどうかを判断するために使用される。
44)。この消音処理は、発音中の全ての音に対応して
RAM12に設けられている発音中レジスタにセットさ
れているゲートタイム(ノートオンの自動演奏データを
実行した際にセットされる。)をデクリメントし、この
デクリメントの結果がゼロになった音を消音する処理で
ある。これにより、自動演奏データ中のゲートタイムデ
ータで与えられた音符長だけ発音するという機能が実現
されている。
11から単位自動演奏データが読み出され、この単位自
動演奏データに含まれるステップタイムデータとステッ
プタイムカウンタで計数されているステップとが一致す
るかどうかが調べられる(ステップS45)。そして、
一致しないことが判断されると、その単位自動演奏デー
タの処理タイミングに至っていないものと判断され、ス
テップS46以下の処理は行わずにこの自動演奏処理ル
ーチンからリターンしてメインルーチンに戻る。
ると、次いで、当該自動演奏データはテンポデータであ
るかどうかが調べられる(ステップS46)。これは、
例えば自動演奏データ中の特定バイトがテンポデータを
示すコードになっているかどうかを調べることにより行
われる。そして、テンポデータでないことが判断される
と、テンポデータ以外のデータ処理が行われる(ステッ
プS47)。例えば、ノートオンデータであれば発音処
理が行われる。発音処理では、上記ROM11から読み
出された自動演奏データ中のキーナンバ、ベロシティ及
びゲートタイムが発音中レジスタに格納されると共に、
キーナンバ及びベロシティに対応する音色パラメータが
ROM11から読み出されて音源17に送られる。これ
により、単位自動演奏データに応じた楽音が発生される
ことになる。また、ノートオフデータであれば消音処理
が行われる。消音処理は、所定のデータを音源17に送
ることにより実現される。
ことが判断されると、以下の(ヲ)〜(ヨ)の処理が行
われる(ステップS48)。 (ヲ)テンポデータに含まれる絶対値テンポを指定する
データがリードテンポバッファに格納される。 (ワ)以下の計算式で新しいテンポデータが算出され
る。 テンポ=リードテンポ×設定テンポ/基準テンポ・・・(1) 即ち、基準テンポバッファに格納されている基準テンポ
データに対する設定テンポバッファに格納されている設
定テンポデータの割合を求め、これにリードテンポバッ
ファに格納されているリードテンポを乗算して新しいテ
ンポが求められる。この算出された新しいテンポデータ
はテンポバッファに格納される。
開始された後、テンポスイッチ135でテンポ=60に
変更されたとする。この場合、テンポ=60で自動演奏
が行われるが、この状態で自動演奏データ中にテンポ=
150にするテンポデータが出現したとすると、新しい
テンポは、150×60/120=75に変更される。
このように、新しいテンポは、自動演奏データ中に出現
した絶対値テンポデータを、テンポスイッチ135が押
された時点で使用されていたテンポとテンポスイッチ1
35により新たに設定されたテンポとの比によって案分
されて算出されるので、テンポを相対的に変化させるこ
とができるものとなっている。
よって求めることもできる。テンポ=リードテンポ+
(設定テンポ−基準テンポ)・・・(2)上述した例で
は、新しいテンポは、150+(60−120)=90
となる。このように、新しいテンポは、自動演奏データ
中に出現した絶対値テンポデータに、テンポスイッチ1
35が押された時点で使用されていたテンポとテンポス
イッチ135により新たに設定されたテンポとの差を加
えて算出されるので、テンポを相対的に変化させること
ができる。この場合は計算が簡単になるという利点があ
る。
データに対応するテンポ値が表示器130に表示され
る。これにより、演奏者は、その曲の初期テンポを知る
ことができるようになっている。 (ヨ)タイマ割込インターバル変更 上記算式で算出されてテンポバッファにセットされてい
るテンポデータに基づき、そのテンポデータに応じたタ
イマデータを生成し、これをタイマ15にセットする。
このタイマデータは、上述したように、その時点のテン
ポにおける1ステップタイムに相当する時間間隔で割込
信号を発生するようなデータである。
が次の単位自動演奏データのアドレスに変更される(ス
テップS49)。各単位自動演奏データが4バイトで構
成されるものとすると、リードポインタの内容が「+
4」される。その後ステップS45に戻り、以下同様の
処理が繰り返される。この繰り返し処理により、同一の
ステップタイムデータを有する単位自動演奏データの全
てについて処理が行われる。そして、異なるステップタ
イムデータを有する単位自動演奏データが読み出された
場合に、ステップS45でその旨が判断されてこの自動
演奏処理ルーチンからリターンしてメインルーチンに戻
る。
予めROM11に絶対値テンポを指定するテンポデータ
が含まれた自動演奏データを記憶しておき、このROM
11から自動演奏データを順次読み出して再生すること
により楽音を発生する。かかる再生状態において、テン
ポスイッチ135によりテンポが設定されると、そのテ
ンポスイッチ135で設定されたテンポに対応するテン
ポデータを設定テンポバッファに記憶すると共に、その
時点でROM11から最も最近に読み出されたテンポデ
ータを基準テンポバッファに記憶しておく。ここに、設
定テンポバッファに記憶されたテンポデータは操作者が
所望するテンポを実現するためのデータであり、基準テ
ンポバッファに記憶されたテンポデータは、曲本来のテ
ンポを実現するためのデータである。
ータが読み出された場合は、その読み出されたテンポデ
ータに、基準テンポバッファと設定テンポバッファとに
記憶されている各テンポデータの比を乗じて新たなテン
ポデータを算出するようにしている。これにより、操作
者が所望するテンポと曲本来のテンポとの比率をもって
新たなテンポが決定されることになる。従って、ROM
11に記憶するテンポデータは絶対テンポを示すデータ
であっても相対的に変化するテンポとなるので自動演奏
データの作成が簡単になり、また、曲全体の印象を変え
ることのないテンポ変化を実現できる。
出された場合は、その読み出されたテンポデータに、基
準テンポバッファと設定テンポバッファとに記憶されて
いる各テンポデータの差を加算して新たなテンポデータ
を算出するようにしている。これにより、操作者が所望
するテンポと曲本来のテンポとの差分をもって新たなテ
ンポが決定されることになる。従って、上記と同様に、
ROM11に記憶するテンポデータは絶対テンポを示す
データであっても相対的に変化するテンポとなるので自
動演奏データの作成が簡単になり、また、曲全体の印象
を変えることのないテンポ変化を実現できる。
自動演奏データの作成が簡単で、また曲全体の印象を変
えることなくテンポを変更することのできる自動演奏装
置を提供できる。
ロック図である。
ある。
すフローチャートであり、(B)は本発明の実施例のタ
イマ割込処理ルーチンを示すフローチャートである。
ローチャートである。
フローチャートである。
Claims (3)
- 【請求項1】 予め記憶手段に記憶された自動演奏デー
タであって、テンポを絶対値で指定するテンポデータが
含まれたものを順次読み出して再生することにより自動
演奏を行う自動演奏装置において、 テンポを設定するテンポ操作子と、 該テンポ操作子で設定されたテンポに対応するテンポデ
ータを記憶する第1のテンポ記憶手段と、 該前記テンポ操作子でテンポが設定された際に前記記憶
手段から最も最近に読み出されたテンポデータを記憶す
る第2のテンポ記憶手段と、 前記記憶手段からテンポデータが読み出された場合に、
該テンポデータを前記第1の記憶手段と前記第2の記憶
手段とに記憶されている各テンポデータに応じて加工し
て新たなテンポデータを算出する算出手段と、前記テンポ操作子が操作された場合は、該テンポ操作子
により設定されたテンポで自動演奏を行い、前記記憶手
段からテンポデータが読み出された場合は、前記 算出手
段で算出されたテンポデータに応じたテンポで自動演奏
を行う自動演奏手段、 とを備えたことを特徴とする自動演奏装置。 - 【請求項2】 前記算出手段は、前記記憶手段から読み
出されたテンポデータに、前記第1の記憶手段に記憶さ
れているテンポデータと前記第2の記憶手段に記憶され
ているテンポデータとの比を乗じて新たなテンポデータ
を算出することを特徴とする請求項1に記載の自動演奏
装置。 - 【請求項3】 前記算出手段は、前記記憶手段から読み
出されたテンポデータに、前記第1の記憶手段に記憶さ
れているテンポデータと前記第2の記憶手段に記憶され
ているテンポデータとの差を加算して新たなテンポデー
タを算出することを特徴とする請求項1に記載の自動演
奏装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26632694A JP3171759B2 (ja) | 1994-10-05 | 1994-10-05 | 自動演奏装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26632694A JP3171759B2 (ja) | 1994-10-05 | 1994-10-05 | 自動演奏装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH08106285A JPH08106285A (ja) | 1996-04-23 |
JP3171759B2 true JP3171759B2 (ja) | 2001-06-04 |
Family
ID=17429378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26632694A Expired - Fee Related JP3171759B2 (ja) | 1994-10-05 | 1994-10-05 | 自動演奏装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3171759B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2770767B2 (ja) * | 1995-03-07 | 1998-07-02 | ヤマハ株式会社 | 自動演奏装置 |
JP2001125568A (ja) * | 1999-10-28 | 2001-05-11 | Roland Corp | 電子楽器 |
JP4973983B2 (ja) * | 2007-02-14 | 2012-07-11 | カシオ計算機株式会社 | 自動演奏装置および自動演奏処理プログラム |
-
1994
- 1994-10-05 JP JP26632694A patent/JP3171759B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH08106285A (ja) | 1996-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2602458B2 (ja) | 自動演奏装置 | |
JPS6157640B2 (ja) | ||
JP3743024B2 (ja) | 演奏練習装置 | |
JP3171759B2 (ja) | 自動演奏装置 | |
JP3267777B2 (ja) | 電子楽器 | |
JPH06259064A (ja) | 電子楽器 | |
JP3192597B2 (ja) | 電子楽器の自動演奏装置 | |
JP3173704B2 (ja) | 自動演奏装置 | |
JP3743364B2 (ja) | 演奏練習装置 | |
JP3192579B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JP3226268B2 (ja) | コンサートマジック自動演奏装置 | |
JP3169535B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JP3150580B2 (ja) | 自動演奏装置及び自動演奏方法 | |
JP4214845B2 (ja) | 自動アルペジオ装置および同装置に適用されるコンピュータプログラム | |
JP3077787B2 (ja) | 電子楽器のテンポ調整装置 | |
JP3385545B2 (ja) | 自動演奏装置 | |
JP2665854B2 (ja) | 自動演奏装置 | |
JPH07146681A (ja) | 電子楽器 | |
JPH07230286A (ja) | 電子楽器のテンポ設定装置 | |
JP2953937B2 (ja) | 電子楽器の音量調整装置 | |
JPH08106287A (ja) | 自動演奏装置 | |
JPH08106284A (ja) | 電子楽器の自動演奏装置 | |
JPS6238497A (ja) | 電子楽器 | |
JP3649117B2 (ja) | 楽音再生装置及び方法並びに記憶媒体 | |
JP2974471B2 (ja) | 自動演奏装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20010313 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080323 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090323 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100323 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100323 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110323 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120323 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120323 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130323 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130323 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140323 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |