米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 楽器;音響 -> カシオ計算機株式会社

発明の名称 曲データ編集装置および曲データ編集プログラム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2007−11136(P2007−11136A)
公開日 平成19年1月18日(2007.1.18)
出願番号 特願2005−193947(P2005−193947)
出願日 平成17年7月1日(2005.7.1)
代理人 【識別番号】100096699
【弁理士】
【氏名又は名称】鹿嶋 英實
発明者 出嶌 達也
要約 課題
演奏表現力の向上を図る曲データ編集装置を実現する。

解決手段
編集処理を実行すると、ステップSB3を介して実行される曲選択処理により編集対象曲が選択される。この後、ステップSB8を介して実行される実行処理では、選択された曲を構成する各音を表す曲データ中から音高が極大変化する極大音と極小変化する極小音とを検出し、検出された極大音および極小音の内、複数音連続的に増加して極大変化した極大音の1つ前の音と、複数音連続的に減少して極小変化した極小音の1つ前の音とをそれぞれ曲の印象を特徴付けるハイライト音に指定し、指定されたハイライト音の強調させるように、当該ハイライト音に対応する曲データ中のベロシティVEL(音量)を増加させる。これにより、曲の印象を特徴付ける箇所が強調される為、演奏表現力が向上する。
特許請求の範囲
【請求項1】
曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、
前記曲データ記憶手段に記憶される曲データの中から曲の印象を特徴付けるハイライト音を抽出するハイライト音抽出手段と、
前記曲データ記憶手段に記憶される曲データの内、前記ハイライト音抽出手段により抽出されたハイライト音に対応する曲データの楽音要素を強調変更する曲データ変更手段と
を具備することを特徴とする曲データ編集装置。
【請求項2】
曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、
前記曲データ記憶手段に記憶される曲データの中から曲の印象を特徴付けるハイライト音を抽出するハイライト音抽出手段と、
前記曲データ記憶手段に記憶される曲データを再生する再生手段と、
前記再生手段により再生される曲データがハイライト音に対応する場合、その曲データの楽音要素を強調変更する曲データ変更手段と
を具備することを特徴とする曲データ編集装置。
【請求項3】
前記ハイライト音抽出手段は、前記曲データ記憶手段に記憶される曲データに含まれる音高の変化が極大となる位置にある音高である極大音と極小となる位置にある音高である極小音とを検出し、検出された極大音および極小音の内から所定音連続的に極大に向かって増加した極大音の1つ前の音と、所定音連続的に極小に向かって減少した極小音の1つ前の音とをそれぞれ曲の印象を特徴付けるハイライト音として抽出することを特徴とする請求項1乃至2のいずれかに記載の曲データ編集装置。
【請求項4】
前記ハイライト音抽出手段は、前記曲データ記憶手段に記憶される曲データ中から音高の変化が所定期間連続して極大に向かって増加した場合に極大の位置にある音の1つの前の音と、音高の変化が所定期間連続して極小に向かって減少した場合に極小の位置にある音の1つの前の音とをそれぞれ曲の印象を特徴付けるハイライト音として抽出することを特徴とする請求項1乃至2のいずれかに記載の曲データ編集装置。
【請求項5】
前記曲データ変更手段は、ハイライト音に対応する曲データの音量を増加させて強調することを特徴とする請求項1乃至2のいずれかに記載の曲データ編集装置。
【請求項6】
前記曲データ変更手段は、ハイライト音が和音を構成している場合には、当該ハイライト音以外の他の和音構成音に各々対応する曲データの音量を減少させて和音中のハイライト音を強調させることを特徴とする請求項1乃至2のいずれかに記載の曲データ編集装置。
【請求項7】
曲を構成する各音を表すと共に、エクスクルーシブメッセージを備える曲データを記憶する曲データ記憶手段と、
前記曲データ記憶手段に記憶される曲データの中から曲の印象を特徴付けるハイライト音を抽出するハイライト音抽出手段と、
前記曲データ記憶手段に記憶される曲データの内、前記ハイライト音抽出手段により抽出されたハイライト音に対応する曲データのエクスクルーシブメッセージとして曲データ再生時の周波数特性を高域強調させるフィルタ特性データを設定する曲データ変更手段と
を具備することを特徴とする曲データ編集装置。
【請求項8】
曲を構成する各音を表す曲データから曲の印象を特徴付けるハイライト音を抽出するハイライト音抽出処理と、
曲を構成する各音を表す曲データの内、前記ハイライト音抽出処理にて抽出されたハイライト音に対応する曲データの楽音要素を強調させるように変更する曲データ変更処理と
をコンピュータで実行させることを特徴とする曲データ編集プログラム。
発明の詳細な説明
【技術分野】
【0001】
本発明は、例えばシーケンサに用いて好適な曲データ編集装置および曲データ編集プログラムに関する。
【背景技術】
【0002】
演奏すべき各音の音高や発音タイミングから構成される曲データを再生する自動演奏装置では、曲データの内容を編集する曲データ編集装置を備えることが多い。例えば、特許文献1に開示の自動演奏装置では、演奏トラック単位およびイベント単位で非ドラム系/ドラム系の音色を識別する音色識別データを含む曲データを編集して、一つの演奏トラックにドラム音色と非ドラム音色とを混在可能にする曲データ編集装置を備える。
【0003】
【特許文献1】特開2002−169547号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
ところで、上記特許文献1に開示の技術は、一つの演奏トラックにドラム音色と非ドラム音色とを混在可能にするだけであり、演奏表現力を向上させることができない、という問題がある。
本発明は、このような事情に鑑みてなされたもので、演奏表現力を向上させることができる曲データ編集装置および曲データ編集プログラムを提供することを目的としている。
【課題を解決するための手段】
【0005】
上記目的を達成するため、請求項1に記載の発明では、曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、前記曲データ記憶手段に記憶される曲データの中から曲の印象を特徴付けるハイライト音を抽出するハイライト音抽出手段と、前記曲データ記憶手段に記憶される曲データの内、前記ハイライト音抽出手段により抽出されたハイライト音に対応する曲データの楽音要素を強調変更する曲データ変更手段とを具備することを特徴とする。
【0006】
請求項2に記載の発明では、曲を構成する各音を表す曲データを記憶する曲データ記憶手段と、前記曲データ記憶手段に記憶される曲データの中から曲の印象を特徴付けるハイライト音を抽出するハイライト音抽出手段と、前記曲データ記憶手段に記憶される曲データを再生する再生手段と、前記再生手段により再生される曲データがハイライト音に対応する場合、その曲データの楽音要素を強調変更する曲データ変更手段とを具備することを特徴とする。
【0007】
上記請求項1乃至2のいずれかに従属する請求項3に記載の発明では、前記曲データ記憶手段に記憶される曲データに含まれる音高の変化が極大となる位置にある音高である極大音と極小となる位置にある音高である極小音とを検出し、検出された極大音および極小音の内から所定音連続的に極大に向かって増加した極大音の1つ前の音と、所定音連続的に極小に向かって減少した極小音の1つ前の音とをそれぞれ曲の印象を特徴付けるハイライト音として抽出することを特徴とする。
【0008】
上記請求項1乃至2のいずれかに従属する請求項4に記載の発明では、前記曲データ記憶手段に記憶される曲データ中から音高の変化が所定期間連続して極大に向かって増加した場合に極大の位置にある音の1つの前の音と、音高の変化が所定期間連続して極小に向かって減少した場合に極小の位置にある音の1つの前の音とをそれぞれ曲の印象を特徴付けるハイライト音として抽出することを特徴とする。
【0009】
上記請求項1乃至2のいずれかに従属する請求項5に記載の発明では、前記曲データ変更手段は、ハイライト音に対応する曲データの音量を増加させて強調することを特徴とする。
【0010】
上記請求項1乃至2のいずれかに従属する請求項6に記載の発明では、前記曲データ変更手段は、ハイライト音が和音を構成している場合には、当該ハイライト音以外の他の和音構成音に各々対応する曲データの音量を減少させて和音中のハイライト音を強調させることを特徴とする。
【0011】
請求項7に記載の発明では、曲を構成する各音を表すと共に、エクスクルーシブメッセージを備える曲データを記憶する曲データ記憶手段と、前記曲データ記憶手段に記憶される曲データ中から曲の印象を特徴付けるハイライト音を抽出するハイライト音抽出手段と、前記曲データ記憶手段に記憶される曲データの内、前記ハイライト音抽出手段により抽出されたハイライト音に対応する曲データのエクスクルーシブメッセージとして曲データ再生時の周波数特性を高域強調させるフィルタ特性データを設定する曲データ変更手段とを具備することを特徴とする。
【0012】
請求項8に記載の発明では、曲を構成する各音を表す曲データの中から曲の印象を特徴付けるハイライト音を抽出するハイライト音抽出処理と、曲を構成する各音を表す曲データの内、前記ハイライト音抽出処理にて抽出されたハイライト音に対応する曲データの楽音要素を強調させるように変更する曲データ変更処理とをコンピュータで実行させることを特徴とする。
【発明の効果】
【0013】
請求項1、8に記載の発明によれば、曲を構成する各音を表す曲データの中から曲の印象を特徴付けるハイライト音を抽出し、抽出されたハイライト音に対応する曲データの楽音要素を強調変更するので、曲の印象を特徴付けるハイライト音が強調されて演奏表現力を向上させることができる。
【0014】
請求項2に記載の発明によれば、曲を構成する各音を表す曲データの中から曲の印象を特徴付けるハイライト音を抽出しておき、曲データを再生する際に、その再生される曲データがハイライト音に対応する場合、当該曲データの楽音要素を強調変更するので、曲の印象を特徴付けるハイライト音が強調されて演奏表現力を向上させることができる。
【0015】
請求項5に記載の発明によれば、ハイライト音に対応する曲データの音量を増加させて強調するので、演奏表現力を向上させることができる。
【0016】
請求項6に記載の発明では、ハイライト音が和音を構成している場合には、当該ハイライト音以外の他の和音構成音に各々対応する曲データの音量を減少させて和音中のハイライト音を強調させるので、演奏表現力を向上させることができる。
【0017】
請求項7に記載の発明では、曲を構成する各音を表すと共に、エクスクルーシブメッセージを備える曲データを記憶しておき、記憶された曲データの中から曲の印象を特徴付けるハイライト音を抽出し、抽出されたハイライト音に対応する曲データのエクスクルーシブメッセージとして曲データ再生時の周波数特性を高域強調させるフィルタ特性データを設定するので、曲の印象を特徴付けるハイライト音が強調されて演奏表現力を向上させることができる。
【発明を実施するための最良の形態】
【0018】
以下では、最初に発明の概要を説明した後、図面を参照して本発明の実施の形態について説明する。
【0019】
A.発明の概要
本発明は、曲を構成する各音を表す曲データから曲のハイライト箇所を検出し、検出したハイライト箇所を強調するように、対応する曲データを自動的に編集する。ハイライト箇所とは、例えば曲中の所謂「サビ」と呼ばれる部分など、曲の印象を特徴付ける音を指す。ハイライト箇所の強調とは、本実施形態においては、後述するように、ハイライト箇所に対応する曲データのベロシティ(音量)レベルを増加(あるいは減少)させる処理操作を指す。そうした編集が施された曲データを自動演奏すれば、曲の印象を特徴付ける箇所が強調される為、演奏表現力の向上を図ることができるようになる。
【0020】
B.第1実施形態
(1)構成
図1は、本発明の第1実施形態の構成を示すブロック図である。この図において、操作部10は、電源スイッチの他、キー入力用のキーボードやマウス等の入力操作子を備え、入力操作に対応したイベントを発生する。このイベントはCPU11に取り込まれる。CPU11は、ROM12に記憶される各種制御プログラムを実行し、操作部10が発生するイベントに対応して装置各部を制御するものであり、その特徴的な処理動作については追って詳述する。ROM12は、CPU11にロードされる各種制御プログラムや各種画面データを記憶する。各種制御プログラムとは、後述するメインルーチン、編集処理、曲選択処理および実行処理を含む。各種画面データは、後述する初期画面SG、編集初期画面HSG、実行画面JGおよび終了画面EGを表示部16に画面表示させるデータである。
【0021】
RAM13は、CPU11の処理に用いる各種レジスタ/フラグデータを一時記憶するワークエリアと、MIDIインタフェース17を介して外部から供給される曲データを保存するデータエリアとを備える。ここで、図2を参照してRAM13のデータエリアに格納される曲データの構成について説明する。RAM13のデータエリアには、図2に示すように、複数の曲[0]〜曲[N]が格納される。1つの曲は、読み出しアドレスADに対応した曲データ[AD]〜[AD+n]および曲終了を表すデータENDから形成される。1つの曲データ[AD]は、前イベントからの経過時間(相対時間)を表すデルタタイムΔT、ノートオンあるいはノートオフなどのイベント内容を識別するイベントEV、発音(又は消音)する音高を指定するノートNOTEおよび音量を表すベロシティVELから構成される。
【0022】
音源14は、周知の波形メモリ読み出し方式で構成され、RAM13のデータエリアからCPU10が順次読み出す曲データを、指定テンポに同期して再生して楽音信号を出力する。サウンドシステム15は、音源14から出力される楽音信号をD/A変換した後に増幅してスピーカSPから発音する。表示部16は、CPU11から供給される表示制御信号に応じて、装置の動作状態や操作部10の入力操作に応じた各種画面(初期画面SG、編集初期画面HSG、実行画面JGおよび終了画面EG等)を表示する。MIDIインタフェース17は、CPU11の制御の下で、外部MIDI機器とMIDI形式の曲データを授受する。MIDIインタフェース17を介して外部MIDI機器から供給される曲データは、RAM13のデータエリア(図2参照)に格納される。
【0023】
(2)動作
次に、図3〜図17を参照して第1実施形態の動作について説明する。以下では、先ず最初に全体動作としてメインルーチンの動作を説明した後、続いてメインルーチンからコールされる編集処理を形成する各種処理(曲選択処理、実行処理、和音検出処理、極大・極小検出処理、音高検出処理およびベロシティ変換処理)の動作を説明する。
【0024】
<メインルーチンの動作>
上記構成による第1実施形態に電源が投入されると、CPU11は図3に図示するメインルーチンを実行してステップSA1に処理を進め、RAM13に格納される各種レジスタ/フラグ類をリセットしたり、初期値セットするイニシャライズを行う。そして、イニシャライズが完了すると、ステップSA2に進み、ROM12から読み出す画面データに基づき初期画面SGを表示部16に画面表示する。初期画面SGとは、図4に図示する一例のように、再生アイコンIC1および編集アイコンIC2を備える画面である。
【0025】
初期画面SGにおいて、再生アイコンIC1や編集アイコンIC2を選択操作しなければ、ステップSA3、SA5の各判断結果は「NO」になり、ステップSA2に処理を戻し、初期画面表示状態が維持される。初期画面表示状態において、例えば操作部10のマウスを用いて再生アイコンIC1を選択操作すると、ステップSA3の判断結果が「YES」になり、ステップSA5に進む。ステップSA5では、例えば後述の編集処理によってハイライト箇所を強調するように編集された曲データを自動演奏する再生処理を実行した後、ステップSA2に処理を戻し、初期画面表示状態に復帰する。
【0026】
一方、初期画面表示状態において、編集アイコンIC2を選択操作すると、ステップSA5の判断結果が「YES」になり、ステップSA6に進む。ステップSA6では、複数曲の内から編集対象として選曲した曲の曲データからハイライト箇所を検出し、そのハイライト箇所を強調させるように曲データを自動的に編集する編集処理を実行した後、ステップSA2に処理を戻し、初期画面表示状態に復帰する。以後、パワーオフされるまで上述したステップSA2〜SA6を繰り返す。
【0027】
<編集処理の動作>
次に、図5〜図6を参照して編集処理の動作を説明する。上述したメインルーチンのステップSA6(図3参照)を介して編集処理が実行されると、CPU11は図5に図示するステップSB1に進み、ROM12から読み出す画面データに基づき編集初期画面HSGを表示部16に画面表示する。編集初期画面HSGとは、図6(a)に図示する一例のように、曲選択アイコンIC3および戻るアイコンIC4を備える画面である。編集初期画面HSGが画面表示されている状態で戻るアイコンIC4を選択操作すると、ステップSB4の判断結果が「YES」になり、本処理を完了させてメインルーチンに処理を戻し、初期画面表示状態に復帰させる。
【0028】
一方、編集初期画面HSGが画面表示されている状態で曲選択アイコンIC4を選択操作すると、ステップSB2の判断結果が「YES」になり、ステップSB3を介して、複数曲の内から編集対象とする曲を選曲する曲選択処理(後述する)を実行する。曲選択処理により編集対象とする曲を選曲し終えると、ステップSB5に進み、図6(b)に図示する一例のように、実行アイコンIC5および戻るアイコンIC6を備える実行画面JGを画面表示する。
【0029】
実行画面JGが画面表示されている状態で戻るアイコンIC6を選択操作した場合には、ステップSB7の判断結果が「YES」になり、ステップSB1に処理を戻し、編集初期画面表示状態に復帰させる。これに対し、実行画面JGが画面表示されている状態で実行アイコンIC5を選択操作すると、ステップSB6の判断結果が「YES」になり、ステップSB8を介して実行処理を行う。実行処理では、後述するように、編集対象曲の曲データからハイライト箇所を検出し、検出したハイライト箇所を強調させるように曲データのベロシティVELを変更する。
【0030】
そして、ステップSB8の実行処理にて曲データを編集し終えると、ステップSB9に進み、図6(c)に図示する一例のように、戻るアイコンIC7および終了アイコンIC8を備える終了画面EGを画面表示する。終了画面EGが画面表示されている状態で戻るアイコンIC7を選択操作した場合には、ステップSB10の判断結果が「YES」になり、ステップSB1に処理を戻し、編集初期画面表示状態に復帰させる。これに対し、終了アイコンIC8を選択操作すると、ステップSB11の判断結果が「YES」になり、本処理を完了させてメインルーチンに処理を戻し、初期画面表示状態に復帰させる。
【0031】
<曲選択処理の動作>
次に、図7〜図8を参照して曲選択処理の動作を説明する。上述した編集処理のステップSB3(図5参照)を介して本処理が実行されると、CPU1は図7に図示するステップSC1に進み、曲リスト画面LGを作成して表示部16に画面表示する。曲リスト画面LGとは、図8に図示する一例のように、RAM13のデータエリアに格納される複数の曲[0]〜曲[N]の曲番号や曲名などを一覧表示する画面である。次いで、ステップSC2では、この曲リスト画面LGに一覧表示される曲の内から編集対象曲が選択されるまで待機する。そして、編集対象曲が選択されると、ステップSC2の判断結果が「YES」になり、ステップSC3に進み、選択された編集対象曲の曲番号をポインタnにストアして本処理を終える。以後、ポインタnの値を曲番号nと記す。
【0032】
<実行処理の動作>
次に、図9を参照して実行処理の動作を説明する。前述した編集処理のステップSB8(図5参照)を介して本処理が実行されると、CPU1は図9に図示するステップSD1に進み、編集対象として選曲された曲番号nの曲データの内からノートオンイベントを有する曲データのアドレスAD(読み出しアドレス)、経過時間TおよびノートNOTEを抽出し、それらを和音と非和音とに区別して保持する和音検出処理を実行する。和音検出処理の詳細については追って述べる。
【0033】
次いで、ステップSD2では、曲データ中で隣接するノートオンイベント同士のノートNOTEから音高変化の傾きを表す差分値を算出し、その差分値により極小となる位置に対応するノートオンイベントが記憶された極小値アドレスおよびそれに対応する差分値である極小差分値と、極大となる位置に対応するノートオンイベントが記憶された極大値アドレスおよびそれに対応する差分値である極大差分値とを検出する極大・極小検出処理を実行する。極大・極小検出処理の詳細については追って述べる。
【0034】
続いて、ステップSD3では、上記ステップSD2の極大・極小検出処理にて検出された極大値アドレスで指定される極大音の内、前5音が連続して増加した極大音の1つ前の音を「極大側ハイライト音」として指定するハイライトアドレスVELAD[a]と、極小値アドレスで指定される極小音の内、前5音が連続して減少した極小音の1つ前の音を「極小側ハイライト音」として指定するハイライトアドレスVELAD[a]とを決定する音高検出処理を実行する。音高検出処理の詳細については追って述べる。
【0035】
そして、ステップSD4では、上記ステップSD3の音高検出処理において検出されたハイライト音の読み出しアドレス(ハイライトアドレスVELAD[a])で指定される曲データ中のベロシティVELを増加させてハイライト音を強調させる一方、ハイライト音が和音を構成していれば、ハイライト音以外の他の和音構成音のベロシティVELを減少させ、和音中のハイライト音を強調させるベロシティ変換処理を行った後、本処理を完了させる。ベロシティ変換処理の詳細については追って述べる。
【0036】
<和音検出処理の動作>
次に、図10〜図12を参照して和音検出処理の動作を説明する。前述した実行処理のステップSD1(図9参照)を介して実行される和音検出処理は、図10に図示するように、ステップSE1を介して実行されるノートオン検出処理と、ステップSE2を介して実行される重ね合わせ検出処理とから構成される。以下、ノートオン検出処理および重ね合わせ検出処理の各動作について述べる。
【0037】
<ノートオン検出処理の動作>
図10のステップSE1を介してノートオン検出処理が実行されると、CPU11は図11に図示するステップSF1に進み、曲開始時点からの経過時間を計時するレジスタTおよびポインタaをゼロリセットする。続いて、ステップSF2では、曲番号nの曲データの先頭アドレスをレジスタADにストアする。次いで、ステップSF3では、レジスタADで指定される曲データ[AD]をRAM13のデータエリアから読み出す。続いて、ステップSF4では、読み出した曲データ[AD]中のデルタタイムΔTをレジスタTに加算して曲開始時点からの経過時間(絶対時間)を算出する。以後、レジスタTの値を経過時間Tと記す。そして、ステップSF5では、読み出した曲データ[AD]中のイベントEVが「ノートオンイベント」であるか否かを判断する。
【0038】
曲データ[AD]中のイベントEVが「ノートオフイベント」であると、判断結果は「NO」になり、ステップSF9に進む。ステップSF9〜SF10では、ポインタaおよびレジスタADを歩進させる。そして、ステップSF11では、歩進されたレジスタADの値が最終アドレスを超えたか否かを判断する。なお、ここで言う最終アドレスとは、曲終端を表すデータENDが読み出されるアドレスを指す。曲終端を表すデータENDが読み出されなければ、判断結果は「NO」になり、上記ステップSF3に処理を戻す。
【0039】
一方、曲データ[AD]中のイベントEVが「ノートオンイベント」であると、上記ステップSF5の判断結果は「YES」となり、ステップSF6に進む。ステップSF6では、「ノートオンイベント」を有する曲データ[AD]のアドレスADを、ポインタaにて指定されるアドレスレジスタAD[a]にストアする。次に、ステップSF7では、レジスタTの値、すなわち「ノートオンイベント」を有する曲データ[AD]の経過時間Tを、ポインタaにより指定されるレジスタTIME[a]にストアする。次いで、ステップSF8では、「ノートオンイベント」を有する曲データ[AD]のノートNOTEを、ポインタaにより指定されるレジスタNOTE[a]にストアする。
【0040】
こうして、「ノートオンイベント」を有する曲データ[AD]のアドレスAD(読み出しアドレス)、経過時間TおよびノートNOTEを検出し終えると、上述したステップSF9〜SF11を実行する。以後、歩進されたレジスタADが最終アドレスを超えるまで上述したステップSF3〜SF11を繰り返し、「ノートオンイベント」を有する曲データ[AD]を検出する毎に、そのアドレスAD(読み出しアドレス)、経過時間TおよびノートNOTEを、それぞれアドレスレジスタAD[a]、レジスタTIME[a]およびレジスタNOTE[a]にストアする。そして、歩進されたレジスタADの値が最終アドレスを超え、曲データ[AD]の読み出しが完了すると、ステップSF11の判断結果が「YES」になり、本処理を完了させる。
【0041】
このように、ノートオン検出処理では、曲選択処理(図7参照)により編集対象として選曲された曲番号nの曲データ[AD]から「ノートオンイベント」を有する曲データ[AD]を検索し、該当する曲データ[AD]のアドレスAD(読み出しアドレス)、経過時間TおよびノートNOTEを、それぞれアドレスレジスタAD[a]、レジスタTIME[a]およびレジスタNOTE[a]に保持する。
【0042】
<重ね合わせ検出処理の動作>
図10のステップSE2を介して重ね合わせ検出処理が実行されると、CPU11は、図12に図示するステップSG1に進み、ポインタa、ポインタbおよびポインタcをそれぞれゼロリセットする。次いで、ステップSG2では、上述のノートオン検出処理にて検出されたアドレスレジスタAD[a]の内容を、ポインタbおよびポインタcで指定される2次元アドレスレジスタAD[b][c]に格納し直す。同様に、ステップSG3では、レジスタNOTE[a]の内容を、ポインタbおよびポインタcで指定される2次元レジスタNOTE[b][c]に格納し直す。
【0043】
次に、ステップSG4では、ポインタdに初期値「1」をセットし、続くステップSG5では、ポインタaで指定されるレジスタTIME[a]に格納される経過時間Tと、ポインタaとポインタdとの加算値a+dで指定されるレジスタTIME[a+d]に格納される経過時間Tとが略一致するか否か、つまり隣接するノートオンイベント同士の経過時間Tが略一致する和音であるかどうかを判断する。以下、和音の場合と非和音の場合とに分けて動作説明を進める。
【0044】
a.非和音の場合
非和音であると、上記ステップSG5の判断結果が「NO」となり、ステップSG6に進む。ステップSG6〜SG7では、ポインタcをゼロリセットすると共に、ポインタbを歩進させる。次いで、ステップSG8では、ポインタbおよびポインタcで指定される2次元アドレスレジスタAD[b][c]に、ポインタaとポインタdとの加算値a+dで指定されるアドレスレジスタAD[a+d]の値をストアし、続くステップSG9では、ポインタbとポインタcとで指定される2次元レジスタNOTE[b][c]に、ポインタaとポインタdとの加算値a+dで指定されるレジスタNOTE[a+d]の値をストアする。
【0045】
そして、ステップSG10に進み、ポインタaを歩進させる。続いて、ステップSG11では、歩進されたポインタaがノートオンイベント総数を超えた否かを判断する。歩進されたポインタaがノートオンイベント総数を超えなければ、判断結果は「NO」になり、上述のステップSG4に処理を戻す。これに対し、歩進されたポインタaがノートオンイベント総数を超えると、上記ステップSG11の判断結果が「YES」となり、本処理を終える。
【0046】
b.和音の場合
一方、隣接するノートオンイベント同士の経過時間Tが略一致する和音が検索されると、上記ステップSG5の判断結果が「YES」になり、ステップSG12に進み、ポインタcを歩進させる。次いで、ステップSG13では、ポインタbとポインタcとで指定される2次元アドレスレジスタAD[b][c]に、ポインタaとポインタdとの加算値a+dで指定されるアドレスレジスタAD[a+d]の値をストアする。
【0047】
続いて、ステップSG14では、ポインタbとポインタcとで指定される2次元レジスタNOTE[b][c]に、ポインタaとポインタdとの加算値a+dで指定されるレジスタNOTE[a+d]の値をストアする。そして、ステップSG15では、ポインタdを歩進させ、続くステップSG16では、ポインタaと歩進されたポインタdとの加算値a+dがノートオンイベント総数を超えた否かを判断する。ノートオンイベント総数を超えなければ、判断結果は「NO」になり、上述のステップSG5に処理を戻すが、ノートオンイベント総数を超えると、判断結果が「YES」になり、本処理を終える。
【0048】
以上のように、重ね合わせ検出処理では、前述のノートオン検出処理(図11参照)にて検出されたレジスタTIME[a]の内容(経過時間T)に基づき、隣り合うノートオンイベント同士の経過時間Tが略一致する和音であるか否かを判断する。そして、非和音であれば、アドレスレジスタAD[a]の内容を2次元アドレスレジスタAD[b][0]に、レジスタNOTE[a]の内容を2次元レジスタNOTE[b][0]にストアし直し、一方、和音であると、アドレスレジスタAD[a]の内容を2次元アドレスレジスタAD[b][c]に、レジスタNOTE[a]の内容を2次元レジスタNOTE[b][c]にストアし直すようになっている。
【0049】
したがって、例えばレジスタTIME[0]〜TIME[2]にそれぞれ格納される経過時間Tが非和音のものであると、
AD[0][0]←AD[0]、NOTE[0][0]←NOTE[0]
AD[1][0]←AD[1]、NOTE[1][0]←NOTE[1]
AD[2][0]←AD[2]、NOTE[2][0]←NOTE[2]のようにストアし直す。
【0050】
一方、例えばレジスタTIME[0]〜TIME[2]にそれぞれ格納される経過時間Tが和音のものであると、
AD[0][0]←AD[0]、NOTE[0][0]←NOTE[0]
AD[0][1]←AD[1]、NOTE[0][1]←NOTE[1]
AD[0][2]←AD[2]、NOTE[0][2]←NOTE[2]のようにストアし直す。
【0051】
<極大・極小検出処理の動作>
次に、図13〜図14を参照して極大・極小検出処理の動作を説明する。前述した実行処理のステップSD2(図9参照)を介して本処理が実行されると、CPU11は、図13に図示するステップSH1に進み、ポインタa、ポインタbおよびポインタcをそれぞれゼロリセットする。続いて、ステップSH2〜SH7では、ポインタaを歩進させながら、そのポインタaが指定する2次元レジスタNOTE[a+1][0]と2次元レジスタNOTE[a][0]との差、つまり隣り合うノートオンイベント同士のノートNOTEの差分を算出し、算出した差分が「+(正)」の場合には「+差分値」を、算出した差分が「0」の場合には「0」を、算出した差分が「−(負)」の場合には「−差分値」をそれぞれレジスタDIF[a]にストアする処理を、ポインタaに「1」を加算した値a+1がノート総数(曲データの数)を超えるまで繰り返す。なお、ここで言う「+差分値」とは音高変化の傾きが増加していることを表し、「−差分値」とは音高変化の傾きが減少していることを表す。
【0052】
こうして、曲データ中のノートオンイベント毎の音高変化の傾きを表す差分値をレジスタDIF[a]にストアし終えると、上記ステップSH2の判断結果が「NO」になり、ステップSH8に進み、ポインタaをゼロリセットする。そして、ステップSH9〜SH12では、ポインタaに「1」を加算した値a+1がデータ総数を超えるまで、ポインタaを歩進させながら、それに応じてレジスタDIF[a]の差分値を読み出す。読み出されたレジスタDIF[a]の差分値又はレジスタDIF[a+1]の差分値のいずれかが「0」であると、ステップSH10、SH11のいずれかの判断結果が「YES」になり、ステップSH12に進み、ポインタaを歩進させて上述のステップSH9に処理を戻す。
【0053】
これに対し、読み出されたレジスタDIF[a]およびレジスタDIF[a+1]の各差分値が「0」以外であると、ステップSH10、SH11の各判断結果が「NO」となり、図14に図示するステップSH13に処理を進める。ステップSH13では、連続して読み出されたレジスタDIF[a]およびレジスタDIF[a+1]の差分極性が同一でないかどうかを判断する。双方の差分極性が同一であると、判断結果が「NO」になり、ステップSH18に進み、ポインタaを歩進させて上述のステップSH9(図13参照)に処理を戻す。
【0054】
一方、双方の差分極性が同一でない場合、すなわちレジスタDIF[a]の差分極性が「+(増加)」、レジスタDIF[a+1]の差分極性が「−(減少)」となる極大変化の場合あるいはレジスタDIF[a]の差分極性が「−(減少)」、レジスタDIF[a+1]の差分極性が「+(増加)」となる極小場合には、上記ステップSH13の判断結果が「NO」になり、ステップSH14に進む。ステップSH14では、レジスタDIF[a]の差分極性が「−(減少)」であるか否かを判断する。
【0055】
レジスタDIF[a]の差分極性が「−(減少)」、レジスタDIF[a+1]の差分極性が「+(増加)」となる極小変化では、上記ステップSH14の判断結果が「YES」になり、ステップSH15に進む。ステップSH15では、ポインタaで指定される2次元アドレスレジスタAD[a][0]の値を、極小音を指定する極小値アドレスとしてレジスタMINAD[b][0]にストアする。そして、ステップSH16では、レジスタDIF[a]を極小差分値としてレジスタMINDIF[b]にストアする。この後、ステップSH17に進み、ポインタbを歩進させ、ステップSH18では、ポインタaを歩進させて前述のステップSH9(図13参照)に処理を戻す。
【0056】
これに対し、レジスタDIF[a]の差分極性が「+(増加)」、レジスタDIF[a+1]の差分極性が「−(減少)」となる極大変化では、上記ステップSH14の判断結果が「NO」になり、ステップSH19に進む。ステップSH19では、ポインタaで指定される2次元アドレスレジスタAD[a][0]の値を、極大音を指定する極大値アドレスとしてレジスタMAXAD[c][0]にストアする。次いで、ステップSH20では、レジスタDIF[a]を極大差分値としてレジスタMAXDIF[c]にストアする。この後、ステップSH21に進み、ポインタcを歩進させ、続くステップSH18では、ポインタaを歩進させて前述のステップSH9(図13参照)に処理を戻す。
【0057】
このように、極大・極小検出処理では、曲データ中で隣接するノートオンイベント同士のノートNOTEから音高変化の傾きを表す差分値を算出し、その差分値により極小となる位置に対応するノートオンイベントが記憶された極小値アドレスおよびそれに対応する差分値である極小差分値と、極大となる位置に対応するノートオンイベントが記憶された極大値アドレスおよびそれに対応する差分値である極大差分値とを検出するようになっている。
【0058】
<音高検出処理の動作>
次に、図15〜図16を参照して音高検出処理の動作を説明する。前述した実行処理のステップSD3(図9参照)を介して本処理が実行されると、CPU11は、図15に図示するステップSJ1〜SJ11において極大側ハイライト音を検出した後、図16に図示するステップSJ12〜SJ22において極小側ハイライト音を検出する。
【0059】
本実施形態では、極大値アドレス(MAXAD[a])で指定される極大音に至る前5音が連続して増加し、かつその極大音の1つ前の音(MAXAD[a−1])を「極大側ハイライト音」と定義し、極小値アドレス(MINAD[a])で指定される極小音に至る前5音が連続して減少し、かつその極小音の1つ前の音(MINAD[a−1])を「極小側ハイライト音」と定義している。以下では、ステップSJ1〜SJ11からなる極大側ハイライト音検出動作と、ステップSJ12〜SJ22からなる極小側ハイライト音検出動作とに分けて説明する。
【0060】
a.極大側ハイライト音検出動作(ステップSJ1〜SJ11の動作)
ステップSJ1では、ポインタaおよびポインタbをそれぞれゼロリセットする。次いで、ステップSJ2では、歩進されたポインタaがデータ総数を超えたか否かを判断する。ポインタaがデータ総数を超えなければ、判断結果は「YES」になり、ステップSJ3に進む。一方、ポインタaがデータ総数を超えると、判断結果が「NO」になり、後述する極小側ハイライト音検出動作に移行する。
【0061】
ステップSJ3では、前述の極大・極小検出処理にて検出したレジスタMAXDIF[a]の値、すなわち極大差分値をポインタbにセットし、続くステップSJ4では、音数ポインタmに初期値「1」をセットする。そして、ステップSJ5では、ポインタbから音数ポインタmを減算した値b−mで指定されるレジスタDIF[b−m]に格納される差分値の極性が「+(増加)」であるか否かを判断する。レジスタDIF[b−m]に格納される差分値の極性が「−(減少)」になると、判断結果は「NO」になり、ステップSJ11に進み、ポインタaを歩進させた後、上述のステップSJ2に処理を戻す。
【0062】
一方、レジスタDIF[b−m]に格納される差分値の極性が「+(増加)」であれば、上記ステップSJ5の判断結果は「YES」になり、ステップSJ6に進む。ステップSJ6では、音数ポインタmの値が「5」、すなわち極大音(MAXAD[a])から前5音の差分極性が連続して増加したかどうかを判断する。前5音の差分極性が連続して増加していなければ、判断結果は「NO」になり、ステップSJ7に進み、音数ポインタmを歩進させる。次いで、ステップSJ8では、ポインタbから音数ポインタmを減算した値b−mが「0」であるか否かを判断する。値b−mが「0」でなければ、判断結果は「NO」になり、上述のステップSJ5に処理を戻す。値b−mが「0」になると、判断結果が「YES」となり、ステップSJ11に進み、ポインタaを歩進させた後、上述のステップSJ2に処理を戻す。
【0063】
このように、ステップSJ5〜SJ8では、前5音の差分極性が連続して増加した極大音(MAXAD[a])を検索する。そして、該当する極大音(MAXAD[a])が検索されると、ステップSJ6の判断結果が「YES」になり、ステップSJ9に進み、レジスタMAXAD[a−1][0]に格納される極大音の1つ前の音を指定するアドレスを、極大側ハイライト音を指定するアドレスとしてレジスタVELAD[c]にストアする。以後、レジスタVELAD[c]の値を、ハイライトアドレスVELAD[c]と称す。次いで、ステップSJ10〜SJ11では、ポインタcおよびポインタaをそれぞれ歩進させた後、上述のステップSJ2に処理を戻す。
【0064】
b.極小側ハイライト音検出動作(ステップSJ12〜SJ22の動作)
上述した極大側ハイライト音検出動作を処理し終えると、CPU11は図16に図示するステップSJ12に進み、ポインタaおよびポインタbをそれぞれゼロリセットする。次いで、ステップSJ13では、歩進されたポインタaがデータ総数を超えたか否かを判断し、ポインタaがデータ総数を超えなければ、判断結果は「YES」になり、ステップSJ3に進み、ポインタaがデータ総数を超えると、判断結果が「NO」になり、本処理を完了させる。
【0065】
ステップSJ14では、前述の極大・極小検出処理にて検出した極小差分値(MINDIF[a])をポインタbにセットし、続くステップSJ15では、音数ポインタmに初期値「1」をセットする。そして、ステップSJ16〜SJ19では、前5音の差分極性が連続して減少した極小音(MINAD[a])を検索する。そして、該当する極小音(MINAD[a])が検索されると、ステップSJ17の判断結果が「YES」になり、ステップSJ20に進み、レジスタMINAD[a−1][0]に格納される極小音の1つ前の音を指定するアドレスを、極小側ハイライト音を指定するアドレスとしてレジスタVELAD[c]にストアする。次いで、ステップSJ21〜SJ22では、ポインタcおよびポインタaをそれぞれ歩進させた後、上述のステップSJ13に処理を戻す。
【0066】
このように、音高検出処理では、極大・極小検出処理にて検出された極大値アドレスで指定される極大音の内、前5音が連続して増加した極大音の1つ前の音を「極大側ハイライト音」として指定するハイライトアドレスVELAD[c]と、極大・極小検出処理にて検出された極小値アドレスで指定される極小音の内、前5音が連続して減少した極小音の1つ前の音を「極小側ハイライト音」として指定するハイライトアドレスVELAD[c]とを発生する。
【0067】
<ベロシティ変換処理>
次に、図17を参照してベロシティ変換処理の動作を説明する。前述した実行処理のステップSD4(図9参照)を介して本処理が実行されると、CPU11は、図17に図示するステップSK1〜SK2においてポインタaおよびポインタbをそれぞれゼロリセットする。次いで、ステップSK3〜SK4では、ポインタbを歩進させて、ハイライトアドレスVELAD[a]に一致する2次元アドレスレジスタAD[b][0]を検索する。つまり、ハイライト音の読み出しアドレスを保持する2次元アドレスレジスタAD[b][0]を探し出す。そして、該当する2次元アドレスレジスタAD[b][0]が見つかると、ステップSK3の判断結果が「YES」になり、ステップSK5に進み、2次元アドレスレジスタAD[b][0]にて指定される曲データ中のベロシティVELを増加させ、ハイライト音を強調させる。
【0068】
そして、ステップSK6では、ポインタcに初期値「1」をセットする。続いて、ステップSK7では、2次元アドレスレジスタAD[b][c]が存在するか否か、すなわち2次元アドレスレジスタAD[b][0]で指定されるハイライト音が和音であるかどうかを判断する。ハイライト音が和音でなければ、判断結果は「NO」になり、ステップSK8に進み、ポインタaを歩進させる。次いで、ステップSK9では、歩進されたポインタaがデータ総数を超えたか否か、つまり全てのハイライト音について音量変更し終えたかどうかを判断する。音量変更し終えていなければ、判断結果は「NO」になり、上述のステップSK2に処理を戻す。
【0069】
一方、ハイライト音が和音であると、上記ステップSK7の判断結果は「YES」になり、ステップSK10に進む。ステップSK10では、ポインタbおよびポインタcで指定される2次元アドレスレジスタAD[b][c]の読み出しアドレスが指定する曲データ中のベロシティVELを減少させる。そして、ステップSK11に進み、ポインタcを歩進させた後、上記ステップSK7に処理を戻す。これにより、ハイライト音が和音である場合には、2次元アドレスレジスタAD[b][c]において、ポインタcを歩進させてハイライト音以外の他の和音構成音を検索し、該当する和音構成音が存在すると、その和音構成音のベロシティVELを減少させ、和音中のハイライト音を強調させる。
【0070】
こうして、ハイライト音以外の他の和音構成音の音量を低減し終えると、上記ステップSK7の判断結果が「NO」になり、前述のステップSK8〜SK9を実行する。そして、歩進されたポインタaがデータ総数を超え、全てのハイライト音について音量変更し終えると、ステップSK9の判断結果が「YES」になり、本処理を完了させる。
【0071】
このように、ベロシティ変換処理では、ハイライト音の読み出しアドレス(ハイライトアドレスVELAD[a])で指定される曲データ中のベロシティVELを増加させてハイライト音を強調させる一方、ハイライト音が和音を構成していれば、ハイライト音以外の他の和音構成音のベロシティVELを減少させ、和音中のハイライト音を強調させる。
【0072】
以上説明したように、第1実施形態では、曲を構成する各音を表す曲データ中から音高が極大変化する極大音と極小変化する極小音とを検出し、検出された極大音および極小音の内、複数音連続的に増加して極大変化した極大音の1つ前の音と、複数音連続的に減少して極小変化した極小音の1つ前の音とをそれぞれ曲の印象を特徴付けるハイライト音に指定し、指定されたハイライト音の強調させるように、当該ハイライト音に対応する曲データ中のベロシティVEL(音量)を増加させる。これにより、曲の印象を特徴付ける箇所が強調される為、演奏表現力を向上させることが可能になる。
【0073】
C.第2実施形態
次に、図18〜図21を参照して第2実施形態について説明する。第2実施形態の構成は、第1実施形態と共通するので、その説明については省略する。第2実施形態が第1実施形態と相違する点は、ベロシティ変換処理(図17参照)を再生処理(メインルーチンのステップSA4)中に実行させることにある。
【0074】
すなわち、第1実施形態では、図5に図示する編集処理のステップSB8を介して実行される実行処理により「和音検出処理」、「極大・極小検出処理」、「音高検出処理」および「ベロシティ変換処理」を行ってハイライト音の強調させるように曲データ編集する。これに対し、第2実施形態は、図5に図示する編集処理のステップSB8を介して実行される実行処理によって、図18に図示するように、ステップSL1を介して和音検出処理を、ステップSL2を介して極大・極小検出処理を、ステップSL3を介して音高検出処理をそれぞれ順次実行して曲データ中のハイライト音を求めておく。そして、メインルーチンのステップSA4(図3参照)を介して実行される再生処理にて曲データ再生する際に、編集処理にて求めておいたハイライト音に対応する曲データのベロシティVELを増加させてハイライト音の再生を強調させるベロシティ変換処理を実行する。以下、こうした第2実施形態による再生処理の動作について図19〜図21を参照して説明する。
【0075】
<再生処理の動作>
メインルーチンのステップSA4(図3参照)を介して再生処理が実行されると、CPU11は図19に図示するステップSM1に進み、曲リスト画面LGを作成して表示部16に画面表示する。曲リスト画面LGとは、図8に図示する一例のように、RAM13のデータエリアに格納される複数の曲[0]〜曲[N]の曲番号や曲名などを一覧表示する画面である。次いで、ステップSM2では、この曲リスト画面LGに一覧表示される曲の内から再生する曲を選択し、選択した曲の曲番号nをポインタnにセットする曲選択処理を実行する。
【0076】
曲選択処理を実行し終えると、ステップSM3に進み、開始画面を表示部16に画面表示する。開始画面とは、図示していないが、スタートアイコンおよび戻るアイコンを備える画面である。開始画面が画面表示されている状態で戻るアイコンを選択操作すると、ステップSM5の判断結果が「YES」になり、本処理を完了させてメインルーチンに処理を戻し、初期画面表示状態に復帰させる。
【0077】
一方、開始画面が画面表示されている状態でスタートアイコンを選択操作すると、ステップSM4の判断結果が「YES」になり、ステップSM6に進み、曲番号nの曲データの先頭アドレスをレジスタADにストアする。次いで、ステップSM7では、レジスタADに格納される読み出しアドレスが終了アドレスを超えたかどうかを判断する。終了アドレスを超えると、判断結果は「YES」になり、本処理を完了させるが、終了アドレスを超えていなければ、判断結果は「NO」になり、ステップSM8に進む。ステップSM8では、レジスタADに格納される読み出しアドレスで指定される曲データ[AD]の内からデルタタイムΔTを読み出し、続くステップSM9では、読み出したデルタタイムΔTをレジスタtにストアする。
【0078】
次に、ステップSM10では、一定時間経過するまで待機する。なお、この一定時間とは、図示されていないタイマ割込み処理にて生成されるタイマクロック1周期分(最小分解能時間)の時間を指す。そして、一定時間が経過すると、ステップSM10の判断結果が「YES」になり、ステップSM11に進み、レジスタtの値をデクリメントする。次いで、ステップSM12では、デクリメントされたレジスタtの値が「0」以下であるか否か、つまり再生タイミングに達したかどうかを判断する。再生タイミングに達していなければ、判断結果は「NO」になり、上記ステップSM10に処理を戻す。以後、再生タイミングに達するまでステップSM10〜SM12を繰り返す。
【0079】
そして、再生タイミングに達すると、ステップSM12の判断結果が「YES」になり、図20に図示するステップSM13に進み、レジスタADに格納される読み出しアドレスで指定される曲データ[AD]の内からイベントEV、ノートNOTEおよびベロシティVELを読み出す。続いて、ステップSM14では、読み出したイベントEVがノートオンイベントであるか否かを判断する。イベントEVがノートオンイベント以外であると、判断結果は「NO」になり、ステップSM15に進み、例えばイベントEVがノートオフイベントであれば、ノートNOTEに対応した楽音の消音を指示するノートオフ処理等、イベントEVに対応した処理を実行して後述のステップSM22に進む。
【0080】
一方、読み出したイベントEVがノートオンイベントであると、上記ステップSM14の判断結果が「YES」になり、ステップSM16に進み、ポインタaをゼロリセットする。次いで、ステップSM17〜SM19では、データ総数を超えるまでポインタaを歩進させながら、レジスタADに格納される現在の読み出しアドレスに一致するハイライトアドレスVELAD[a]を検索する。
【0081】
つまり、現在読み出している曲データ[AD]がハイライト音であるかどうかを判断する。現在読み出している曲データ[AD]がハイライト音であると、ステップSM17の判断結果が「YES」になり、ステップSM20に進み、ハイライト音を強調させるべく、現在読み出されているベロシティVELを増加させる。続いて、ステップSM21では、現在読み出されているノートNOTEで指定される音高の楽音を、増加されたベロシティVELで発音するよう音源14に指示する。この後、ステップSM22に進み、レジスタADに格納される読み出しアドレスを歩進させてから図19に図示するステップSM7に処理を戻す。
【0082】
これに対し、現在読み出している曲データ[AD]がハイライト音でない場合には、上述したステップSM19の判断結果が「YES」になり、図21に図示するステップSM23に進む。ステップSM23〜SM24では、ポインタaおよびポインタbをそれぞれゼロリセットする。続いて、ステップSM25〜SM26では、ポインタbを歩進させて、ハイライトアドレスVELAD[a]に一致する2次元アドレスレジスタAD[b][0]を検索する。つまり、ハイライト音の読み出しアドレスを保持する2次元アドレスレジスタAD[b][0]を探し出す。そして、該当する2次元アドレスレジスタAD[b][0]が見つかると、ステップSM25の判断結果が「YES」になり、ステップSM27に進み、ポインタcに初期値「1」をセットする。
【0083】
次に、ステップSM28では、2次元アドレスレジスタAD[b][c]が存在するか否か、すなわち2次元アドレスレジスタAD[b][0]で指定されるハイライト音が和音であるかどうかを判断する。ハイライト音が和音でなければ、判断結果は「NO」になり、ステップSM29に進み、ポインタaを歩進させる。次いで、ステップSM30では、歩進されたポインタaがデータ総数を超えたか否か、すなわち全てのハイライト音について和音であるか否かをチェックし終えたかどうかを判断する。
【0084】
ここで、全てのハイライト音について和音であるか否かをチェックし終えたとする。そうすると、ステップSM30の判断結果が「YES」となり、前述したステップSM21(図20参照)に処理を戻す。したがって、現在読み出している曲データ[AD]がハイライト音に該当せず、しかも全てのハイライト音について和音であるか否かをチェックし終え、これにより現在読み出している曲データ[AD]が、ハイライト音を有する和音の構成音に含まれていないと判定された場合には、曲データ[AD]中のノートNOTEおよびベロシティVELに基づき音源14に発音指示する。
【0085】
さて一方、全てのハイライト音について和音であるか否かをチェックし終えていない場合には、上記ステップSM30の判断結果が「NO」になり、上述のステップSM24以降を実行する。そして、ハイライト音が和音であれば、上述したステップSM28の判断結果が「YES」になり、ステップSM31に進み、ポインタbおよびポインタcで指定される2次元アドレスレジスタAD[b][c]が、レジスタADに格納される現在の読み出しアドレスに一致するか否かを判断する。一致しなければ、判断結果は「NO」になり、ステップSM32に進み、ポインタcを歩進させた後、ステップSM28に処理を戻す。
【0086】
つまり、ステップSM28、SM31およびSM32では、現在読み出している曲データ[AD]が、ハイライト音を有する和音の構成音に含まれているかどうかを判定する。そして、現在読み出している曲データ[AD]が、ハイライト音を有する和音の構成音に含まれていると、ステップSM31の判断結果が「YES」になり、ステップSM33に進む。ステップSM33では、現在読み出している曲データ[AD]中のベロシティVELを減少させた後、前述のステップSM21(図20参照)に処理を戻す。
【0087】
このように、第2実施形態では、編集処理を実行して、曲を構成する各音を表す曲データ中から音高が極大変化する極大音と極小変化する極小音とを検出し、検出された極大音および極小音の内、複数音連続的に増加して極大変化した極大音の1つ前の音と、複数音連続的に減少して極小変化した極小音の1つ前の音とをそれぞれ曲の印象を特徴付けるハイライト音を求めておき、再生処理により曲データを再生する際に、再生する曲データがハイライト音であれば、当該ハイライト音に対応する曲データ中のベロシティVEL(音量)を増加させて曲の印象を特徴付ける箇所を強調するので、演奏表現力を向上させることができる。また、第2実施形態においても、再生する曲データがハイライト音であって、しかも当該ハイライト音が和音を構成している場合には、ハイライト音以外の他の和音構成音のベロシティVELを減少させ、和音中のハイライト音を強調させて曲の印象を特徴付ける箇所を強調することができる。
【0088】
なお、上述した第1および第2実施形態では、複数音連続的に増加して極大変化した極大音の1つ前の音と、複数音連続的に減少して極小変化した極小音の1つ前の音とをそれぞれハイライト音と定義したが、一定期間連続して増加してなる極大音の1つの前の音あるいは一定期間連続して減少してなる極小音の1つの前の音をハイライト音と定義することも可能である。また、本発明では、曲データの音高変化からハイライト音を決定するようにしたが、これに限らず曲の調性に応じてハイライト音を決定することも可能である。
【0089】
さらに、上述した第1および第2実施形態では、ハイライト音の音量を増加させて曲の印象を特徴付ける箇所を強調させる態様としたが、これに替えて、例えば周知のエクスクルーシブメッセージを備える曲データを用い、ハイライト音に対応する曲データのエクスクルーシブメッセージとして高域強調させるフィルタ特性データを設定すれば、音源14側がそのフィルタ特性データに従ってハイライト音の周波数特性を高域強調させるように楽音形成すれば、音量増加させずとも曲の印象を特徴付ける箇所を強調させることが可能になり、このようにしても演奏表現力の向上を図ることができる。
【図面の簡単な説明】
【0090】
【図1】本発明による第1実施形態の構成を示すブロック図である。
【図2】RAM13のデータエリアに格納される曲データの構成を示す図である。
【図3】メインルーチンの動作を示すフローチャートである。
【図4】初期画面SGの一例を示す図である。
【図5】編集処理の動作を示すフローチャートである。
【図6】編集初期画面HSG、実行画面JGおよび終了画面EGの各一例を示す図である。
【図7】曲選択処理の動作を示すフローチャートである。
【図8】曲リスト画面LGの一例を示す図である。
【図9】実行処理の動作を示すフローチャートである。
【図10】和音検出処理の動作を示すフローチャートである。
【図11】ノートオン検出処理の動作を示すフローチャートである。
【図12】重ね合わせ検出処理の動作を示すフローチャートである。
【図13】極大・極小検出処理の動作を示すフローチャートである。
【図14】極大・極小検出処理の動作を示すフローチャートである。
【図15】音高検出処理の動作を示すフローチャートである。
【図16】音高検出処理の動作を示すフローチャートである。
【図17】ベロシティ変換処理の動作を示すフローチャートである。
【図18】第2実施形態による実行処理の動作を示すフローチャートである。
【図19】第2実施形態による再生処理の動作を示すフローチャートである。
【図20】第2実施形態による再生処理の動作を示すフローチャートである。
【図21】第2実施形態による再生処理の動作を示すフローチャートである。
【符号の説明】
【0091】
10 操作部
11 CPU
12 ROM
13 RAM
14 音源
15 サウンドシステム
16 表示部
17 MIDIインタフェース




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013