JPH0457092A - 自動演奏装置 - Google Patents
自動演奏装置Info
- Publication number
- JPH0457092A JPH0457092A JP2166728A JP16672890A JPH0457092A JP H0457092 A JPH0457092 A JP H0457092A JP 2166728 A JP2166728 A JP 2166728A JP 16672890 A JP16672890 A JP 16672890A JP H0457092 A JPH0457092 A JP H0457092A
- Authority
- JP
- Japan
- Prior art keywords
- data
- tempo
- rhythm
- performance
- key
- 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.)
- Pending
Links
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
[発明の目的]
(産業上の利用分野)
本発明は自動演奏装置に関し、特にメモリに記憶された
演奏データを読出しつつ自動演奏を行う自動演奏装置に
関する。
演奏データを読出しつつ自動演奏を行う自動演奏装置に
関する。
(従来の技術)
一般に、演奏者があるテンポにあわせて楽器を演奏する
場合、テンポが速くなるに連れて一つ一つの前値(音符
)をより短く、つまりスタッカート(歯切れよくリズミ
カルに)に演奏する傾向にある。逆にテンポが遅くなる
に連れて一つ一つの前値(音符)をより長く、つまりテ
ヌート(各音符がつながるように滑らかに)に演奏しよ
うとする傾向にある。
場合、テンポが速くなるに連れて一つ一つの前値(音符
)をより短く、つまりスタッカート(歯切れよくリズミ
カルに)に演奏する傾向にある。逆にテンポが遅くなる
に連れて一つ一つの前値(音符)をより長く、つまりテ
ヌート(各音符がつながるように滑らかに)に演奏しよ
うとする傾向にある。
つまり、譜面上では同じ曲、同じリズムであっても、テ
ンポの違いによって実際に演奏される音長け、テンポに
対する相対的な長さとして把えた場合、常に一定である
とはいえない。
ンポの違いによって実際に演奏される音長け、テンポに
対する相対的な長さとして把えた場合、常に一定である
とはいえない。
しかしながら、従来の自動演奏装置又は自動伴奏付電子
楽器では、自動演奏装置よりMIDI(Musical
Instrument Digital Inter
face)を通して音源部に演奏データを送信する場合
、あるいは自動伴奏付電子楽器で内蔵音源部に演奏デー
タを送る場合、演奏のテンポを速くしたり、又は遅くす
る等の変更を行ってもクロック(テンポクロック)に対
して出力されるノートデータの相対的な位置くステップ
タイム)や音長くゲートタイム)は変わらず、一定の割
合で短くなったり長くなったりするだけである。
楽器では、自動演奏装置よりMIDI(Musical
Instrument Digital Inter
face)を通して音源部に演奏データを送信する場合
、あるいは自動伴奏付電子楽器で内蔵音源部に演奏デー
タを送る場合、演奏のテンポを速くしたり、又は遅くす
る等の変更を行ってもクロック(テンポクロック)に対
して出力されるノートデータの相対的な位置くステップ
タイム)や音長くゲートタイム)は変わらず、一定の割
合で短くなったり長くなったりするだけである。
したがって、自動演奏装置や自動伴奏付電子楽器で自動
演奏を行った場合の音楽は、演奏表現の変化が得られず
人が演奏した音楽と微妙な差異があり音楽性豊かな演奏
ができないという欠点があった。
演奏を行った場合の音楽は、演奏表現の変化が得られず
人が演奏した音楽と微妙な差異があり音楽性豊かな演奏
ができないという欠点があった。
(発明が解決しようとする課題)
本発明は、上記事情に鑑みてなされたもので、人が演奏
した音楽のように、テンポの変更に伴った演奏表現の変
化が得られる音楽性豊かな自動演奏ができる自動演奏装
置を提供することを目的とする。
した音楽のように、テンポの変更に伴った演奏表現の変
化が得られる音楽性豊かな自動演奏ができる自動演奏装
置を提供することを目的とする。
[発明の構成]
(課題を解決するための手段)
本発明の自動演奏装置は、少なくとも音長に関するデー
タを含む演奏データを記憶する記憶手段と、演奏のテン
ポを指定する指定手段と、この指定手段により指定され
たテンポに応じて前記記憶手段に記憶された演奏データ
中の音長に関するデータを補正する補正手段と、この補
正手段で補正された演奏データに基づいて楽音を発生す
る楽音発生手段とを具備したことを特徴とする。
タを含む演奏データを記憶する記憶手段と、演奏のテン
ポを指定する指定手段と、この指定手段により指定され
たテンポに応じて前記記憶手段に記憶された演奏データ
中の音長に関するデータを補正する補正手段と、この補
正手段で補正された演奏データに基づいて楽音を発生す
る楽音発生手段とを具備したことを特徴とする。
(作用)
本発明は、演奏データに含まれる音長に関するデータを
、演奏者が指示したテンポに応じて補正し、この補正さ
れた音長に関するデータを含む演奏データを楽音発生手
段に送り出して楽音発生し、自動演奏を行うようにして
いる。これにより、例えばテンポが速い場合はよりスタ
ッカートに、テンポが遅い場合はよりテヌートに音長を
補正して出力することにより、自動演奏においても人が
演奏した音楽に近い演奏表現ができるものとなっている
。
、演奏者が指示したテンポに応じて補正し、この補正さ
れた音長に関するデータを含む演奏データを楽音発生手
段に送り出して楽音発生し、自動演奏を行うようにして
いる。これにより、例えばテンポが速い場合はよりスタ
ッカートに、テンポが遅い場合はよりテヌートに音長を
補正して出力することにより、自動演奏においても人が
演奏した音楽に近い演奏表現ができるものとなっている
。
(実施例)
第1図は、本発明に係る自動演奏装置の一実施例の要部
のブロック図である。
のブロック図である。
図において、1はキー/パネルスイッチ部であり、複数
のキーによって構成される鍵盤、パネルスイッチ、及び
鍵盤の押鍵/離鍵やスイッチのオン/オフを検出する検
出回路等から構成されている。
のキーによって構成される鍵盤、パネルスイッチ、及び
鍵盤の押鍵/離鍵やスイッチのオン/オフを検出する検
出回路等から構成されている。
2は表示部てあり、キー/パネルスイッチ部1における
パネルスイッチのオン/オフ等の状態を表示する例えば
セグメント表示器又はLCD表示器等で構成される表示
部と、これを制御する制御回路等から構成されている。
パネルスイッチのオン/オフ等の状態を表示する例えば
セグメント表示器又はLCD表示器等で構成される表示
部と、これを制御する制御回路等から構成されている。
3はマイクロコンピュータ部であり、CPU(中央処理
装置)31、プログラムメモリ32、及び、ワーキング
メモリ33により構成されている。
装置)31、プログラムメモリ32、及び、ワーキング
メモリ33により構成されている。
CPU3 ]は、キー/パネルスイッチ部1に設けられ
た電源スィッチ(図示しない)の投入により、プログラ
ムメモリ32に記憶された制御プログラムに従って動作
を開始し、装置内各部を制御するものである。CPU3
1は、通常はメインプログラム(第3図参照)を実行し
て所定の処理を行っているが、後述するテンポクロック
発生回路4からのテンポクロック信号がCPU31の割
り込み入力端子ITに供給される際にメインプログラム
の実行を一時中断し、この発明の特徴に関係するリズム
プレイプログラム(第6図参照)を実行する。このリズ
ムプレイプログラムの詳細については後述する。
た電源スィッチ(図示しない)の投入により、プログラ
ムメモリ32に記憶された制御プログラムに従って動作
を開始し、装置内各部を制御するものである。CPU3
1は、通常はメインプログラム(第3図参照)を実行し
て所定の処理を行っているが、後述するテンポクロック
発生回路4からのテンポクロック信号がCPU31の割
り込み入力端子ITに供給される際にメインプログラム
の実行を一時中断し、この発明の特徴に関係するリズム
プレイプログラム(第6図参照)を実行する。このリズ
ムプレイプログラムの詳細については後述する。
プログラムメモリ32は、例えばROM (読出専用記
憶装置)により構成されるものである。このプログラム
メモリ32には、上述したメインプログラム、リズムプ
レイプログラム及びこれらのサブプログラム、テーブル
等の他、CPU31の動作に必要な各種の固定データが
格納される。
憶装置)により構成されるものである。このプログラム
メモリ32には、上述したメインプログラム、リズムプ
レイプログラム及びこれらのサブプログラム、テーブル
等の他、CPU31の動作に必要な各種の固定データが
格納される。
ワーキングメモリ33は、例えばRAM (書換え可能
記憶装置)により構成されるものである。
記憶装置)により構成されるものである。
このワーキングメモリ33には、CPU31の処理に必
要なレジスタ、フラグ類が定義されるとともに、各種デ
ータを一時記憶するバッファ領域等が設けられている。
要なレジスタ、フラグ類が定義されるとともに、各種デ
ータを一時記憶するバッファ領域等が設けられている。
CPU31は、このRAM33に定義されたレジスタ、
フラグ等の状態に応じて処理を進めることになる。この
発明て使用する主なレジスタやフラグ類には次のものが
ある。
フラグ等の状態に応じて処理を進めることになる。この
発明て使用する主なレジスタやフラグ類には次のものが
ある。
■オートパターンフラグ(APT)・・・オートパター
ン(自動演奏)の動作状態を示すフラグであり、「1」
で動作中を示し、「0」で停止中を示す。
ン(自動演奏)の動作状態を示すフラグであり、「1」
で動作中を示し、「0」で停止中を示す。
■テンポカウンタ(TCNT)・・・テンポクロック発
生回路4からのテンポクロック信号を、そのテンポクロ
ック信号が発生する都度インクリメントするカウンタで
ある。
生回路4からのテンポクロック信号を、そのテンポクロ
ック信号が発生する都度インクリメントするカウンタで
ある。
■リードデータレジスタ(RDATO〜3)・・・パタ
ーンデータメモリ5から読出した演奏データを記憶する
レジスタで、4バイト分のレジスタを備えている。
ーンデータメモリ5から読出した演奏データを記憶する
レジスタで、4バイト分のレジスタを備えている。
■リズムテンポレジスタ(RTMP)・・・パターンデ
ータを演奏する時のテンポデータを記憶すレジスタであ
る。
ータを演奏する時のテンポデータを記憶すレジスタであ
る。
■ノートオフ処理テーブル・ノートオフデータ処理カー
ブ(第9図参照。詳細は後述する)を形成するデータを
記憶するテーブルである。
ブ(第9図参照。詳細は後述する)を形成するデータを
記憶するテーブルである。
■圧縮/伸長率レジスタ(PERC)・・・ノートオフ
データ処理カーブにより換算されたノートオフデータN
OFの圧縮又は伸長率を記憶するレジスタである。
データ処理カーブにより換算されたノートオフデータN
OFの圧縮又は伸長率を記憶するレジスタである。
テンポクロック発生回路4は、テンポクロック信号を発
生し、CPU31に対して割り込みをがけるものである
。このテンポクロック発生回路4は、キー/パネルスイ
ッチ部1の操作子(図示しない)により設定された間隔
でテンポクロック信号を発生する。CPU31は、上記
テンポクロック信号を受は付けたときにリズムプレイプ
ログラムを実行することになる。
生し、CPU31に対して割り込みをがけるものである
。このテンポクロック発生回路4は、キー/パネルスイ
ッチ部1の操作子(図示しない)により設定された間隔
でテンポクロック信号を発生する。CPU31は、上記
テンポクロック信号を受は付けたときにリズムプレイプ
ログラムを実行することになる。
パターンデータメモリ5は、例えばROMより構成され
るものであり、各種の自動演奏用データが記憶されるも
のである。自動演奏は、このパターンデータメモリ5に
記憶された演奏データを読出して発音することにより行
われることになる。
るものであり、各種の自動演奏用データが記憶されるも
のである。自動演奏は、このパターンデータメモリ5に
記憶された演奏データを読出して発音することにより行
われることになる。
このパターンデータメモリ5に記憶される演奏データの
詳細については後述する。
詳細については後述する。
バッファレジスタ6は、キーやパネルスイッチ等の操作
によるオン/オフ状態の変化を記憶するものである。オ
ンからオフへの操作をオフイベント、オフからオンへの
操作をオンイベントとして記憶するようになっている。
によるオン/オフ状態の変化を記憶するものである。オ
ンからオフへの操作をオフイベント、オフからオンへの
操作をオンイベントとして記憶するようになっている。
また、このバッファレジスタ6は、パターンデータメモ
リ5に記憶されている演奏データを一時記憶して同時発
音処理等に供するために使用される。
リ5に記憶されている演奏データを一時記憶して同時発
音処理等に供するために使用される。
音源部7は、パターンデータメモリ5から読出された演
奏データに応じて全ての楽音信号を生成するものである
。この音源部7は複数の楽音信号形成チャネルを有して
いる。この音源部7の出力はサウンドシステム8に供給
されるようになっている。
奏データに応じて全ての楽音信号を生成するものである
。この音源部7は複数の楽音信号形成チャネルを有して
いる。この音源部7の出力はサウンドシステム8に供給
されるようになっている。
サウンドシステム8は、例えば増幅器及びこれに接続さ
れるスピーカ又はヘッドホンで構成されるもので、この
サウンドシステム8により楽音が発音出力されるように
なっている。
れるスピーカ又はヘッドホンで構成されるもので、この
サウンドシステム8により楽音が発音出力されるように
なっている。
なお、上記キー/パネルスイッチ部1、表示部2、CP
U31、プログラムメモリ32、ワーキングメモリ33
、テンポクロック発生回路4、パターンデータメモリ5
、バッファレジスタ6、及び音源部7は、バス9により
相互に接続されている。
U31、プログラムメモリ32、ワーキングメモリ33
、テンポクロック発生回路4、パターンデータメモリ5
、バッファレジスタ6、及び音源部7は、バス9により
相互に接続されている。
第2図はパターンデータメモリ5に記憶される演奏デー
タの形式を示すものである。同図(a)は押鍵データの
形式を示すものであり、4バイトのデータにより構成さ
れ、各バイトは次のように割り当てられる。
タの形式を示すものである。同図(a)は押鍵データの
形式を示すものであり、4バイトのデータにより構成さ
れ、各バイトは次のように割り当てられる。
ステータスフィールドは、演奏データの種類を識別する
4ビツトのデータで構成され、押鍵データであることを
示す所定のデータパターンが記憶される。
4ビツトのデータで構成され、押鍵データであることを
示す所定のデータパターンが記憶される。
パートマークフィーlトドは、当該データがドラムスパ
ー1〜、ベースパー1〜、コードパートのいずれである
かを指定する4ビツトのデータが記憶される。
ー1〜、ベースパー1〜、コードパートのいずれである
かを指定する4ビツトのデータが記憶される。
キーナンバフィールドは、押鍵された(発音すべき)鍵
の番号が記憶される。
の番号が記憶される。
ステップタイムフィールドは、押鍵の(発音すべき)タ
イミングが記憶される。
イミングが記憶される。
ベロシティフィールドは、押鍵(発音)の強さ又は速さ
のデータが記憶される。
のデータが記憶される。
第2図(b)は離鍵データの形式を示すものであり、4
バイトのデータにより構成され、各バイトは次のように
割り当てられる。
バイトのデータにより構成され、各バイトは次のように
割り当てられる。
ステータスフィールドは、演奏データの種類を識別する
4ビツトのデータで構成され、離鍵データであることを
示す所定のデータパターンが記憶される。
4ビツトのデータで構成され、離鍵データであることを
示す所定のデータパターンが記憶される。
パートマークフィールドは、上記押鍵データの場合と同
じである。
じである。
キーナンバフィールドも上記押鍵データの場合と同じで
ある。
ある。
ステップタイムフィールドは、離鍵の(消音すべき)タ
イミングが記憶される。
イミングが記憶される。
第4バイト目は使用されず、通常’OOMJが格納され
る。なお、添字の「ll」は16進数であることを示す
。
る。なお、添字の「ll」は16進数であることを示す
。
第2図(C)は効果データの形式を示すものであり、4
バイトのデータにより構成され、各バイトは次のように
割り当てられる。
バイトのデータにより構成され、各バイトは次のように
割り当てられる。
ステータスフィールドは、演奏データの種類を識別する
4ビツトのデータで構成され、効果データであることを
示す所定のデータパターンが記憶される。
4ビツトのデータで構成され、効果データであることを
示す所定のデータパターンが記憶される。
パートマークフィールドは、上記押鍵データの場合と同
じである。
じである。
ステップタイムフィールドは、効果音を挿入するタイミ
ングが記憶される。
ングが記憶される。
効果値フィールドは、効果の種類、例えばピッチベンド
等を指定するデータが記憶される。
等を指定するデータが記憶される。
第4バイト目は使用されず、通常roouJが格納され
る。
る。
第2図(d)は終了データの形式を示すものであり、4
バイトのデータにより構成され、各バイトは次のように
割り当てられる。
バイトのデータにより構成され、各バイトは次のように
割り当てられる。
ステータスフィールドは、演奏データの種類を識別する
4ビツトのデータで構成され、終了データであることを
示す所定のデータパターンが記憶される。このバイトの
下位4ビツトには「OH」が記憶される。
4ビツトのデータで構成され、終了データであることを
示す所定のデータパターンが記憶される。このバイトの
下位4ビツトには「OH」が記憶される。
ステップタイムフィールドは、自動演奏を終了するタイ
ミングが記憶される。
ミングが記憶される。
第3及び第4バイト目は使用されず、通常’0OIIJ
が格納される。
が格納される。
次に、上記構成において第3図乃至第8図のフローチャ
ートを参照しながら動作について説明する。
ートを参照しながら動作について説明する。
第3図は、この発明の自動演奏装置のメインルーヂンの
動作を示すものである。
動作を示すものである。
装置の電源投入が投入されると処理が開始され、まず、
初期設定処理が行われる(ステップSl)。
初期設定処理が行われる(ステップSl)。
即ち、CPU31の内部レジスタを初期化するとともに
、ワーキングメモリ33に定義されているレジスタやフ
ラグ類を初期値に設定し、さらに所定のハードウェアを
初期化する。
、ワーキングメモリ33に定義されているレジスタやフ
ラグ類を初期値に設定し、さらに所定のハードウェアを
初期化する。
次いで、鍵盤の押鍵/離鍵の情報及びパネルスイッチの
オン/オフ情報を入力し、ワーキングメモリ33の所定
のレジスタ(以下、「スキャンレジスタ」という)にセ
ットする(ステップS2)。
オン/オフ情報を入力し、ワーキングメモリ33の所定
のレジスタ(以下、「スキャンレジスタ」という)にセ
ットする(ステップS2)。
次いで、このスキャンレジスタの内容を順次参照するこ
とにより、何等かのイベントがあったか否かを調べる(
ステップS3)。ここで、イベントが1つも存在しない
ことを判断した場合は、ステップS2へ戻り、同様の処
理を繰り返しながら何等かのイベントがあったことを検
出するまでループする。
とにより、何等かのイベントがあったか否かを調べる(
ステップS3)。ここで、イベントが1つも存在しない
ことを判断した場合は、ステップS2へ戻り、同様の処
理を繰り返しながら何等かのイベントがあったことを検
出するまでループする。
上記ループにおいて何等かのイベントを検出するとステ
ップ84以下の処理に移る。ここで鍵盤によるイベント
としては押鍵又は離鍵によるキーイベントがあり、パネ
ルスイッチによるイベントとしては、リズム選択、リズ
ムテンポ、リズムスタート、リズムストップがある。
ップ84以下の処理に移る。ここで鍵盤によるイベント
としては押鍵又は離鍵によるキーイベントがあり、パネ
ルスイッチによるイベントとしては、リズム選択、リズ
ムテンポ、リズムスタート、リズムストップがある。
まず、発生したイベントがキーイベントであるか否かを
調べる(ステップS4)。そして、キーイベントである
ことが判断されると、押鍵/離鍵イベントの情報を出力
する(ステップS5)。
調べる(ステップS4)。そして、キーイベントである
ことが判断されると、押鍵/離鍵イベントの情報を出力
する(ステップS5)。
すなわち、同時に発生したキーイベントをバッファレジ
スタ6に格納し、これら全てのイベントを音源部7に出
力する。これにより同時発音が可能となっている。その
後、ステップS2に戻り、上述したと同様の処理を繰り
返す。
スタ6に格納し、これら全てのイベントを音源部7に出
力する。これにより同時発音が可能となっている。その
後、ステップS2に戻り、上述したと同様の処理を繰り
返す。
上記ステップS4で、発生したイベントがキーイベント
でないことが判断されると、リズム選択のイベントであ
るか否かが調べられる(ステップS6)。そして、リズ
ム選択のイベントであることが判断されると、キー/パ
ネルスイッチ部1で選択されたリズムの種類が、ワーキ
ングメモリ33内のレジスタ(図示しない)にセットさ
れる(ステップS7)。
でないことが判断されると、リズム選択のイベントであ
るか否かが調べられる(ステップS6)。そして、リズ
ム選択のイベントであることが判断されると、キー/パ
ネルスイッチ部1で選択されたリズムの種類が、ワーキ
ングメモリ33内のレジスタ(図示しない)にセットさ
れる(ステップS7)。
一方、上記ステップS6で、発生したイベントがリズム
選択のイベントでないことが判断されると、リズムテン
ポのイベントであるか否かが調べられる(ステップS8
)。即ち、キー/パネルスイッチ部1−のリズムテンポ
を変更する操作子が操作されたか否かが調べられる。そ
して、リズムテンポのイベントであることが判断される
と、リズムテンポ記憶処理のサブルーチンがコールされ
、リズムテンポレジスタRTMPの更新処理が行われる
(ステップS9)。
選択のイベントでないことが判断されると、リズムテン
ポのイベントであるか否かが調べられる(ステップS8
)。即ち、キー/パネルスイッチ部1−のリズムテンポ
を変更する操作子が操作されたか否かが調べられる。そ
して、リズムテンポのイベントであることが判断される
と、リズムテンポ記憶処理のサブルーチンがコールされ
、リズムテンポレジスタRTMPの更新処理が行われる
(ステップS9)。
リズムテンポ記憶処理では、第4図に示すように、まず
、キー/パネルスイッチ部1で指定されたリズムテンポ
値が、ワーキングメモリ33内のリズムテンポレジスタ
RTMPに既にセットされている値と等しいか否かが調
べられる(ステップ520)。この場合、電源投入後の
最初のリズムテンポイベントであれば、リズムテンポレ
ジスタRTMPには、メインプログラムの初期設定(ス
テップSl)で設定したリズム固有のデフォルトテンポ
値が記憶されている。
、キー/パネルスイッチ部1で指定されたリズムテンポ
値が、ワーキングメモリ33内のリズムテンポレジスタ
RTMPに既にセットされている値と等しいか否かが調
べられる(ステップ520)。この場合、電源投入後の
最初のリズムテンポイベントであれば、リズムテンポレ
ジスタRTMPには、メインプログラムの初期設定(ス
テップSl)で設定したリズム固有のデフォルトテンポ
値が記憶されている。
上記ステップS20で等しいことが判断されると、更新
処理を行わずに直ちにこのサブルーチンをリターンする
。一方、上記ステップS20で等しくないことが判断さ
れると、入力されたテンポイベント値をリズムテンポレ
ジスタRTMPに記憶する(ステップ521)。次いで
、リズムテンポレジスタRTMPの内容をテンポクロッ
ク発生回路4に送出し、その後、このサブルーチンをリ
ターンする(ステップ522)。これにより、リズムテ
ンポが変更され、新しいテンポで自動演奏が行われるこ
とになる。
処理を行わずに直ちにこのサブルーチンをリターンする
。一方、上記ステップS20で等しくないことが判断さ
れると、入力されたテンポイベント値をリズムテンポレ
ジスタRTMPに記憶する(ステップ521)。次いで
、リズムテンポレジスタRTMPの内容をテンポクロッ
ク発生回路4に送出し、その後、このサブルーチンをリ
ターンする(ステップ522)。これにより、リズムテ
ンポが変更され、新しいテンポで自動演奏が行われるこ
とになる。
上記ステップS20又はS22がらメインルーチンへの
リターンによりステップs2に戻り、以下、上述したと
同様の処理を繰り返す。
リターンによりステップs2に戻り、以下、上述したと
同様の処理を繰り返す。
一方、メインルーチンのステップs8で、検出されたイ
ベントがリズムテンポのイベントでないことが判断され
ると、リズムスタートのイベントであるか否かが調べら
れる(ステップ5IO)。
ベントがリズムテンポのイベントでないことが判断され
ると、リズムスタートのイベントであるか否かが調べら
れる(ステップ5IO)。
そして、リズムスタートのイベントであることが判断さ
れると、ワーキングメモリ33内に定義されているオー
トパターンフラグAT’Pを「1」に設定し、又テンポ
カウンタTCNTの内容をゼロにクリアする(ステップ
511)。この場合、電源投入後の最初のリズムスター
トのイベントであれば、メインプログラムの初期設定(
ステップSl)で設定したリズム固有のデフォルト値(
オートパターンフラグATPは「0」、テンポカウンタ
TCNTは’OJ )が記憶されている。このリズムス
タートのイベントによりリズムの出方が開始されること
になる。その後、ステップs2に戻り、上述しなと同様
の処理を繰り返す。
れると、ワーキングメモリ33内に定義されているオー
トパターンフラグAT’Pを「1」に設定し、又テンポ
カウンタTCNTの内容をゼロにクリアする(ステップ
511)。この場合、電源投入後の最初のリズムスター
トのイベントであれば、メインプログラムの初期設定(
ステップSl)で設定したリズム固有のデフォルト値(
オートパターンフラグATPは「0」、テンポカウンタ
TCNTは’OJ )が記憶されている。このリズムス
タートのイベントによりリズムの出方が開始されること
になる。その後、ステップs2に戻り、上述しなと同様
の処理を繰り返す。
上記ステップSIOで、検出されたイベントがリズムス
タートのイベントでないことが判断されると、リズムス
トップのイベントである旨を判断し、リズムストップ処
理のサブルーチンがコールされ、リズムストップ処理が
行われる(ステップ512)。
タートのイベントでないことが判断されると、リズムス
トップのイベントである旨を判断し、リズムストップ処
理のサブルーチンがコールされ、リズムストップ処理が
行われる(ステップ512)。
リズムストップ処理では、第5図に示すように、まず、
ワーキングメモリ33内のオートパターンフラグATP
がrl、であるが否がが調べられる(ステップ530)
。
ワーキングメモリ33内のオートパターンフラグATP
がrl、であるが否がが調べられる(ステップ530)
。
そして、ステップS30でATPが「1」でないことが
判断されると、以下の処理を行わずにこのサブルーチン
をリターンする。一方、上記スチップS30でATPが
「1」であることが判断されると、ATPを「0」にク
リアし、その後、このサブルーチンをリターンする(ス
テップ531)。これにより、リズムが停止されること
になる。
判断されると、以下の処理を行わずにこのサブルーチン
をリターンする。一方、上記スチップS30でATPが
「1」であることが判断されると、ATPを「0」にク
リアし、その後、このサブルーチンをリターンする(ス
テップ531)。これにより、リズムが停止されること
になる。
メインルーチンは、キーイベント又はパネルからのイベ
ントに応じて上記一連の動作を実行しながらループする
。
ントに応じて上記一連の動作を実行しながらループする
。
次に、リズムプレイ処理について説明する。
リズムプレイ処理へのエントリは、上述したメインルー
チンの実行とは独立に、割り込みによって行われる。即
ち、メインルーチンのリズムスタートイベントにより、
同じくメインルーチンのリズムテンポ記憶処理で記憶し
たリズムテンポレジスタRTMPの内容に応じた時間間
隔でテンポクロック発生回路4からテンポクロック信号
が発生する。このテンポクロツタ信号によりCPU31
に対して割り込みがかかり、現在実行中のメインプログ
ラムを一時中断し、第6図に示すリズムプレイ処理を開
始する。
チンの実行とは独立に、割り込みによって行われる。即
ち、メインルーチンのリズムスタートイベントにより、
同じくメインルーチンのリズムテンポ記憶処理で記憶し
たリズムテンポレジスタRTMPの内容に応じた時間間
隔でテンポクロック発生回路4からテンポクロック信号
が発生する。このテンポクロツタ信号によりCPU31
に対して割り込みがかかり、現在実行中のメインプログ
ラムを一時中断し、第6図に示すリズムプレイ処理を開
始する。
リズムプレイ処理では、まず、オートパターンフラグA
TPがrlJであるか否かを調べる(ステップ540)
。そして、「1」でないことが判断されると以下の処理
を行わずにメインルーチンの割り込まれた位置にリター
ンする。
TPがrlJであるか否かを調べる(ステップ540)
。そして、「1」でないことが判断されると以下の処理
を行わずにメインルーチンの割り込まれた位置にリター
ンする。
一方、オートパターンフラグATPが「1」であること
が判断されると、自動演奏を行うべき旨を認識し、パタ
ーンデータ読出しのサブルーチンをコールする(ステッ
プ541)。
が判断されると、自動演奏を行うべき旨を認識し、パタ
ーンデータ読出しのサブルーチンをコールする(ステッ
プ541)。
パターンデータ読出しサブルーチンでは、第7図のフロ
ーチャートに示す処理を実行する。即ち、まず、パター
データメモリ5から、選択されたリズムに対応する1音
分、つまり4バイトのパターンデータを読出し、ワーキ
ングメモリ33の所定領域RDATO1RDATI、R
DAT2、RDAT3に順次格納する(ステップ550
)。
ーチャートに示す処理を実行する。即ち、まず、パター
データメモリ5から、選択されたリズムに対応する1音
分、つまり4バイトのパターンデータを読出し、ワーキ
ングメモリ33の所定領域RDATO1RDATI、R
DAT2、RDAT3に順次格納する(ステップ550
)。
次いで、RDATOの上位4ビツトにあるステータスを
調べることにより、終了データであるか否かを調べる(
ステップ551)。そして、終了データであることが判
断されると、以下の処理を行わずにこのサブルーチンを
リターンし、リズムプレイ処理ルーチンのステップS
4 ’2に戻る。
調べることにより、終了データであるか否かを調べる(
ステップ551)。そして、終了データであることが判
断されると、以下の処理を行わずにこのサブルーチンを
リターンし、リズムプレイ処理ルーチンのステップS
4 ’2に戻る。
一方、終了データでないことが判断されると、離鍵デー
タであるか否かが調べられる(ステップ552)。これ
もRDATOの上位4ビツト、つまりステータスを調べ
ることにより行う。そして、離鍵データでもないことが
判断されると押鍵データ又は効果データである旨を認識
し、RDATI(キーナンバ又はステップタイム)及び
RDAT2(ステップタイム又は効果値)、RDAT3
(ベロシティ)を音源部7に出力し、所定の発音又は指
定された効果を発揮させる(ステップ853)。そして
、ステップ850に戻り、再度上記と同様の処理を繰り
返す。
タであるか否かが調べられる(ステップ552)。これ
もRDATOの上位4ビツト、つまりステータスを調べ
ることにより行う。そして、離鍵データでもないことが
判断されると押鍵データ又は効果データである旨を認識
し、RDATI(キーナンバ又はステップタイム)及び
RDAT2(ステップタイム又は効果値)、RDAT3
(ベロシティ)を音源部7に出力し、所定の発音又は指
定された効果を発揮させる(ステップ853)。そして
、ステップ850に戻り、再度上記と同様の処理を繰り
返す。
上記ステップS52で離鍵データであることが判断され
るとステップタイム処理のサブルーチをコールする(ス
テップ554)。
るとステップタイム処理のサブルーチをコールする(ス
テップ554)。
ステップタイム処理は、第8図のフローチャートに示す
ように行われる。まず、RDATOの下位4ピッI−2
つまりパートマークフィールドを参照しくステップ56
0)、ドラムスデータであるか否かを調べる(ステップ
561)。そして、ドラムスデータであることが判断さ
れると、このサブルーチンをリターンし、パターンデー
タ続出し処理ルーチンのステップS55に戻る。これに
より、ドラム音に対しては音長の補正は行われない。
ように行われる。まず、RDATOの下位4ピッI−2
つまりパートマークフィールドを参照しくステップ56
0)、ドラムスデータであるか否かを調べる(ステップ
561)。そして、ドラムスデータであることが判断さ
れると、このサブルーチンをリターンし、パターンデー
タ続出し処理ルーチンのステップS55に戻る。これに
より、ドラム音に対しては音長の補正は行われない。
一方、上記ステップS61でドラムスデータでないこと
が判断されると、リズムテンポレジスタRTMPの内容
を、ワーキングメモリ33に設けられたノートオフデー
タ処理テーブルの入力値とし、該テーブルから圧縮率又
は伸長率を示すデータを得て圧縮/伸長率レジスタPE
RCにセットする(ステップ562)。このノートオフ
データ処理テーブルに記憶されているデータの一例を第
9図に示す。テンポ120を基準値とすると、テンポ下
限にいくにしたがって図示する特性で伸長率を増加し、
テンポ上限にいくにしたがって図示する特性で圧縮率を
増加するデータが記憶されている。
が判断されると、リズムテンポレジスタRTMPの内容
を、ワーキングメモリ33に設けられたノートオフデー
タ処理テーブルの入力値とし、該テーブルから圧縮率又
は伸長率を示すデータを得て圧縮/伸長率レジスタPE
RCにセットする(ステップ562)。このノートオフ
データ処理テーブルに記憶されているデータの一例を第
9図に示す。テンポ120を基準値とすると、テンポ下
限にいくにしたがって図示する特性で伸長率を増加し、
テンポ上限にいくにしたがって図示する特性で圧縮率を
増加するデータが記憶されている。
次に、RDAT2、つまりノートオフデータNOFに圧
縮/伸長率レジスタPERCの内容を掛は合わせたもの
を新しいノートオフデータNOFとしてRDAT2に記
憶する。これにより、テンポの遅い場合の音長は伸長さ
れてよりテヌートに、テンポの速い音長は圧縮されてよ
りスタッカートに発音されることになる。このRDAT
2の計算が完了するとこのサブルーチンをリターンし、
パターンデータ続出し処理ルーチンのステップS55に
戻る。
縮/伸長率レジスタPERCの内容を掛は合わせたもの
を新しいノートオフデータNOFとしてRDAT2に記
憶する。これにより、テンポの遅い場合の音長は伸長さ
れてよりテヌートに、テンポの速い音長は圧縮されてよ
りスタッカートに発音されることになる。このRDAT
2の計算が完了するとこのサブルーチンをリターンし、
パターンデータ続出し処理ルーチンのステップS55に
戻る。
パターンデータ読出し処理ルーチンではRDATo〜3
を音源部7に送出しくステップ555)、これにより実
際の放音が行われることになる。
を音源部7に送出しくステップ555)、これにより実
際の放音が行われることになる。
そして、ステップS50へ戻り、上記一連のパターンデ
ータ読出し処理を終了データが見付がるまで繰り返し実
行する。そして、終了データが見つかると、このサブル
ーチンをリターンし、リズムプレイ処理ルーチンのステ
ップS42に戻る。
ータ読出し処理を終了データが見付がるまで繰り返し実
行する。そして、終了データが見つかると、このサブル
ーチンをリターンし、リズムプレイ処理ルーチンのステ
ップS42に戻る。
リズムプレイ処理ルーチンのステップS42では、テン
ポカウンタTCNTをインクリメントし、次いで、テン
ポカウンタTCNTの内容が「192」になったか否か
を調べる(ステップ843)。
ポカウンタTCNTをインクリメントし、次いで、テン
ポカウンタTCNTの内容が「192」になったか否か
を調べる(ステップ843)。
ここで、r192Jの数値は、4分音符を24クロツク
の分解能とし、2小節を処理単位とした場合の一例の値
であり、分解能及び処理単位に応じて種々の値をとるこ
とが可能である。
の分解能とし、2小節を処理単位とした場合の一例の値
であり、分解能及び処理単位に応じて種々の値をとるこ
とが可能である。
上記ステップ843でテンポカウンタTCNTの内容が
r192Jてなければ、このリズムプレイ処理ルーチン
をリターンしてメインルーチンに戻る。これにより、次
のテンポクロックにより、再びCPU31に割り込みが
かけられ、残りのパターンデータを続けて処理すること
になる。
r192Jてなければ、このリズムプレイ処理ルーチン
をリターンしてメインルーチンに戻る。これにより、次
のテンポクロックにより、再びCPU31に割り込みが
かけられ、残りのパターンデータを続けて処理すること
になる。
一方、テンポカウンタTCNTの内容が「192」であ
れば、1演奏パタ一ン分のデータ全てを音源部7に送っ
たことになる。したがって、テンポカウンタTCNTの
内容をクリアしくステップ544)、リズムプレイ処理
をリターンしてメインルーチンに戻る。これにより、次
のテンポクロック信号をトリガーとして再び演奏パター
ンが読出され、自動演奏処理が行われることになる。
れば、1演奏パタ一ン分のデータ全てを音源部7に送っ
たことになる。したがって、テンポカウンタTCNTの
内容をクリアしくステップ544)、リズムプレイ処理
をリターンしてメインルーチンに戻る。これにより、次
のテンポクロック信号をトリガーとして再び演奏パター
ンが読出され、自動演奏処理が行われることになる。
以上のように、演奏データに含まれる音長に関するデー
タ、つまり離鍵時のステップタイムを、指示されたテン
ポに応じて補正(圧縮又は伸長)し、この補正されたス
テップタイムデータを含む演奏データ(パターンデータ
)を用いて音源部7で楽音信号を生成し、サウンドシス
テム8から発音することにより自動演奏を行うようにし
たので、例えばテンポが速い場合はよりスタッカートに
、テンポが遅い場合はよりテヌー1へに音長を補正して
出力することが可能となり、自動演奏においても人が演
奏した音楽に近い演奏表現ができるものとなっている。
タ、つまり離鍵時のステップタイムを、指示されたテン
ポに応じて補正(圧縮又は伸長)し、この補正されたス
テップタイムデータを含む演奏データ(パターンデータ
)を用いて音源部7で楽音信号を生成し、サウンドシス
テム8から発音することにより自動演奏を行うようにし
たので、例えばテンポが速い場合はよりスタッカートに
、テンポが遅い場合はよりテヌー1へに音長を補正して
出力することが可能となり、自動演奏においても人が演
奏した音楽に近い演奏表現ができるものとなっている。
なお、上記実施例ではノートオフデータ処理テーブルの
一例として、第9図に示ず特性を有するものを示したが
、これに限定されるものではない。
一例として、第9図に示ず特性を有するものを示したが
、これに限定されるものではない。
上記テーブルに記憶するデータを変えることにより種々
の音楽的効果を有する自動演奏が可能となる。
の音楽的効果を有する自動演奏が可能となる。
[発明の効果]
以上詳述したように、本発明によれば人が演奏した音楽
のように、テンポの変更に伴った演奏表現の変化が得ら
れる音楽性豊かな自動演奏ができる自動演奏装置を提供
できる。
のように、テンポの変更に伴った演奏表現の変化が得ら
れる音楽性豊かな自動演奏ができる自動演奏装置を提供
できる。
第1図は本発明の自動演奏装置の構成を示すブロック図
、 第2図は本発明の演奏データの形式を説明するための図
、 第3図乃至第5図本発明の全体的な動作を説明するため
のフローチャート、 第6図乃至第8図は本発明のリズムプレイ処理の動作を
説明するためのフローチャート、第9図は本発明のノー
トオフデータ処理カーブを説明するための図である。 1・・・キー/パネルスイッチ部(指定手段)、2・・
・表示部、3・・・マイクロコンピュータ部(補正手段
)、4・・・テンポクロック発生回路、5・・・パター
ンデータメモリ(記憶手段)、6・・・バッファレジス
タ、7・・・音源部(楽音発生手段)、8・・・サウン
ドシステム (楽音発生手段) 31・・・CPU、 32・プログラムメモリ、33 ・ワーキングメモ リ (補正手段)
、 第2図は本発明の演奏データの形式を説明するための図
、 第3図乃至第5図本発明の全体的な動作を説明するため
のフローチャート、 第6図乃至第8図は本発明のリズムプレイ処理の動作を
説明するためのフローチャート、第9図は本発明のノー
トオフデータ処理カーブを説明するための図である。 1・・・キー/パネルスイッチ部(指定手段)、2・・
・表示部、3・・・マイクロコンピュータ部(補正手段
)、4・・・テンポクロック発生回路、5・・・パター
ンデータメモリ(記憶手段)、6・・・バッファレジス
タ、7・・・音源部(楽音発生手段)、8・・・サウン
ドシステム (楽音発生手段) 31・・・CPU、 32・プログラムメモリ、33 ・ワーキングメモ リ (補正手段)
Claims (1)
- 【特許請求の範囲】 少なくとも音長に関するデータを含む演奏データを記
憶する記憶手段と、 演奏のテンポを指定する指定手段と、 この指定手段により指定されたテンポに応じて前記記憶
手段に記憶された演奏データ中の音長に関するデータを
補正する補正手段と、 この補正手段で補正された演奏データに基づいて楽音を
発生する楽音発生手段と を具備したことを特徴とする自動演奏装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2166728A JPH0457092A (ja) | 1990-06-27 | 1990-06-27 | 自動演奏装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2166728A JPH0457092A (ja) | 1990-06-27 | 1990-06-27 | 自動演奏装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH0457092A true JPH0457092A (ja) | 1992-02-24 |
Family
ID=15836650
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2166728A Pending JPH0457092A (ja) | 1990-06-27 | 1990-06-27 | 自動演奏装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0457092A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6596551B1 (en) | 1998-12-01 | 2003-07-22 | Hitachi, Ltd. | Etching end point judging method, etching end point judging device, and insulating film etching method using these methods |
| KR20150010627A (ko) | 2013-07-18 | 2015-01-28 | 가부시키가이샤 히다치 하이테크놀로지즈 | 플라즈마 처리 장치 및 플라즈마 처리 장치의 운전 방법 |
-
1990
- 1990-06-27 JP JP2166728A patent/JPH0457092A/ja active Pending
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6596551B1 (en) | 1998-12-01 | 2003-07-22 | Hitachi, Ltd. | Etching end point judging method, etching end point judging device, and insulating film etching method using these methods |
| KR20150010627A (ko) | 2013-07-18 | 2015-01-28 | 가부시키가이샤 히다치 하이테크놀로지즈 | 플라즈마 처리 장치 및 플라즈마 처리 장치의 운전 방법 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH04153697A (ja) | 自動演奏装置 | |
| JPS6157640B2 (ja) | ||
| JP3267777B2 (ja) | 電子楽器 | |
| JPH09179559A (ja) | 自動伴奏装置及び自動伴奏方法 | |
| US5585586A (en) | Tempo setting apparatus and parameter setting apparatus for electronic musical instrument | |
| JPH0457092A (ja) | 自動演奏装置 | |
| JP3844286B2 (ja) | 電子楽器の自動伴奏装置 | |
| JP2587737B2 (ja) | 自動伴奏装置 | |
| JP4318194B2 (ja) | 電子楽器の自動伴奏装置及び自動伴奏方法 | |
| JP3609045B2 (ja) | 自動演奏装置 | |
| JPH06337674A (ja) | 電子楽器の自動演奏装置 | |
| JPH10222166A (ja) | 自動伴奏装置 | |
| JP2665854B2 (ja) | 自動演奏装置 | |
| JP3385545B2 (ja) | 自動演奏装置 | |
| JPH04274297A (ja) | 自動演奏装置 | |
| JPH06348258A (ja) | 電子楽器の自動演奏装置 | |
| JPH07104753A (ja) | 電子楽器の自動調律装置 | |
| JP3077787B2 (ja) | 電子楽器のテンポ調整装置 | |
| JP3424989B2 (ja) | 電子楽器の自動伴奏装置 | |
| JP2526032Y2 (ja) | 電子楽器 | |
| JPH04181995A (ja) | 自動伴奏装置 | |
| JPH0515279B2 (ja) | ||
| JP3324881B2 (ja) | 自動演奏装置 | |
| JPH05188961A (ja) | 自動伴奏装置 | |
| JPH09319372A (ja) | 電子楽器の自動伴奏装置及び自動伴奏方法 |