JPH08106285A - 自動演奏装置 - Google Patents

自動演奏装置

Info

Publication number
JPH08106285A
JPH08106285A JP6266326A JP26632694A JPH08106285A JP H08106285 A JPH08106285 A JP H08106285A JP 6266326 A JP6266326 A JP 6266326A JP 26632694 A JP26632694 A JP 26632694A JP H08106285 A JPH08106285 A JP H08106285A
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.)
Granted
Application number
JP6266326A
Other languages
English (en)
Other versions
JP3171759B2 (ja
Inventor
Kazunori Matsuda
寿徳 松田
Takeshi Koike
剛 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kawai Musical Instrument Manufacturing Co Ltd
Original Assignee
Kawai Musical Instrument Manufacturing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kawai Musical Instrument Manufacturing Co Ltd filed Critical Kawai Musical Instrument Manufacturing Co Ltd
Priority to JP26632694A priority Critical patent/JP3171759B2/ja
Publication of JPH08106285A publication Critical patent/JPH08106285A/ja
Application granted granted Critical
Publication of JP3171759B2 publication Critical patent/JP3171759B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 (修正有) 【目的】自動演奏データの作成が簡単で、また曲全体の
印象を変えることなくテンポを変更することのできる自
動演奏装置。 【構成】予め記憶手段11に記憶された自動演奏データ
であって、テンポを絶対値で指定するテンポデータが含
まれたものを順次読み出し再生して自動演奏を行う自動
演奏装置において、テンポ操作子13と、該テンポ操作
子で設定されたテンポに対応するテンポデータを記憶す
る第1のテンポ記憶手段12と、該テンポ操作子でテン
ポが設定された際に記憶手段から最も最近に読み出され
たテンポデータを記憶する第2のテンポ記憶手段12
と、記憶手段からテンポデータが読み出された場合に、
テンポデータを第1の記憶手段と第2の記憶手段とに記
憶されている各テンポデータに応じて加工して新たなテ
ンポデータを算出する算出手段10と、該算出手段で算
出されたテンポデータに応じたテンポで自動演奏を行う
自動演奏手段とを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、テンポを変更しながら
自動演奏を行う自動演奏装置に関する。
【0002】
【従来の技術】従来、予め記憶手段に記憶された自動演
奏データを読み出して楽音信号を生成することにより自
動演奏を行う自動演奏装置が知られている。かかる自動
演奏装置には、自動演奏のテンポを変更するためのテン
ポ変更スイッチが設けられている。このテンポ変更スイ
ッチを用いれば、演奏者は、自動演奏を好みのテンポに
設定することができる。
【0003】一方、記憶手段に記憶されている自動演奏
データには、発音/消音を指示するノートオン/オフデ
ータ等の他に各種制御を行うための制御データが含まれ
ている。かかる制御データの1つにテンポ変更を指示す
るテンポデータが定義されている。このテンポデータは
テンポの絶対値(以下。「絶対テンポ」という。)を指
定するようになっており、例えば自動演奏データの先頭
部分或いは自動演奏データ中の任意の箇所に挿入され
る。そして、自動演奏データを順次読み出して楽音を発
生する際に、このテンポデータが読み出されると自動演
奏のテンポはテンポデータで指定されたテンポに変更さ
れる。
【0004】通常、自動演奏データの先頭部分に置かれ
たテンポデータ(以下、「初期テンポデータ」とい
う。)によってその曲の初期テンポが決定され、曲の進
行に応じて盛り上がり感を出すべき部分には例えばテン
ポを上げるテンポデータを挿入しておき、これらを順次
読み出して発音することにより曲全体の印象が決定され
るようになっている。このように構成されている自動演
奏装置において、その曲を通常の態様で演奏させる場合
は、自動演奏データ中で出現したテンポデータに従って
順次テンポが決定されて自動演奏が進んでいくので問題
はない。
【0005】
【発明が解決しようとする課題】ところが、自動演奏に
合わせて曲を練習する場合に、テンポを遅く又は速くし
たい場合がある。かかる場合は、例えば操作パネルに設
けられたテンポ変更スイッチを操作してテンポを好みの
テンポに変更する。しかしながら、曲中にテンポデータ
が存在すると、テンポ変更スイッチで設定されたテンポ
が、自動演奏データ中のテンポデータで指定されたテン
ポに変更されてしまう。従って、従来の自動演奏装置で
は、元のテンポに戻すためにテンポを設定し直す必要が
あった。
【0006】かかる不具合を回避するために、自動演奏
データ中に出現したテンポデータを無視する機能を有す
る自動演奏装置も開発されている。この自動演奏装置で
は、演奏者がテンポ変更スイッチで設定したテンポは変
更されないが、曲全体が同一テンポで演奏されることに
なるので、原曲と印象が異なってしまうという問題があ
った。
【0007】この問題を解決するものとして、自動演奏
データの途中に出現するテンポデータ(初期テンポデー
タ以外)を相対値で記憶する自動演奏装置が知られてい
る。上記相対値としては、例えば現テンポに対する差分
又は割合が用いられている。しかしながら、この自動演
奏装置に適用する自動演奏データは絶対値テンポのテン
ポデータを用いることができないので直感的にテンポを
把握することができず、自動演奏データの作成が難しい
という問題があった。また、マニュアルでテンポデータ
を作成する場合は差分又は割合の計算が必要であるので
自動演奏データの作成が面倒であると共に、時間がかか
るという問題があった。
【0008】本発明は、かかる事情に鑑みてなされたも
のであり、自動演奏データの作成が簡単で、また曲全体
の印象を変えることなくテンポを変更することのできる
自動演奏装置を提供することを目的とする。
【0009】
【課題を解決するための手段】請求項1に記載の発明
は、上記目的を達成するために、予め記憶手段に記憶さ
れた自動演奏データであって、テンポを絶対値で指定す
るテンポデータが含まれたものを順次読み出して再生す
ることにより自動演奏を行う自動演奏装置において、テ
ンポを設定するテンポ操作子と、該テンポ操作子で設定
されたテンポに対応するテンポデータを記憶する第1の
テンポ記憶手段と、該前記テンポ操作子でテンポが設定
された際に前記記憶手段から最も最近に読み出されたテ
ンポデータを記憶する第2のテンポ記憶手段と、前記記
憶手段からテンポデータが読み出された場合に、該テン
ポデータを前記第1の記憶手段と前記第2の記憶手段と
に記憶されている各テンポデータに応じて加工して新た
なテンポデータを算出する算出手段と、該算出手段で算
出されたテンポデータに応じたテンポで自動演奏を行う
自動演奏手段、とを備えたことを特徴とする。
【0010】請求項2に記載の発明は、上記と同様の目
的で、請求項1に記載の発明において、前記算出手段
は、前記記憶手段から読み出されたテンポデータに、前
記第1の記憶手段に記憶されているテンポデータと前記
第2の記憶手段に記憶されているテンポデータとの比を
乗じて新たなテンポデータを算出することを特徴とす
る。
【0011】請求項3に記載の発明は、上記と同様の目
的で、請求項1に記載の発明において、前記算出手段
は、前記記憶手段から読み出されたテンポデータに、前
記第1の記憶手段に記憶されているテンポデータと前記
第2の記憶手段に記憶されているテンポデータとの差を
加算して新たなテンポデータを算出することを特徴とす
る。
【0012】
【作用】請求項1に記載の発明においては、予め記憶手
段に絶対値テンポを指定するテンポデータが含まれた自
動演奏データを記憶しておき、この記憶手段から自動演
奏データを順次読み出して再生することにより楽音を発
生する。かかる再生状態において、テンポ操作子により
テンポが設定されると、そのテンポ操作子で設定された
テンポに対応するテンポデータを第1の記憶手段に記憶
すると共に、その時点で記憶手段から最も最近に読み出
されたテンポデータを第2のテンポ記憶手段に記憶して
おく。ここに、第1の記憶手段に記憶されたテンポデー
タは操作者が所望するテンポを実現するためのデータで
あり、第2の記憶手段に記憶されたテンポデータは、曲
本来のテンポを実現するためのデータである。
【0013】かかる処理の後に、記憶手段からテンポデ
ータが読み出された場合は、その読み出されたテンポデ
ータを、第1の記憶手段と第2の記憶手段とに記憶され
ている各テンポデータに応じて加工して新たなテンポデ
ータを算出するようにしている。これにより、記憶手段
に記憶するテンポデータは絶対テンポを示すデータであ
っても、上記加工により相対的に変化するテンポを実現
できるので自動演奏データの作成が簡単になり、また、
自動演奏データ中にテンポデータが出現した場合でも、
そのテンポデータに対して相対的にテンポを変更するこ
とができるので曲全体の印象を変えることのないテンポ
変化を実現できる。
【0014】請求項2に記載の発明においては、記憶手
段からテンポデータが読み出された場合は、その読み出
されたテンポデータに、第1の記憶手段と第2の記憶手
段とに記憶されている各テンポデータの比を乗じて新た
なテンポデータを算出するようにしている。これによ
り、操作者が所望するテンポと曲本来のテンポとの比率
をもって新たなテンポが決定されることになる。従っ
て、記憶手段に記憶するテンポデータは絶対テンポを示
すデータであっても相対的に変化するテンポとなるので
自動演奏データの作成が簡単になり、また、曲全体の印
象を変えることのないテンポ変化を実現できる。
【0015】請求項3に記載の発明においては、記憶手
段からテンポデータが読み出された場合は、その読み出
されたテンポデータに、第1の記憶手段と第2の記憶手
段とに記憶されている各テンポデータの差を加算して新
たなテンポデータを算出するようにしている。これによ
り、操作者が所望するテンポと曲本来のテンポとの差分
をもって新たなテンポが決定されることになる。従っ
て、記憶手段に記憶するテンポデータは絶対テンポを示
すデータであっても相対的に変化するテンポとなるので
自動演奏データの作成が簡単になり、また、曲全体の印
象を変えることのないテンポ変化を実現できる。
【0016】
【実施例】以下、本発明の自動演奏装置の実施例につき
図面を参照しながら詳細に説明する。通常の自動演奏装
置は、例えばリズム、コード、ベース、メロディ等とい
った複数のパートを有するが、以下の実施例では、説明
を簡単にするために1つのパートの自動演奏を行う自動
演奏装置について説明する。なお、以下の実施例では1
つのパートを有する自動演奏装置について説明するが、
本発明の自動演奏装置で取扱うことのできるパートの数
は1つに限定されず、任意の数を用いることができる。
【0017】図1は、本発明の自動演奏装置の概略的な
構成を示すブロック図である。本自動演奏装置は、中央
処理装置(以下、「CPU」という。)10、リードオ
ンリメモリ(以下、「ROM」という。)11、ランダ
ムアクセスメモリ(以下、「RAM」という。)12及
び音源17がシステムバス20で相互に接続されて構成
されている。システムバス20は、例えばアドレス信
号、データ信号又は制御信号等を送受するバスラインで
ある。
【0018】CPU10は、ROM11に記憶されてい
る制御プログラムに従って本自動演奏装置の各部を制御
する。本発明の算出手段及び自動演奏手段の一部は、こ
のCPU10により実現されている。このCPU10が
行う処理の詳細については後述する。また、CPU10
には割込入力端子ITが設けられており、後述するタイ
マ15からの割込信号が供給されるようになっている。
この割込信号によるタイマ割込は、その時点で設定され
ているテンポに応じた時間間隔(1ステップタイムに相
当する時間)で発生される。このタイマ割込は、後述す
る自動演奏処理の進行を管理するために使用される。ま
た、このCPU10には操作パネル13及び外部インタ
フェース14が接続されている。
【0019】操作パネル13には、本自動演奏装置を制
御するための各種スイッチ、表示器等が設けられてい
る。この操作パネル13の詳細については後述する。
【0020】外部インタフェース14は、本自動演奏装
置と外部装置との間のデータの送受を制御するために使
用される。この外部インタフェース14としては、外部
に接続される機器の種類に応じて、例えばMIDIイン
タフェース、RS232Cインタフェース、SCSIイ
ンタフェース等の汎用インタフェース又は独自の規格を
有する各種インタフェースを用いることができる。外部
装置としては、例えば他の電子楽器、コンピュータ、シ
ーケンサ等が挙げられる。
【0021】外部装置から送られてきたデータは外部イ
ンタフェース14で受信される。この受信されたデータ
がCPU10によって処理されることにより楽音が発生
される。また、操作パネル13が操作されることにより
発生されたデータは、各インタフェースの種類に合致し
た形式のデータに変換され、外部インタフェース14を
介して外部装置に送信される。これにより、本自動演奏
装置の操作パネル13から外部装置を制御することも可
能となっている。
【0022】ROM11には、上述したように、CPU
10の制御プログラムが格納される他、CPU10が使
用する種々の固定データが記憶されている。また、この
ROM11には、所定の音色・音高を有する楽音を発生
させるための音色パラメータが音色・音域毎に記憶され
ている。音色パラメータは、例えば波形アドレス、周波
数データ、エンベロープデータ、フィルタ係数等で構成
されている。
【0023】更に、このROM11には、自動演奏を行
わせるための自動演奏データが記憶されている。本実施
例の自動演奏装置には複数の曲が内蔵されており、各曲
用の自動演奏データは、「ソング番号」と呼ばれる識別
子が付されて曲毎に格納されている。現在選択されてい
る曲のソング番号は、RAM12に設けられるソング番
号レジスタに記憶される。
【0024】自動演奏データには、発音を指示するノー
トオンデータ、消音を指示するノートオフデータ、テン
ポ変更を指示するテンポデータ、小節の区切りを示すバ
ーデータ、その他の制御データ等が含まれている。上記
ノートオンデータ又はノートオフデータは、例えば発音
タイミングを指定するステップタイムデータ、音高(音
程)を指定するキーナンバ、音の強さ(ベロシティ)を
指定するベロシティデータ及び音符長を指定するゲート
タイムデータを1組(これらが1つの音符に対応す
る。)として構成されている。また、テンポデータは、
処理タイミングを指定するステップタイムデータとテン
ポを指定する絶対値テンポデータとが1組として構成さ
れている。バーデータは、その旨を示すコードにより構
成されている。以下においては、上記1組のデータを単
位自動演奏データという。各曲の自動演奏データは、上
記単位自動演奏データが複数集合して構成されている。
【0025】RAM12は、CPU10が処理に使用す
る種々のデータを一時的に記憶するために使用される。
このRAM12には、本自動演奏装置を制御するための
各種レジスタ、カウンタ、フラグ等が定義されている。
例えば、新パネルデータレジスタ、旧パネルデータレジ
スタ、プレイフラグ、自動演奏データの読出アドレスを
記憶するためのリードポインタ、ステップタイムカウン
タ等もこのRAM12に定義されている。本実施例で使
用する各種レジスタ、カウンタ、フラグ等については、
以下において出現する都度説明するが、ここでは、本発
明に直接関係するテンポを制御するために使用される主
なバッファについて説明しておく。 (イ)テンポバッファ 現在使用されているテンポデータが記憶されるバッファ
である。テンポデータとしては、例えば20〜250程
度が使用される。 (ロ)リードテンポバッファ 自動演奏データの先頭又は曲中に存在するテンポデータ
が読み出されたときに、そのテンポデータが記憶される
バッファである。 (ハ)基準テンポバッファ 操作パネル13上でテンポが変更された時に、リードテ
ンポバッファの内容が記憶されるバッファである。この
基準テンポバッファは、第2の記憶手段に対応する。 (ニ)設定テンポバッファ 操作パネル13上で設定されたテンポデータが記憶され
るバッファである。この設定テンポバッファは、第1の
記憶手段に対応する。
【0026】タイマ15は、例えばプログラマブルタイ
マで構成することができる。このタイマ15は、CPU
10からセットされたデータに応じた時間間隔で割込信
号を発生する。CPU10は、テンポバッファに格納さ
れているテンポデータに基づきそのテンポデータに応じ
たタイマデータを生成し、これをタイマ15にセットす
る。このタイマデータは、その時点のテンポにおける1
ステップタイムに相当する時間間隔で割込信号を発生す
るようなデータである。
【0027】本発明の自動演奏手段の他の一部は、音源
17、増幅器18及びスピーカ19により構成されてい
る。音源17は複数のオシレータを備えている。この音
源17は、詳細は図示しないが、波形データが記憶され
た波形メモリ、この波形メモリから波形データを読み出
す波形読出回路、この波形読出回路で読み出された波形
データにエンベロープを付加するためのエンベロープ生
成回路等により構成されている。この音源17は、CP
U10から音色パラメータを受け取ることにより楽音信
号の生成を開始する。この音源17で生成された楽音信
号は増幅器18に送られる。
【0028】増幅器18は音源17から送られてきた楽
音信号を所定の増幅率で増幅するために使用される。こ
の増幅器18で増幅された楽音信号はスピーカ19に送
られる。スピーカ19は、楽音信号を音響信号に変換す
る周知のものである。このスピーカ19により、外部イ
ンタフェース14で受信されたデータに応じた楽音又は
自動演奏データに基づく自動演奏音が放音される。
【0029】次に、本実施例1で使用される操作パネル
13の一例について、図2を参照しながら説明する。操
作パネル13には、プレイ/ストップスイッチ131、
選曲スイッチ132、ダウンスイッチ133とアップス
イッチ134とで構成されるテンポスイッチ135及び
表示器130が設けられている。
【0030】プレイ/ストップスイッチ131は、例え
ば押釦スイッチで構成される。このプレイ/ストップス
イッチ131は、演奏者が自動演奏の開始又は停止を制
御するために使用される。このプレイ/ストップスイッ
チ131の設定状態は、RAM12に設けられたプレイ
フラグにより記憶される。自動演奏停止中(ストップ
中)、つまりプレイフラグが「0」の状態でプレイ/ス
トップスイッチ131が押されるとプレイフラグが
「1」にセットされると共に自動演奏が開始される。一
方、自動演奏中(プレイ中)、つまりプレイフラグが
「1」の状態でプレイ/ストップスイッチ131が押さ
れるとプレイフラグが「0」にクリアされると共に自動
演奏は停止される。
【0031】選曲スイッチ132は自動演奏すべき曲を
選択するために使用されるスイッチであり、例えば押釦
スイッチで構成される。この選曲スイッチ132が押さ
れる毎にソング番号がインクリメントされ、ROM11
に記憶されているソング番号に対応する曲(自動演奏デ
ータ)が順次循環しながら選択される。
【0032】テンポスイッチ135はテンポ操作子に対
応するものであり、ダウンスイッチ133及びアップス
イッチ134により構成されている。ダウンスイッチ1
33は、例えば押釦スイッチで構成されており、テンポ
を小さくするために使用される。このダウンスイッチ1
33が押下されると、その度に設定テンポバッファの内
容がデクリメントされる。アップスイッチ134は、例
えば押釦スイッチで構成されており、テンポを小さくす
るために使用される。このアップスイッチ134が押下
されると、その度に設定テンポバッファの内容がインク
リメントされる。
【0033】なお、上記各スイッチとして押釦スイッチ
を用いた例を示したが、これ以外の種々のスイッチ、例
えば、タッチスイッチ、ポインティングデバイス等とい
ったオンイベントを発生可能な各種スイッチを用いるこ
とができる。また、選曲スイッチ132及びテンポスイ
ッチ135としては、押釦スイッチではなく、ソング番
号又はテンポ値を直接入力することのできる例えばテン
キー、ダイヤル等を用いることもできる。
【0034】表示器130は各種メッセージを表示する
ために使用される。この表示器130としては、例えば
LCD表示器、LED表示器等を用いることができる。
この表示器には、プレイ/ストップスイッチ131の押
下により設定された自動演奏状態(プレイ中又はストッ
プ中の区別)、選曲スイッチ132で選曲された曲のソ
ング番号又は名称、テンポスイッチ135で設定された
テンポ値、その他の種々のメッセージが表示される。
【0035】なお、操作パネル13には、上記以外に各
種スイッチや表示器、例えば音色選択スイッチ、音響効
果指定スイッチ、音量スイッチ及びこれら各スイッチに
対応したLED表示器等が設けられているが、本発明と
は直接関係しないので図示及び説明は省略する。
【0036】この操作パネル13には、本操作パネル1
3とCPU10との間のデータ送受を制御するためのパ
ネルインタフェース回路(図示しない)が含まれてい
る。このパネルインタフェース回路は、CPU10から
のスキャン指令に応じて各スイッチをスキャンする。こ
のスキャンにより得られた各スイッチの開閉状態を示す
信号(以下、「パネルデータ」という。)は、各スイッ
チに対応したビット列で構成されており、システムバス
20を介してCPU10に送られる。このパネルデータ
は、操作パネル13上のスイッチのオン又はオフイベン
トが発生したかどうかを判断するために使用される(詳
細は後述する)。
【0037】また、パネルインタフェース回路は、CP
U10から送られてきた表示データを表示器130に送
る。これにより、CPU10から送られてきた例えば文
字データに従ったメッセージが表示器130に表示さ
れ、また図示しないLED表示器等が点灯される。
【0038】次に、上記構成において、図3〜図5に示
したフローチャートを参照しながら本自動演奏装置の動
作について説明する。なお、上記フローチャートに示さ
れた動作は、何れもCPU10の処理により実現される
ものである。
【0039】(1)メイン処理 図3(A)は本自動演奏装置のメインルーチンを示すフ
ローチャートであり、電源の投入により起動される。電
源が投入されると、先ず、初期化処理が行われる(ステ
ップS10)。この初期化処理では、CPU10の内部
のハードウエアが初期状態に設定されると共に、RAM
12に定義されているレジスタ、カウンタ、フラグ等が
初期状態に設定される。また、この初期化処理では、音
源17に所定のデータが送られることにより、電源投入
時に不要な音が発生されるのを防止するための処理が行
われる。更に、この初期化処理では、図示しない各種I
/Oポートの初期化も行われる。
【0040】この初期化処理が終了すると、次いで、パ
ネル処理が行われる(ステップS11)。このパネル処
理では、操作パネル13の各スイッチの操作に応じた処
理が行われる。このパネル処理の詳細については後述す
る。
【0041】次いで、自動演奏処理が行われる(ステッ
プS12)。この自動演奏処理では、プレイ中であれば
ROM11に記憶された自動演奏データに基づいて発音
する処理が行われる。この自動演奏処理の詳細について
は後述する。
【0042】次いで、外部入力データ処理が行われる
(ステップS13)。この外部入力データ処理は、外部
インタフェース14から入力されたデータに応じた処理
が行われる。例えば、外部インタフェース14がMID
Iインタフェースである場合は、ノートオン又はノート
オフメッセージが入力されると発音又は消音処理が行わ
れ、コントロールチェンジのメッセージが入力される
と、後述するパネル処理と同様の処理が行われる。
【0043】その後ステップS11に戻り、以下ステッ
プS11〜S13の処理が繰り返される。この繰り返し
実行の過程で、パネル操作に基づくイベントが発生し、
或いは外部インタフェース14からデータが入力される
と、それらに応じた処理が行われ、また自動演奏データ
に基づく発音処理が行われることにより自動演奏装置と
しての各種機能が実現されている。
【0044】(2)タイマ割込処理 タイマ割込処理は、タイマ15から発生された割込信号
に応じて、上記メインルーチンの各処理に割り込んで行
われる。
【0045】このタイマ割込処理では、クロックインク
リメントが行われる(ステップS15)。即ち、RAM
12に設けられたクロックカウンタの内容がインクリメ
ントされる。このクロックカウンタの内容は、後述する
自動演奏処理において参照され、発音処理を行うかどう
かを判断するタイミング(以下、「発音処理タイミン
グ」という。)が到来したかどうかを判断するために使
用される。この発音処理タイミングは、発音中の音長を
決定するゲートタイムをデクリメントするタイミングと
しても使用される。
【0046】このクロックインクリメント処理が終了す
ると、このタイマ割込処理ルーチンからリターンして、
メインルーチンの割り込まれた位置に戻る。
【0047】(3)パネル処理 次に、図4のフローチャートを参照しながら、メインル
ーチンのステップS11で行われるパネル処理の詳細に
ついて説明する。
【0048】パネル処理では、先ず、パネルデータの取
り込みが行われる(ステップS20)。即ち、CPU1
0は、操作パネル13からパネルデータ(以下、「新パ
ネルデータ」という。)を取り込み、RAM12の新パ
ネルデータレジスタに格納する。次いで、プレイ/スト
ップスイッチ131がオンにされたかどうかが調べられ
る(ステップS21)。これは、新パネルデータのプレ
イ/ストップスイッチ131に対応するビットが「1」
であり、且つ、前回のパネル処理で取り込まれて旧パネ
ルデータレジスタに格納されているパネルデータ(以
下、「旧パネルデータ」という。)のプレイ/ストップ
スイッチ131に対応するビットが「0」であるかどう
かを調べることにより行われる。以下の選曲スイッチ1
32、ダウンスイッチ133及びアップスイッチ134
がオンにされたかどうかの判断も上記と同様の方法で行
われる。なお、新パネルデータは、図4のフローチャー
トでは図示を省略してあるが、本パネル処理ルーチンの
最後で旧パネルデータレジスタに格納される。
【0049】上記ステップS21でプレイ/ストップス
イッチ131がオンにされたことが判断されると、次い
で、プレイ中であるかどうかが調べられる(ステップS
22)。これは、プレイフラグが「1」であるかどうか
を調べることにより行われる。以下においても同じであ
る。ここで、プレイ中であることが判断されると、プレ
イフラグが「0」にクリアされると共に、消音処理が行
われる(ステップS23)。この際、ストップ中になっ
た旨のメッセージが表示器130に表示される。消音処
理は、所定のデータを音源17に送ることにより実現さ
れる。以上の処理により、自動演奏中にプレイ/ストッ
プスイッチ131が押されることにより、自動演奏が停
止される機能が実現されている。
【0050】一方、上記ステップS22で、プレイ中で
ないことが判断されると、プレイフラグが「1」にセッ
トされると共に、リードポインタの初期化が行われる
(ステップS24)。この際、プレイ中になった旨のメ
ッセージが表示器130に表示される。ここにリードポ
インタとは、RAM12に設けられるポインタであり、
ROM11から現在読み出すべき単位自動演奏データの
アドレスを保持するために使用される。このステップS
24の処理により、その時点で選択されているソング番
号で指定される曲の自動演奏データの先頭アドレスが、
リードポインタにセットされる。これにより、プレイ/
ストップスイッチ131の押下に応じて各リードポイン
タにセットされた読出アドレスから自動演奏データの読
み出しが開始され、自動演奏が曲の先頭から開始される
機能が実現されている。なお、上記ステップS21でプ
レイ/ストップスイッチ131がオンにされていないこ
とが判断されると、ステップS22〜S24の処理はス
キップされる。
【0051】次いで、選曲スイッチ132がオンにされ
たかどうかが調べられる(ステップS25)。ここで、
選曲スイッチ132がオンにされたことが判断される
と、次いで、プレイ中であるかどうかが調べられる(ス
テップS26)。そして、プレイ中でないことが判断さ
れると、ソング番号変更処理が行われる(ステップS2
7)。このソング番号変更処理では、より具体的には以
下の(ホ)〜(チ)の処理が行われる。 (ホ)ソング番号のインクリメント ソング番号レジスタの内容がインクリメントされる。こ
の際、変更後のソング番号又はそのソング番号に対応す
る曲の名称が表示器130に表示される。 (ヘ)テンポバッファ及びリードテンポバッファのセッ
ト リードポインタで指定されるROM11内の単位自動演
奏データが読み出され、その単位自動演奏データに含ま
れるテンポデータが初期テンポデータとしてテンポバッ
ファ及びリードテンポバッファにセットされる。 (ト)テンポ表示 テンポバッファにセットされたテンポデータに対応する
テンポ値が表示器130に表示される。これにより、演
奏者は、その曲の初期テンポを知ることができるように
なっている。 (チ)設定テンポバッファのクリア 設定テンポバッファがゼロにクリアされる。以上の処理
により、テンポバッファに格納されたテンポデータ、つ
まり自動演奏データの先頭に格納されているテンポデー
タに応じたテンポで自動演奏が開始されることになる。
【0052】一方、上記ステップS26でプレイ中であ
ることが判断されると、ステップS27の処理はスキッ
プされる。換言すれば、プレイ中における選曲スイッチ
132の操作は無効である。また、上記ステップS25
で選曲スイッチ132がオンにされていないことが判断
されると、ステップS26及びS27の処理はスキップ
される。
【0053】次いで、テンポスイッチ135(ダウンス
イッチ133又はアップスイッチ134の何れか)がオ
ンにされたかどうかが調べられる(ステップS28)。
ここでテンポスイッチ135がオンにされたことが判断
されると、テンポ変更処理が行われる。より具体的に
は、以下の(リ)〜(ル)の処理が行われる。なお、こ
のテンポスイッチ135はプレイ中であるかどうかにか
かわらず常に有効である。 (リ)設定テンポの変更及びテンポバッファへのセット ダウンスイッチ133がオンにされたかどうかが調べら
れ、オンにされたことが判断されると設定テンポバッフ
ァの内容がデクリメントされる。次いで、アップスイッ
チ134がオンにされたかどうかが調べられ、オンにさ
れたことが判断されると、設定テンポバッファの内容が
インクリメントされる。この設定テンポバッファの内容
はテンポバッファにセットされ、以後においては、テン
ポスイッチ135で設定されたテンポで自動演奏が行わ
れることになる。 (ヌ)テンポ表示 上記で変更されたテンポバッファのテンポデータに対応
するテンポ値が表示器130に表示される。これによ
り、演奏者は、変更後のテンポを知ることができるよう
になっている。 (ル)リードテンポを基準テンポとする テンポスイッチ135が操作された時点でリードテンポ
バッファに格納されているテンポデータが基準テンポバ
ッファに格納される。即ち、テンポスイッチ135が押
下された時点で使用されていた自動演奏データ中のテン
ポデータが基準テンポバッファにセットされ、以後に自
動演奏データ中にテンポデータが出現した場合は、この
基準テンポバッファの内容を基準としてテンポスイッチ
135で設定されたテンポとの比又は差(詳細は後述す
る)をとって新たなテンポが算出されることになる。
【0054】以上のテンポ変更処理が終了すると、この
パネル処理ルーチンからリターンしてメインルーチンに
戻る。また、上記ステップS28でテンポスイッチ13
5がオンにされなかったことが判断された場合は、ステ
ップS29の処理は行われず、このパネル処理ルーチン
からリターンしてメインルーチンに戻る。
【0055】(4)自動演奏処理 次に、図5のフローチャートを参照しながら、メインル
ーチンのステップS12で行われる自動演奏処理の詳細
について説明する。
【0056】自動演奏処理では、先ず、クロックカウン
タの内容を参照することによりクロックが「0」である
かどうかが調べられる(ステップS40)。そして、ク
ロックが「0」であることが判断されると、先に自動演
奏処理のステップS41でクロックがデクリメントされ
て「0」にされてからタイマ割込が発生していない、つ
まり所定時間(1ステップタイムに相当する時間)が経
過しておらず発音処理タイミングに未だ至っていないこ
とが認識され、以下の処理を行わずに本自動演奏処理ル
ーチンからリターンしてメインルーチンに戻る。即ち、
本自動演奏処理ルーチンはメインルーチンから一定周期
でコールされるが、発音処理タイミングに至っていない
場合はステップS41以下の自動演奏処理は行われな
い。
【0057】一方、クロックが「0」でないことが判断
されると、発音処理タイミングが到来したことが認識さ
れ、クロックのデクリメントが行われる(ステップS4
1)。次いで、プレイ中であるかどうかが調べられ(ス
テップS42)、プレイ中でないことが判断されると、
ステップS43以下の処理は行わずにこの自動演奏処理
ルーチンからリターンしてメインルーチンに戻る。この
ように、プレイ中でない場合はステップS43以下の自
動演奏処理を行わないという構成により自動演奏のスト
ップ機能が実現されている。
【0058】上記ステップS42でプレイ中であること
が認識されると、次いで、ステップインクリメント処理
が行われる(ステップS43)。このステップインクリ
メント処理では、ステップタイムカウンタの内容がイン
クリメントされる。ここにステップタイムカウンタはR
AM12に設けられるカウンタであり、例えば小節先頭
からの時間経過を計数するために使用される。このステ
ップタイムカウンタは、自動演奏データ中にバーデータ
が出現した際にゼロにクリアされ、以後はプレイ中であ
れば1ステップタイム時間経過毎にインクリメントされ
る。このインクリメント機能が、本ステップS43によ
り実現されている。このステップタイムカウンタの内容
は、自動演奏データ中のステップタイムデータと比較さ
れ、発音タイミング、消音タイミング、テンポ変更タイ
ミング(以下。「処理タイミング」と総称する。)等が
到来したかどうかを判断するために使用される。
【0059】次いで、消音処理が行われる(ステップS
44)。この消音処理は、発音中の全ての音に対応して
RAM12に設けられている発音中レジスタにセットさ
れているゲートタイム(ノートオンの自動演奏データを
実行した際にセットされる。)をデクリメントし、この
デクリメントの結果がゼロになった音を消音する処理で
ある。これにより、自動演奏データ中のゲートタイムデ
ータで与えられた音符長だけ発音するという機能が実現
されている。
【0060】次いで、リードポインタで示されるROM
11から単位自動演奏データが読み出され、この単位自
動演奏データに含まれるステップタイムデータとステッ
プタイムカウンタで計数されているステップとが一致す
るかどうかが調べられる(ステップS45)。そして、
一致しないことが判断されると、その単位自動演奏デー
タの処理タイミングに至っていないものと判断され、ス
テップS46以下の処理は行わずにこの自動演奏処理ル
ーチンからリターンしてメインルーチンに戻る。
【0061】一方、ステップが一致することが判断され
ると、次いで、当該自動演奏データはテンポデータであ
るかどうかが調べられる(ステップS46)。これは、
例えば自動演奏データ中の特定バイトがテンポデータを
示すコードになっているかどうかを調べることにより行
われる。そして、テンポデータでないことが判断される
と、テンポデータ以外のデータ処理が行われる(ステッ
プS47)。例えば、ノートオンデータであれば発音処
理が行われる。発音処理では、上記ROM11から読み
出された自動演奏データ中のキーナンバ、ベロシティ及
びゲートタイムが発音中レジスタに格納されると共に、
キーナンバ及びベロシティに対応する音色パラメータが
ROM11から読み出されて音源17に送られる。これ
により、単位自動演奏データに応じた楽音が発生される
ことになる。また、ノートオフデータであれば消音処理
が行われる。消音処理は、所定のデータを音源17に送
ることにより実現される。
【0062】上記ステップS46でテンポデータである
ことが判断されると、以下の(ヲ)〜(ヨ)の処理が行
われる(ステップS48)。 (ヲ)テンポデータに含まれる絶対値テンポを指定する
データがリードテンポバッファに格納される。 (ワ)以下の計算式で新しいテンポデータが算出され
る。 テンポ=リードテンポ×設定テンポ/基準テンポ・・・(1) 即ち、基準テンポバッファに格納されている基準テンポ
データに対する設定テンポバッファに格納されている設
定テンポデータの割合を求め、これにリードテンポバッ
ファに格納されているリードテンポを乗算して新しいテ
ンポが求められる。この算出された新しいテンポデータ
はテンポバッファに格納される。
【0063】例えば、自動演奏が初期テンポ=120で
開始された後、テンポスイッチ135でテンポ=60に
変更されたとする。この場合、テンポ=60で自動演奏
が行われるが、この状態で自動演奏データ中にテンポ=
150にするテンポデータが出現したとすると、新しい
テンポは、150×60/120=75に変更される。
このように、新しいテンポは、自動演奏データ中に出現
した絶対値テンポデータを、テンポスイッチ135が押
された時点で使用されていたテンポとテンポスイッチ1
35により新たに設定されたテンポとの比によって案分
されて算出されるので、テンポを相対的に変化させるこ
とができるものとなっている。
【0064】また、新しいテンポの算出は、以下の式に
よって求めることもできる。テンポ=リードテンポ+
(設定テンポ−基準テンポ)・・・(2)上述した例で
は、新しいテンポは、150+(60−120)=90
となる。このように、新しいテンポは、自動演奏データ
中に出現した絶対値テンポデータに、テンポスイッチ1
35が押された時点で使用されていたテンポとテンポス
イッチ135により新たに設定されたテンポとの差を加
えて算出されるので、テンポを相対的に変化させること
ができる。この場合は計算が簡単になるという利点があ
る。
【0065】(カ)テンポ表示 上記で算出されてテンポバッファにセットされたテンポ
データに対応するテンポ値が表示器130に表示され
る。これにより、演奏者は、その曲の初期テンポを知る
ことができるようになっている。 (ヨ)タイマ割込インターバル変更 上記算式で算出されてテンポバッファにセットされてい
るテンポデータに基づき、そのテンポデータに応じたタ
イマデータを生成し、これをタイマ15にセットする。
このタイマデータは、上述したように、その時点のテン
ポにおける1ステップタイムに相当する時間間隔で割込
信号を発生するようなデータである。
【0066】以上の処理が終了すると、リードポインタ
が次の単位自動演奏データのアドレスに変更される(ス
テップS49)。各単位自動演奏データが4バイトで構
成されるものとすると、リードポインタの内容が「+
4」される。その後ステップS45に戻り、以下同様の
処理が繰り返される。この繰り返し処理により、同一の
ステップタイムデータを有する単位自動演奏データの全
てについて処理が行われる。そして、異なるステップタ
イムデータを有する単位自動演奏データが読み出された
場合に、ステップS45でその旨が判断されてこの自動
演奏処理ルーチンからリターンしてメインルーチンに戻
る。
【0067】以上説明したように、本実施例によれば、
予めROM11に絶対値テンポを指定するテンポデータ
が含まれた自動演奏データを記憶しておき、このROM
11から自動演奏データを順次読み出して再生すること
により楽音を発生する。かかる再生状態において、テン
ポスイッチ135によりテンポが設定されると、そのテ
ンポスイッチ135で設定されたテンポに対応するテン
ポデータを設定テンポバッファに記憶すると共に、その
時点でROM11から最も最近に読み出されたテンポデ
ータを基準テンポバッファに記憶しておく。ここに、設
定テンポバッファに記憶されたテンポデータは操作者が
所望するテンポを実現するためのデータであり、基準テ
ンポバッファに記憶されたテンポデータは、曲本来のテ
ンポを実現するためのデータである。
【0068】かかる処理の後にROM11からテンポデ
ータが読み出された場合は、その読み出されたテンポデ
ータに、基準テンポバッファと設定テンポバッファとに
記憶されている各テンポデータの比を乗じて新たなテン
ポデータを算出するようにしている。これにより、操作
者が所望するテンポと曲本来のテンポとの比率をもって
新たなテンポが決定されることになる。従って、ROM
11に記憶するテンポデータは絶対テンポを示すデータ
であっても相対的に変化するテンポとなるので自動演奏
データの作成が簡単になり、また、曲全体の印象を変え
ることのないテンポ変化を実現できる。
【0069】また、ROM11からテンポデータが読み
出された場合は、その読み出されたテンポデータに、基
準テンポバッファと設定テンポバッファとに記憶されて
いる各テンポデータの差を加算して新たなテンポデータ
を算出するようにしている。これにより、操作者が所望
するテンポと曲本来のテンポとの差分をもって新たなテ
ンポが決定されることになる。従って、上記と同様に、
ROM11に記憶するテンポデータは絶対テンポを示す
データであっても相対的に変化するテンポとなるので自
動演奏データの作成が簡単になり、また、曲全体の印象
を変えることのないテンポ変化を実現できる。
【0070】
【発明の効果】以上詳述したように、本発明によれば、
自動演奏データの作成が簡単で、また曲全体の印象を変
えることなくテンポを変更することのできる自動演奏装
置を提供できる。
【図面の簡単な説明】
【図1】本発明の実施例の自動演奏装置の構成を示すブ
ロック図である。
【図2】本発明の実施例の操作パネルの一例を示す図で
ある。
【図3】(A)は本発明の実施例のメインルーチンを示
すフローチャートであり、(B)は本発明の実施例のタ
イマ割込処理ルーチンを示すフローチャートである。
【図4】本発明の実施例のパネル処理ルーチンを示すフ
ローチャートである。
【図5】本発明の実施例の自動演奏処理ルーチンを示す
フローチャートである。
【符号の説明】
10 CPU 11 ROM 12 RAM 13 操作パネル 14 外部インタフェース 17 音源 18 増幅器 19 スピーカ 20 システムバス 130 表示器 131 プレイ/ストップスイッチ 132 選曲スイッチ 133 ダウンスイッチ 134 アップスイッチ

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 予め記憶手段に記憶された自動演奏デー
    タであって、テンポを絶対値で指定するテンポデータが
    含まれたものを順次読み出して再生することにより自動
    演奏を行う自動演奏装置において、 テンポを設定するテンポ操作子と、 該テンポ操作子で設定されたテンポに対応するテンポデ
    ータを記憶する第1のテンポ記憶手段と、 該前記テンポ操作子でテンポが設定された際に前記記憶
    手段から最も最近に読み出されたテンポデータを記憶す
    る第2のテンポ記憶手段と、 前記記憶手段からテンポデータが読み出された場合に、
    該テンポデータを前記第1の記憶手段と前記第2の記憶
    手段とに記憶されている各テンポデータに応じて加工し
    て新たなテンポデータを算出する算出手段と、 該算出手段で算出されたテンポデータに応じたテンポで
    自動演奏を行う自動演奏手段、 とを備えたことを特徴とする自動演奏装置。
  2. 【請求項2】 前記算出手段は、前記記憶手段から読み
    出されたテンポデータに、前記第1の記憶手段に記憶さ
    れているテンポデータと前記第2の記憶手段に記憶され
    ているテンポデータとの比を乗じて新たなテンポデータ
    を算出することを特徴とする請求項1に記載の自動演奏
    装置。
  3. 【請求項3】 前記算出手段は、前記記憶手段から読み
    出されたテンポデータに、前記第1の記憶手段に記憶さ
    れているテンポデータと前記第2の記憶手段に記憶され
    ているテンポデータとの差を加算して新たなテンポデー
    タを算出することを特徴とする請求項1に記載の自動演
    奏装置。
JP26632694A 1994-10-05 1994-10-05 自動演奏装置 Expired - Fee Related JP3171759B2 (ja)

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 true JPH08106285A (ja) 1996-04-23
JP3171759B2 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)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08248959A (ja) * 1995-03-07 1996-09-27 Yamaha Corp 自動演奏装置
JP2001125568A (ja) * 1999-10-28 2001-05-11 Roland Corp 電子楽器
JP2008197407A (ja) * 2007-02-14 2008-08-28 Casio Comput Co Ltd 自動演奏装置および自動演奏処理プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08248959A (ja) * 1995-03-07 1996-09-27 Yamaha Corp 自動演奏装置
JP2001125568A (ja) * 1999-10-28 2001-05-11 Roland Corp 電子楽器
JP2008197407A (ja) * 2007-02-14 2008-08-28 Casio Comput Co Ltd 自動演奏装置および自動演奏処理プログラム

Also Published As

Publication number Publication date
JP3171759B2 (ja) 2001-06-04

Similar Documents

Publication Publication Date Title
JP3743024B2 (ja) 演奏練習装置
JP3239411B2 (ja) 自動演奏機能付電子楽器
JP3267777B2 (ja) 電子楽器
JP3171759B2 (ja) 自動演奏装置
JPH06259064A (ja) 電子楽器
JP3743364B2 (ja) 演奏練習装置
JP3173704B2 (ja) 自動演奏装置
JP3192579B2 (ja) 自動演奏装置及び自動演奏方法
JP2000221967A (ja) 電子楽器等における設定制御装置
JP4214845B2 (ja) 自動アルペジオ装置および同装置に適用されるコンピュータプログラム
JPH0375875B2 (ja)
JPH06337674A (ja) 電子楽器の自動演奏装置
JP3077787B2 (ja) 電子楽器のテンポ調整装置
JPH06348258A (ja) 電子楽器の自動演奏装置
JPH07146681A (ja) 電子楽器
JPH08106284A (ja) 電子楽器の自動演奏装置
JP3385545B2 (ja) 自動演奏装置
JP2953937B2 (ja) 電子楽器の音量調整装置
JP3169535B2 (ja) 自動演奏装置及び自動演奏方法
JP3150580B2 (ja) 自動演奏装置及び自動演奏方法
JP2665854B2 (ja) 自動演奏装置
JPH08106287A (ja) 自動演奏装置
JP3649117B2 (ja) 楽音再生装置及び方法並びに記憶媒体
JPH07230286A (ja) 電子楽器のテンポ設定装置
JPH07199940A (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