JPH09269781A - 音源のアサイナ装置 - Google Patents

音源のアサイナ装置

Info

Publication number
JPH09269781A
JPH09269781A JP8099508A JP9950896A JPH09269781A JP H09269781 A JPH09269781 A JP H09269781A JP 8099508 A JP8099508 A JP 8099508A JP 9950896 A JP9950896 A JP 9950896A JP H09269781 A JPH09269781 A JP H09269781A
Authority
JP
Japan
Prior art keywords
string
fret
pressed
virtual
picking
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
JP8099508A
Other languages
English (en)
Other versions
JP3567297B2 (ja
Inventor
Hirotake Sato
博毅 佐藤
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.)
Casio Computer Co Ltd
Original Assignee
Casio Computer 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 Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP09950896A priority Critical patent/JP3567297B2/ja
Publication of JPH09269781A publication Critical patent/JPH09269781A/ja
Application granted granted Critical
Publication of JP3567297B2 publication Critical patent/JP3567297B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 1つの音高に対して複数の操作を採り得る弦
楽器のアサインを実現する。 【解決手段】 キースキャナ21が鍵盤1から鍵盤用の
ノートイベントを受信したとき、又はシリアルインタフ
ェース34が外部から鍵盤用のノートイベントのMID
Iデータを受信したときは、CPU31は、RAM33
のレジスタを参照して、仮想の弦楽器における各弦のフ
レットの押弦位置を示すフレット番号のアサイン情報に
基づいて、押弦する手の中心位置を判断し、中心位置に
最も近いフレット番号に受信したノートイベントを割り
当てて新たなアサイン情報を生成してRAM33に記憶
させる。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】この発明は、電子楽器に使用
する音源のアサイナ装置に関する。
【0002】
【従来の技術】ポリフォニックシンセサイザー等の一般
的な電子楽器においては、その本体内に複数の系統の音
源を備え、複数系統の音色を組み合わせることにより、
種々の楽器の演奏を模倣したサウンドがつくり出せるよ
うになっている。このような電子楽器は、押下された鍵
盤を走査して鍵盤のキー番号である音高、鍵盤を押下し
た長さや強さ等の楽音データを送出する演奏部と、演奏
部から送出された音符情報に応じた楽音を発生する音源
部を備えている。また、鍵盤のような演奏部がなくMI
DIの楽音データを外部装置から受信し、その楽音デー
タを音源部に伝えることで楽音を発生するいわゆる音源
モジュールもある。このような電子楽器や音源モジュー
ルには、演奏部からのキー番号をどのように複数の音源
(チャンネル)に割り振るかというチャンネルアサイン
機能をもつアサイナ装置が設けられており、各チャンネ
ルに対して音高指示及び発音指示又は消音指示の演奏情
報を伝えている。
【0003】
【発明が解決しようとする課題】しかしながら従来の音
源のアサイナ装置におけるチャンネルアサイナは、ピア
ノやオルガン等の鍵盤楽器の動作を想定したものが多
く、1つの音高に対しては1つの鍵盤操作が一義的に決
定する構成になっている。このため、弦楽器のように1
つの音高に対して複数の弦が対応し、同じ音高でも押下
する弦に応じて音色が変化する楽器については、その音
色を忠実に再現することができないという問題があっ
た。さらに、ギター等の弦楽器においては、鍵盤楽器に
はない特殊演奏として、ハンマリングオン、プリングオ
フ、ピッキングアップ及びピッキングダウン等がある。
したがってこれらを従来のような鍵盤楽器に基づく音源
のアサイナ装置で再現することは困難であった。また、
鍵盤楽器でよく使う1オクターブ内に和音の構成音を収
めて鍵盤操作を容易にする手法、いわゆるクローズドボ
イシング(密集和音)をギター等の弦楽器に適用した場
合には、異なる弦の離れた位置を何箇所も押下しなけれ
ばならず、手の大きさから実現は困難である。この発明
の課題は、1つの音高に対して複数の操作を採り得る弦
楽器のアサインを実現するとともに、弦楽器に固有の特
殊演奏の模倣を実現し、弦楽器で押弦可能な和音構成を
実現することである。
【0004】
【課題を解決するための手段】この発明は、鍵盤のキー
番号を含む演奏情報を受信する受信手段と、発音させる
仮想の弦楽器における複数の弦の弦番号及び各弦のフレ
ット番号により発音すべき音高の仮想押弦位置を示すア
サイン情報を記憶する記憶手段と、仮想の弦楽器におい
てアサイン情報に基づいて仮想押弦の手の中心位置を判
断し、中心位置に最も近いフレット番号に受信手段から
受信したキー番号を割り当てて新たなアサイン情報を生
成し、新たなアサイン情報を記憶手段に記憶させる制御
手段と、を備えた構成になっている。上記構成によれ
ば、音高と操作位置とが一義的に定まる鍵盤のキー番号
を受信すると、仮想の弦楽器において押弦すべき手の中
心位置に最も近いフレット番号に受信したキー番号を割
り当てる。したがって、1つの音高に対して複数の操作
を採り得る弦楽器のアサインを実現することができる。
【0005】またこの場合において、記憶手段に記憶さ
れているアサイン情報における仮想押弦に対応する弦が
発音中の弦であり、受信したキー番号が発音中の弦の異
なるフレット番号に割り当てるものであるときは、発音
中の弦のキー番号を受信したキー番号に変更して新たな
アサイン情報を生成するように制御手段を構成してもよ
い。この場合には、ハンマリングオンの奏法やプリング
オフの奏法のような弦楽器に固有の特殊演奏の模倣を実
現できる。
【0006】またさらに、受信したキー番号に対応する
仮想押弦の弦のフレット番号が手の中心位置から所定範
囲にない場合には、キー番号をオクターブ単位でシフト
して新たなアサイン情報を生成するように制御手段を構
成してもよい。この場合には、弦楽器で押弦可能な和音
構成を実現できる。
【0007】
【発明の実施の形態】以下、図1〜図26を参照してこ
の発明における音源のアサイン装置の実施形態をキーボ
ード型シンセサイザーに適用した場合を例に採り説明す
る。図1は、シンセサイザーの操作部を示す図である。
操作部の上面には、音高や音の強さを入力する鍵盤1、
微妙に音高をコントロールするベンダーホイール2、音
量を調整するボリューム3、複数の各種スイッチ類4、
動作状態等を表示するLCD5が設けられている。ま
た、操作部の背面には、音響信号を出力する出力端子
6、MIDIデータを入力するMIDIイン端子7、M
IDIデータを出力するMIDIアウト端子8、及び、
弦楽器用のメッセージ情報を出力するMIDI STR
アウト端子9を備えている。
【0008】図2は、このシンセサイザーのシステム構
成を示す概略図であり、図3はその具体的なブロック図
である。図2に示すように、このシステムは楽音を構成
する音符の波形データを発生する音源部10、ユーザか
ら演奏指令を受けるユーザインタフェース/演奏部(以
下、単に「演奏部」という)20、このシンセサイザー
を制御するとともに、キー番号を変換して音源部10の
各チャンネルに対して、発音指示あるいは消音指示を伝
達する機能をもつアサイナ部30で構成されている。
【0009】さらに、各部の構成は図3に示すようにな
っている。すなわち、音源部10は、波形データを格納
している波形メモリ11、波形メモリ11から波形デー
タを読み出す読み出し部12、読み出された波形データ
を加工するフィルタ部13、波形データを増幅するアン
プ部14、ビブラートやトレモロ等の効果を付加するエ
フェクト部15、ディジタル信号の波形データをアナロ
グ音響信号に変換するD/Aコンバータ17、アナログ
音響信号を増幅するアナログアンプ部17を備えてい
る。波形メモリ11には、弦楽器の複数の弦の任意のフ
レット押下に対応する波形データはもちろんのこと、ハ
ンマリングオン、プリングオフ、ピッキングアップ及び
ピッキングダウン等のような弦楽器に特有の演奏方法に
対応する波形データが記憶されている。
【0010】演奏部20は、鍵盤1及び各種スイッチ類
4の押下状態を検索するキースキャナ21、ベンダーホ
イール2のアナログ変位量をディジタルデータに変換す
るA/Dコンバータ22の他、LCD5を駆動するLC
Dドライバ(図示せず)を備えている。鍵盤1及び各種
スイッチ類4をノートイベントを入力する入力手段とす
ると、キースキャナ21は入力されたノートイベントを
受信する受信手段である。アサイン部30は、各部をバ
スで接続し、受信手段としてのキースキャナ21又はシ
リアルインタフェース34が受信したノートイベントの
データを処理するCPU(制御手段)31、CPU31
の動作プログラムを記憶するプログラムROM32、楽
音を制御するためのパラメータその他CPU31が処理
するデータを記憶するRAM(記憶手段)33、外部か
らノートイベントすなわちキー番号のMIDI情報を受
信する受信手段としてのシリアルインタフェース34を
備えている。シリアルインタフェース34はまた、MI
DI INから受信したMIDIデータをCPU31が
処理可能なパラレルデータに変換し、CPU31から出
力されるパラレルデータをMIDIデータに変換する変
換手段でもあり、変換したMIDIデータをMIDI
OUTから送信するとともに、CPU31から出力され
る弦楽器対応のメッセージをSTRING INFOM
ATION MIDI OUTから送信する送信手段で
もある。なお、この実施形態において想定する弦楽器
は、通常の24フレットの6弦ギターである。
【0011】次に、RAM33に設けられた各レジスタ
について説明する。図4は、模倣する弦楽器の弦の状態
「ストリングステータス」を示すレジスタである。
[s]は弦の数に対応して変数が存在する配列を示し、
[0]〜[5]が第1弦〜第6弦に対応している。押弦
状態か否かを表すレジスタstr asgn[s]は
「0」又は「1」の値を採り、「0」は押弦状態にない
弦を示し「1」は押弦状態にある弦を示す。押弦フレッ
トを表すレジスタstr fret[s]は「0」〜
「14」の値を採り、押下されたフレット番号を示す。
割り当てキーナンバーを表すレジスタstr key
[s]は「0」〜「127」の値を採り、発音される楽
音の音高を示す。演奏スタイルを表すレジスタstr
pick[s]は、「0」、「1」、「2」、「3」の
値を採り、それぞれ「0」はピッキングダウン、「1」
はピッキングアップ、「2」はハンマリングオン、
「3」はプリングオフを示す。各レジスタの初期値はい
ずれも「0」となっている。
【0012】図5は、近い過去に離弦されたイベント
「離弦イベントリスト」を示すレジスタであり、各イベ
ント毎の状態が記憶される。[e]は最後のイベントか
ら数えて何番目に起こったかという値から「1」を減算
した値を示す配列である。すなわち、最後のイベントか
ら数えて1番目の離弦イベントは[0]であり、次の離
弦イベントは[1]である。最大4イベントまで記憶す
るので[e]は[0]〜[3]の値を採る。各変数は4
つの配列になるが、書き込むときはポインタevptr
が示す番号の変数配列に書き込む。ev ptrは最も
古いイベントの番号であり、最新のイベントの番号はこ
のポインタの値から「1」を減算したものである。この
ポインタは初期値が「0」であり、書き込んだ際にイン
クリメントされる。例えば、最新の離弦イベントが
[0]であるときは、このポインタの値は「1」であ
り、次の離弦イベントは[1]となる。このイベントを
書き込むとポインタの値は「2」となる。ポインタが値
「3」のとき、これをインクリメントすると、その値は
「0」となり、書き込むごとに[e]は[0]〜[3]
の値を循環しつつ変化する。
【0013】割り当て弦レジスタev str[e]は
離弦された弦番号を示し、「0」〜「5」及び「−1」
の値を採る。「−1」の場合には割り当て弦がないこと
を示す。この初期値は「−1」である。押弦フレット番
号レジスタev fret[e]は押下されたフレット
番号を示し、「0」〜「24」の値となる。この初期値
は「0」である。レジスタev time[e]は10
ms単位で離弦の時刻を示し、「0」〜「65535」
の値を採り、押弦中は離弦状態ではないので「0」にな
っている。この初期値は「0」になっている。
【0014】図6は、時間管理のための現在時刻レジス
タcurrent time[e]であり、イベントの
経過時間を10ms単位で16ビットのカウンタを使っ
て計測している。このカウンタは初期値「0」から10
msごとにインクリメントされて「65535」までの
値を採り、「65535」をインクリメントすると
「0」に戻る。すなわち、このカウンタはインクリメン
トしていくと1周して廻り続けるフリーランニングタイ
マである。イベントの経過時間を算出するためには、現
在時刻からイベント時刻を減算する必要がある。この場
合に、仮にカウンタの値が1周してその値が小さくなっ
たとしても、マイナスの時間はあり得ないので、減算結
果に「65535」を加算すればよい。current
time[e]の初期値は「0」である。
【0015】チャンネルアサインには、後述するよう
に、複数のモードがあるが、どのモードの場合にもアサ
インの最初に、ノートイベント(キー番号)を受信する
と、割り当てようとするノートの音高が各弦で何フレッ
トに該当するか、またその弦は現在別のイベントによっ
て押弦中であるかをすべて検索してリストアップする。
図7は、この検査結果を記憶する押弦フレットのレジス
タscn fret[s]である。[s]は弦の番号を
表す配列であり、[0]〜[5]が第1弦〜第6弦に対
応している。scn fret[s]のフレット番号は
「0」〜「24」の範囲であり、その初期値は「0」で
ある。ただし、この値が「−1」である場合は割り当て
不可を意味し、想定する弦楽器であるギターの指盤に該
当するノートがないことを表している。
【0016】次に、このscn fret[s]のフレ
ット番号を書き込むポジションスキャン処理を図8のフ
ローに基づいて説明する。メインフロー(図示せず)か
らポジションスキャン処理に移行すると、弦番号sを第
1弦「0」にセットし(ステップS1)、その弦の最低
ノートナンバーを調べる(ステップS2)。そして、そ
の調べた結果が最低ノートキー未満であるか否かを判別
する(ステップS3)。各弦の最低ノートキーはCPU
31内のデータROMにあらかじめ記憶されている。最
低ノートナンバーが最低ノートキー未満でない場合に
は、最低ノートキーに「24」を加算した値より大きい
か否かを判別する(ステップS4)。「24」を加算し
た値より大きくない場合には、キーナンバーから最低ノ
ートキーを減算した値をscn fret[s]に書き
込む(ステップS5)。一方、ステップS3において最
低ノートナンバーが最低ノートキー未満である場合、又
はステップS4において最低ノートナンバーが最低ノー
トキーに「24」を加算した値より大きい場合には、想
定する弦楽器に該当するノートがないので、scn f
ret[s]に「−1」を書き込む(ステップS6)。
ステップS5又はステップS6の後、弦番号sをインク
リメントし(ステップS7)、sが「6」になったか否
かを判別する(ステップS8)。「6」になっていない
場合には、ステップS2に移行してステップS8までの
各処理を実行する。ステップS8においてsが「6」に
なった場合、すなわちすべての弦についてscn fr
et[s]のフレット番号の書き込みが完了するとこの
フローを終了し、図示しないメインフローに戻る。
【0017】次に、弦楽器を模倣する場合の仮想的な手
の中心位置(これを「ハンドポジション」という)の概
念をアサインに取り入れる方法について説明する。ハン
ドポジションは手の中心位置がどの位置にあるかをフレ
ット番号によって表す。その位置がフレットとフレット
の間にある場合には少数を含む数値となる。この場合、
ハンドポジションの初期値は適当な値が設定できる。実
際に仮想的にアサインが開始され、割り当てを検討する
場合、いずれのモードにおいても、このハンドポジショ
ンが重要な意味をもつ。すなわち、このハンドポジショ
ンに近い位置のフレット番号の弦ほど次に押弦される可
能性が高いということを前提にアサインを行う。このハ
ンドポジションがどのように決定されるかというと、現
在押弦されているものがあれば、それが重要な要素とな
ることはいうまでもないが、過去に離弦されても離弦か
らの経過時間が短い場合には、その間に手が移動できる
距離も小さいと考えられる。したがって、近い過去に離
弦したイベントもハンドポジションの決定において重要
な要素となる。また、ある1箇所が押弦されていても、
それが人さし指であれば、ハンドポジションはその指の
位置よりも少し上に位置するはずで、近い過去に小指の
押弦があって、現在は離弦されている場合は、そのイベ
ントも判断に入れることでハンドポジションが押弦され
ている人さし指の位置より上の位置にもってくることが
できる。
【0018】実際にノートが割り当てられている弦とフ
レットを「ノートポジション」と称することとする。例
えば、図9に示すように、過去4つのノートポジション
がある場合、番号「1」〜「4」が若いほど古いイベン
トのノートポジションとすると、新しいイベントの番号
「4」に大きな重みを付けて平均値をとる。この場合に
は、図の2点鎖線に示す位置がハンドポジションとして
得られる。ハンドポジションに関する変数レジスタを図
10に示す。現在のハンドポジションのレジスタcrn
t hand positinには、「0」〜「24」
の範囲のフレット番号が記憶される。この場合「0」は
開放弦である。また、crnt hand posit
inの初期値はレジスタinit hand posi
tinの値が記憶されている。そして、このハンドポジ
ション初期値を記憶するレジスタinit hand
positinには、「0」〜「24」の範囲のフレッ
ト番号が記憶され、その初期値であるフレット番号は
「7」である。すなわち、演奏されていない時に仮にこ
のフレット番号「7」の位置に手の中心位置があると仮
定する。そして、イニシャライズのときにこのフレット
番号「7」をcrnt hand positinに転
送する。レジスタhand timeには、過去のイベ
ントの重みが完全に無効になる時間が10msの単位で
記憶され、その範囲は「0」〜「65535」、その初
期値は「100」である。
【0019】次に、ハンドポジションを求める処理につ
いて、図11のフローに基づいて説明する。まず、各弦
の状態を調べて押弦中のものをリストアップして(ステ
ップS11)、押弦中のノートポジションがあるか否か
を判別する(ステップS12)。押弦中のノートポジシ
ョンがある場合には最高のフレット番号と最低のフレッ
ト番号が異なるか否かを判別する(ステップS13)。
両者のフレット番号が異なる場合には、それらの平均値
を下記の(数1)にしたがって算出し、算出した値をc
rnt hand positionに記憶する(ステ
ップS14)。
【数1】
【0020】一方、ステップS12において押弦中のノ
ートポジションがない場合、又はステップS13におい
て最高のフレット番号と最低のフレット番号とが等しい
場合には、押弦中のノートポジションだけでハンドポジ
ションの判断をすることはせず、以下に記述するよう
に、過去のイベントを考慮する。まず、過去のイベント
のチェックを行う。すなわち、押弦中のイベントのフレ
ット番号と図5のイベントレジスタに記憶されている過
去の4つのイベントのフレット番号を調べて、それぞれ
に所定の重み付けをして平均値を求める。この重み付け
のために、下記の(数2)にしたがって各イベントの経
過時間t[e]を計算する(ステップS15)。ここで
[e]はイベント番号である。
【数2】 この(数2)の式から明らかなように、経過時間t
[e]は現在時刻からイベント時刻を減算して求める。
【0021】重みの付け方は以下の方法による。押弦中
のものについては、いくつあっても重みは「1」とす
る。このときの押弦中のフレットポジションをfonと
する。押弦中のものがない場合には、fon=0とな
る。離弦された過去のイベントについては、経過時間が
図10のhand timeの無効時間を超えた場合に
は重みは「0」となる。経過時間が無効時間を超えない
場合には、各イベントの重みs[e]は、下記の(数
3)で表される。
【数3】 次に、上記結果を総合してハンドポジションを決定す
る。ハンドポジションは、押弦中のノートポジションと
離弦されたイベントのノートポジションの重み付きの平
均値である。そこで、下記の(数4)にしたがってフレ
ット番号に重みを付けて平均値を計算し、hand p
ositionに入力する(ステップS16)。この
後、図示しないメインフローに戻る。
【数4】
【0022】次に、ピッキング方向の決定について説明
する。ピッキングの方向は、アップとダウンの2種類が
あり、初期値だけを決めておけば、次にどの弦に移動す
るかあるいは同じ弦を弾弦するかで次のピッキングの方
向を決定する。この実施形態では、腕のピッキングスト
ロークが小さくて済むものを選択する。この場合、以下
の4つに分類できる。その第1は、新たなノートイベン
トに対して割り当てられたノートポジションの弦が、前
回のノートイベントのとき割り当てられた弦と比較し
て、開放弦の音高が高い弦すなわち細い弦のときはピッ
キングダウンである。第2は、新たなノートイベントに
対して割り当てられたノートポジションの弦が、前回の
ノートイベントのとき割り当てられた弦と比較して、開
放弦の音高が低い弦すなわち太い弦のときはピッキング
アップである。第3は、新たなノートイベントに対して
割り当てられたノートポジションの弦が、前回のノート
イベントのとき割り当てられた弦と同じであり、前回の
ピッキングがアップである場合はピッキングダウンであ
る。第4は、新たなノートイベントに対して割り当てら
れたノートポジションの弦が、前回のノートイベントの
とき割り当てられた弦と同じであり、前回のピッキング
がダウンである場合はピッキングアップである。
【0023】次に、上記分類にしたがった場合のピッキ
ング方向の決定について、図12〜図14を参照して説
明する。例えば、図12(A)に示すノートイベントの
フレーズを受信したとする。この場合、最初のノートイ
ベントのピッキング方向は直前の最後のピッキングがど
の弦で、どちらの方向にピッキングされたかをRAM3
3のレジスタに記憶しておき、このレジスタの内容に応
じてピッキング方向を決定する。図13に最後のピッキ
ングの状態を記憶するラストピッキングイベントレジス
タを示す。レジスタlast strには、最後に割り
当てられた弦の弦番号「0」〜「5」のいずれかが記憶
されている。この初期値は「0」である。レジスタla
st pickには、最後のピッキング方向が記憶され
ている。この値が「0」の場合はダウン、「1」の場合
はアップを示し、この初期値は「0」すなわちダウンで
ある。
【0024】図14はピッキング方向を決定する処理の
フローである。弦番号sを今回の新たな弦番号にセット
し(ステップS21)、図13に示すlast str
がこの弦番号sよりも小さいか否かを判別する(ステッ
プS22)。last strがこの弦番号sよりも小
さい場合には、上記分類の第2の場合に該当するので、
今回のピッキング方向のフラグpを「1」すなわちアッ
プにセットする(ステップS23)。last str
がこの弦番号sよりも小さくない場合には、last
strがこの弦番号sよりも大きいか否かを判別する
(ステップS24)。last strがこの弦番号s
よりも大きい場合には、上記分類の第1の場合に該当
し、今回のピッキング方向のフラグpを「0」すなわち
ダウンにセットする(ステップS25)。
【0025】ステップS24において、last st
rが弦番号sよりも大きくない場合には、図13に示す
last pickが「0」すなわちダウンであるか、
又は「1」すなわちアップであるかを判別する(ステッ
プS26)。そして、last pickが「0」であ
る場合には、上記分類の第4に該当するので、ステップ
S23に移行して今回のピッキング方向のフラグpを
「1」すなわちアップにセットする。一方、last
pickが「1」である場合には、上記分類の第3に該
当するので、ステップS25に移行して今回のピッキン
グ方向のフラグpを「0」すなわちダウンにセットす
る。ステップS23又はステップS25におけるフラグ
pのセットの後は、図13のlast pickの値を
そのフラグpの値とし(ステップS27)、last
strの値を今回の弦番号sとする(ステップS2
8)。この後、図示しないメインフローに戻る。
【0026】この結果、図12(B)に示すように、第
5弦をピッキングダウンした後、次に第4弦を押弦する
ので、last str(=4)>s(=3)すなわち
次に弾弦する弦が前の弦より細いので、第4弦はピッキ
ングダウンの奏法となる。この後、第3弦、第2弦の順
に押弦するので、後に弾弦する弦が前の弦より細くな
り、ピッキングダウンの奏法となる。第2弦はフレット
番号5で弾弦した後、同じ第2弦をフレット番号6、フ
レット番号8で押弦するので、last pickを参
照して、前のピッキング方向と反対の方向となり、フレ
ット番号6の場合はピッキングアップ、フレット番号8
はピッキングダウンの奏法となる。次は第3弦を押弦す
るので前の弦より太くなり、ピッキングアップの奏法と
なる。さらに次は同じ第3弦を他のフレット番号で押弦
するので、前のピッキング方向と反対の方向となり、ピ
ッキングダウンの奏法となる。
【0027】次に、チャンネルアサインのモードについ
て説明する。アサインの基本的な動作は、図15に示す
レジスタmodeによって設定される。modeの値の
範囲は「0」〜「3」、すなわち4つの演奏モードによ
って決定する。これら4つの演奏モードのうち常にいず
れか1つのモードだけが選択されている。mode
「0」はノーマルモードであり、ソロ演奏やコード演奏
に偏らない汎用性のある演奏に適している。mode
「1」は開放弦使用モードであり、ノーマルモードにさ
らに開放弦の利用を可能にしたモードであり、基本はソ
ロ演奏やコード演奏に偏らない汎用性のある演奏に適し
ている。mode「2」はソロモードであり、ソロ演奏
に適している。このモードでは、ハンマリングオン、プ
リングオフ、ピッキングアップ及びピッキングダウンの
ような特殊演奏もできる。mode「3」はオープンボ
イシングモードであり、コード演奏に適している。図1
6は、モード選択のフローである。modeの値を図1
5を参照して調べ、modeの値を判別する(ステップ
S101〜ステップS104)。mode「0」の場合
はノーマルモードに移行し(ステップS105)、mo
de「1」の場合は開放弦使用モードに移行し(ステッ
プS106)、mode「2」の場合はソロモードに移
行し(ステップS107)、mode「3」の場合はオ
ープンボイシングモードに移行する(ステップS10
8)。アサイン処理は各モードごとに異なる。
【0028】以下、各モードにおけるアサイン処理につ
いて順に説明する。ノーマルモードの基本は、弦の割り
当てが先着優先であることである。すなわち、ある弦が
押弦されて一度割り当てられれば、離弦されるまではそ
のノートがその弦に対応する音源の発信部を独占する。
ノーマルモード時におけるアサイン処理について、図1
7のフローに基づいて説明する。何らかのノートイベン
トを受信したときには、図8に示すフローにしたがって
ポジションスキャン処理を行い、空いているすべての弦
においてその音高に対応するノートポジション、すなわ
ち弦番号及びフレット番号を調べあげリストアップする
(ステップS31)。このリストに基づき、図11に示
すフローにしたがってハンドポジションを決定する(ス
テップS32)。次に、空いているフレットの中で決定
したハンドポジションに最も近いフレットを選択する
(ステップS33)。この場合において、選択するフレ
ットの候補が2つあるか否かを判別し(ステップS3
4)、2つある場合には最後に弾弦された弦に近い弦番
号のものを選択する(ステップS35)。
【0029】次に、図14に示すフローにしたがってピ
ッキング方向を決定する(ステップS36)。そして、
RAM33の所定の各レジスタに結果を記憶する(ステ
ップS37)。すなわち、選択した弦の番号を割当弦番
号sにセットし、弦割り当て状態を示すstr asg
nに「1」(押弦状態)をセットし、押弦フレットを示
すstr fretにフレット番号をセットし、弦割り
当てキーナンバーstr keyにキー番号をセット
し、演奏スタイルstr pickにピッキング方向を
セットする。そして、記憶した各レジスタの内容を弦楽
器対応のメッセージとしてシリアルインタフェース34
を介して外部に出力する(ステップS38)。このよう
に、鍵盤用のノートイベントを受信したときは、RAM
33のレジスタを参照して、想定する弦楽器における各
弦のフレットの押弦位置を示すフレット番号のアサイン
情報に基づいて、押弦する手の中心位置を判断し、中心
位置に最も近いフレット番号に受信したノートイベント
を割り当てて新たなアサイン情報を生成してRAM33
に記憶させる。したがって、鍵盤用のノートイベントを
変換して、1つの音高に対して複数の操作を採り得る弦
楽器のアサインを実現することができる。
【0030】次に、開放弦使用モードのアサイン処理に
ついて説明する。開放弦使用モードは、上記したよう
に、ノーマルモードに開放弦機能を付加したものであ
る。ところで、押弦するハンドポジションは単位時間あ
たりに移動する距離に限界があり、1つの手で押弦する
範囲にも限界がある。この限界を超えたようなキー番号
を受信した場合には、ノーマルモードでは弦楽器の模倣
性を実現することができないが、開放弦を使用すれば押
弦の必要性がないので、いきなり離れた音高を演奏する
ことができる。そこで、RAM33に開放弦を使用する
ためのパラメータを記憶するレジスタを設け、開放弦機
能を付加した。図18に示すように、開放弦許可スイッ
チのレジスタopens enableには、開放弦使
用の不可「0」又は許可「1」のいずれかをセットす
る。この初期値は「0」である。開放弦検索上方向スレ
ッシホールドのレジスタopens upper wi
dthには、開放弦を使用するか否かの判断をするため
の上方向すなわち音高が高い方向の閾値のフレット数を
セットする。この閾値の範囲は「0」〜「12」でその
初期値は「3」である。開放弦検索下方向スレッシホー
ルドのレジスタopens lower widthに
は、同じく開放弦を使用するか否かの判断をするための
下方向すなわち音高が低い方向の閾値のフレット数をセ
ットする。閾値の範囲は「0」〜「12」でその初期値
は「2」である。
【0031】次に、開放弦使用モードのアサイン処理に
ついて、図19のフローに基づいて説明する。この処理
は、図17に示すノーマルモードのアサイン処理に開放
弦を使用するか否かの判別処理が付加されているだけ
で、その他の処理については図17のフローと同じであ
るので、同じ符号で示すとともにその説明は省略する。
すなわち、ステップS35において空いているフレット
番号のなかで最も近いフレット番号を選択した後、開放
弦使用の判別を行う(ステップS40)。以下、開放弦
判別の詳細な処理について説明する。ステップS41に
おいて、hand positionにセットされてい
るフレット番号にopens upper width
にセットされているフレット番号を加算した値が、ステ
ップS33で選択した近いフレット番号の値よりも小さ
いか否か、すなわちハンドポジションから選択した近い
フレットまでの距離がopens upper wid
thにセットされた閾値を超えているか否かを判別す
る。閾値を超えている場合には、そのフレットを押弦で
きないと判断して開放弦を探し(ステップS42)、一
致する開放弦があるか否かを判別する(ステップS4
3)。一致する開放弦がある場合には、その開放弦が弾
弦中であるか否かを判別し(ステップS44)、弾弦中
でない場合にはその開放弦を使用することを決定する
(ステップS45)。
【0032】一方、ステップS41において選択した近
いフレットまでの距離がopensupper wid
thにセットされた閾値を超えていない場合には、ステ
ップS46に移行して、hand positionに
セットされているフレット番号にopens lowe
r widthにセットされているフレット番号を加算
した値が、選択した近いフレット番号の値よりも大きい
か否か、すなわちハンドポジションから選択した近いフ
レットまでの距離がopens lowerwidth
にセットされた閾値を超えているか否かを判別する。閾
値を超えている場合には、そのフレットを押弦できない
と判断して開放弦を探し(ステップS42)、一致する
開放弦があったか否かを判別する(ステップS43)。
一致する開放弦があった場合には、その開放弦が弾弦中
であるか否かを判別し(ステップS44)、弾弦中でな
い場合にはその開放弦を使用することを決定する(ステ
ップS45)。
【0033】ステップS41及びステップS46におい
て、ハンドポジションから近いフレットまでの距離が、
opens lower widthの閾値とopen
supper widthの閾値の範囲内にある場合に
は、そのフレットを押弦できると判断して、開放弦を使
用せずその近いフレットを使用することを決定する(ス
テップS47)。また、ステップS43においてノート
イベントに一致する開放弦がない場合、又はステップS
44においてその開放弦が弾弦中である場合には、開放
弦を使用できないためステップS47に移行して、近い
フレットを使用することを決定する。このステップS4
0の開放弦使用の判別処理の後は、ノーマルモードの場
合と同様に、ステップS36に移行してピッキング方向
を決定する。このように、選択した近いフレット番号が
手の中心位置から所定範囲にない場合には、開放弦を含
めて新たなアサイン情報を生成する。したがって、ノー
マルモードの鍵盤用のノートイベントを変換して、1つ
の音高に対して複数の操作を採り得る弦楽器のアサイン
を実現する場合に、ノーマルモードの押弦の可能性をさ
らに高くすることができる。
【0034】次に、ソロモードのアサイン処理について
説明する。ソロモードの基本は、弦の割り当てが後着優
先であることである。すなわち、ある弦が押弦されて一
度割り当てられたものであっても、ハンドポジションが
所定の条件に合致すれば他のノートに割り当てられる。
さらに、ソロモードの特徴はハンマリングオンやプリン
グオフ等の特殊演奏の模倣が可能なことである。ハンマ
リングオンの奏法は、ある弦がすでに発音中である場合
に、その弦の振動を利用して、押下しているフレットポ
ジションより上(高い音高)のフレットポジションを別
の指で叩く(これも一種の押弦である)ことで、ピッキ
ングすることなく新たな発音を行う奏法である。プリン
グオフの奏法は、ある弦がすでに発音中である場合に、
その弦の振動を利用して、押下しているフレットポジシ
ョンより下(低い音高)のフレットポジションをあらか
じめ別の指で押えておき、現在のノートに対応するフレ
ットポジションを押えている指で弦を引っ張りながらリ
リースすることにより、ピッキングすることなくあらか
じめ押えていた指のフレット番号の音高で発音を行う奏
法である。
【0035】例えば、図20(A)に示すノートイベン
トのフレーズを受信したとする。この場合、RAM33
のレジスタの内容に基づいてアサインを行う。図21
は、ソロモードにおいて使用するレジスタである。ハン
マリングオン許可スイッチのレジスタsolo ho
enableには、ハンマリングオンの演奏を許可しな
い場合は「0」をセットし、許可する場合は「1」をセ
ットする。プリングオフ許可スイッチのレジスタsol
o po enableには、プリングオフの演奏を許
可しない場合は「0」をセットし、許可する場合は
「1」をセットする。なお、このソロモードにおいて
は、図4に示す演奏スタイルのレジスタstrpick
[s]も参照する。
【0036】次に、ソロモードのアサイン処理につい
て、図22のフローに基づいて説明する。何らかのノー
トイベントを受信したときには、図8に示すフローにし
たがってポジションスキャン処理を行い、すべての弦に
おいてその音高に対応するノートポジションすなわちフ
レット番号を調べあげリストアップする(ステップS5
1)。このリストに基づき図11に示すフローにしたが
って、ハンドポジションを決定する(ステップS5
2)。そして、すべての弦の中でこの決定したハンドポ
ジションに最も近いフレットを選択する(ステップS5
3)。この場合において、選択するフレットの候補が2
つあるか否かを判別し(ステップS54)、2つある場
合には最後に弾弦された弦に近い弦番号のフレットを選
択する(ステップS55)。そして、その選択したフレ
ット番号を割り当てフレットのレジスタfにセットする
(ステップS56)。
【0037】次に、選択した弦は使用中であるか否か
を、図4のstr asgn[s]が「1」すなわち押
弦状態であるか否かによって判別する(ステップS5
7)。押弦状態である場合には、割り当てフレットfが
図4のstr fret[s]の押弦フレットと同じで
あるか否かを判別し(ステップS58)、同じでない場
合にはfがstr fret[s]よりも小さいか否か
を判別する(ステップS59)。fがstr fret
[s]よりも大きい(音高が高い)場合には、図21に
示すsolo ho enableが「1」すなわちハ
ンマリングオンが可能か否かを判別し(ステップS6
0)、可能である場合にはハンマリングオンの奏法に決
定する(ステップS61)。ステップS59において、
fがstr fret[s]よりも小さい(音高が低
い)場合には、図21に示すsolo po enab
leが「1」すなわちプリングオフが可能か否かを判別
し(ステップS62)、可能である場合にはプリングオ
フの奏法に決定する(ステップS63)。
【0038】ステップS57において、str asg
n[s]が「0」すなわち選択した弦が使用中でない場
合には、プリングオフ及びハンマリングオンの奏法を行
わず、ステップS64に移行し、図14に示すフローに
したがってピッキング方向を決定する。また、ステップ
S60においてsolo po enableが「0」
である場合、及び、ステップS62においてsolo
ho enableが「0」である場合、すなわちプリ
ングオフもハンマリングオンも不可である場合にも、ス
テップS64に移行してピッキング方向を決定する。ス
テップS61でハンマリングオンに決定した後、若しく
はステップS63でプリングオフに決定した後、又はス
テップS64でピッキング方向を決定した後は、ステッ
プS65に移行して、配列[s]にチャンネルアサイン
をして、キー番号のレジスタstr key[s]のノ
ートオフメッセージを出力する。
【0039】次に、RAM33の所定の各レジスタに後
に押弦したイベントの結果を記憶する(ステップS6
6)。すなわち、選択した弦の番号を割当弦番号sにセ
ットし、弦割り当て状態を示すstr asgnに
「1」(押弦状態)をセットし、押弦フレットを示すs
tr fretにフレット番号をセットし、弦割り当て
キーナンバーstr keyにキー番号をセットし、ピ
ッキング方向を決定した場合には演奏スタイルstr
pickにピッキング方向をセットする。そして、記憶
した各レジスタの内容を弦楽器対応のメッセージとして
外部に出力する(ステップS67)。この結果、図20
(A)のノートイベントのフレーズを受けた場合には、
図20(B)に示すような演奏パターンとなる。すなわ
ち、第5弦をフレット番号7のノートでピッキングダウ
ンした後、弾弦状態にない第4弦を新たに押弦し、しか
も前の弦より細い弦であるので、第4弦はピッキングダ
ウンとなる。次は、同じ第4弦の大きいフレット番号7
を押弦するので、ハンマリングオンの奏法となる。次
は、第4弦より細い第3弦のフレット番号7を押弦する
ので、ピッキングダウンの奏法となる。次は、同じ第3
弦の小さいフレット番号5を押弦するので、プリングオ
フの奏法となる。次は、弾弦状態にない第2弦のフレッ
ト番号5を新たに押弦し、しかも前の弦より細い弦であ
るので、ピッキングダウンの奏法となる。次は、同じ第
2弦の大きいフレット番号6を押弦するので、ハンマリ
ングオンの奏法となる。次は、同じ第2弦のさらに大き
いフレット番号8を押弦するので、ハンマリングオンの
奏法となる。
【0040】このように、RAM33に記憶されている
アサイン情報における押弦中の弦が発音中の弦であり、
受信したノートイベントが発音中の弦の異なるフレット
番号に割り当てるものであるときは、発音中の弦のノー
トを受信したノートイベントに変更して新たなアサイン
情報を生成することにより、ハンマリングオンやプリン
グオフの奏法のメッセージを出力する。したがって、弦
楽器のソロ演奏を模倣することができる。
【0041】次に、オープンボイシングモードのアサイ
ン処理について説明する。オープンボイシングモード
は、コード演奏に適しているもので、弦の割り当ては先
着優先になる。またオープンボイシングモードの最大の
特徴は、キーボードで演奏された形式のMIDI信号に
対応した音高通りに発音するのではなく、ノートをオク
ターブ単位でずらして発音することができる。
【0042】オープンボイシングモードの動作原理は以
下のようなものである。クローズドボイシングが困難に
なる理由は、押弦する1つの手が同時に押えらる範囲が
手の大きさを超えているからである。このため、一度に
押えられる範囲を設定し、その範囲を超えたノートイベ
ントを受信した場合には、そのノートをオクターブ単位
でシフトする。このため、図23に示すように、設定範
囲のパラメータをセットするレジスタをRAM33に設
けている。レジスタopenv upperwidth
には、開放弦検索上方向スレッシホールドのフレット数
がセットされる。その値の範囲は「0」〜「12」であ
りその初期値は「3」である。レジスタopenv l
ower widthには、開放弦検索下方向スレッシ
ホールドのフレット数がセットされる。その値の範囲は
「0」〜「12」でありその初期値は「2」である。
【0043】例えば、図24(A)に示すようなEm9
のコードフレーズのノートイベントが、E、F#、G、
Dの順に受信して入力された場合、これらの音高を弦楽
器の弦及びフレットに割り当てたとすると、その指盤上
では図24(B)に示すアサインの押弦パターンとな
る。この場合、最初の構成音Eは第5弦のフレット番号
7に相当し、次の構成音F#は第4弦のフレット番号4
に相当し、これらは3フレット分離れている。したがっ
て、openv lower widthの値が「2」
だとすると、弦楽器で演奏可能なクローズドボイシング
の条件に適合しない。そこで、図25(A)に示すよう
に、構成音F#を1オクターブ上げて、図25(B)に
示すように、クローズドボイシングの条件に適合する第
2弦のフレット番号7の位置に対応させる。さらに、構
成音Gについてはオクターブシフトはしないが、構成音
F#の移動によって開放弦になった第4弦のフレット番
号5に移動する。また、構成音Dは構成音Gの移動によ
って開放弦になった第3弦のフレット番号7に移動す
る。この結果、押弦可能なノートポジションとなるので
弦楽器のクローズドボイシングの条件に適合するように
なる。
【0044】次に、オープンボイシングモードのアサイ
ン処理について、図26のフローに基づいてさらに説明
する。何らかのノートイベントを受信したときには、図
8に示すフローにしたがってポジションスキャン処理を
行い、空いているすべての弦においてその音高に対応す
るノートポジション、すなわちフレット番号を調べあげ
リストアップする(ステップS71)。このリストに基
づき図11に示すフローにしたがって、ハンドポジショ
ンを決定する(ステップS72)。そして、空いている
フレット番号の中でハンドポジションに最も近いフレッ
ト番号を選択する(ステップS73)。この場合におい
て、選択するフレットの候補が2つあるか否かを判別し
(ステップS74)、2つある場合には最後に弾弦され
た弦に近いフレット番号を選択する(ステップS7
5)。
【0045】次に、図10に示すレジスタhand p
ositionにopenv upper width
を加算した値が選択した近いフレット番号の値より小さ
いか否かを判別する(ステップS76)。加算した値が
近いフレット番号の値より小さい場合には、そのフレッ
ト番号が手で押弦可能な範囲を超えているので、受信し
たノートを1〜2オクターブ上又は下にシフトしてノー
トポジションを検索する(ステップS77)。一方、ス
テップS76において加算した値が近いフレットの値よ
り小さくない場合には、hand positionに
openv lower widthを加算した値が近
いフレットの値よりも大きいか否かを判別する(ステッ
プS78)。加算した値が近いフレットの値よりも大き
い場合には、そのフレット番号が手で押弦可能な範囲を
超えているので、ステップS77に移行して1〜2オク
ターブ上又は下にシフトしてノートポジションを検索す
る。シフトしたポジションがopenv upper
width及びopnvlower widthの範囲
に入っているか否かを判別し(ステップS79)、範囲
に入っている場合にはそのシフトしたフレット番号をノ
ートポジションに決定する(ステップS80)。ステッ
プS78において、加算した値が近いフレット番号の値
よりも大きくない場合、すなわち加算した値が近いフレ
ット番号と同じ場合には、ステップS73又はステップ
S75で選択した最も近いフレット番号をノートポジシ
ョンに決定する(ステップS81)。また、ステップS
79においてシフトしたフレットが範囲に入らない場合
にも、ステップS81に移行してステップS73又はス
テップS75で選択した最も近いフレット番号をノート
ポジションに決定する。
【0046】ステップS80又はステップS81におい
てフレット番号を決定した後は、図14に示すフローに
したがってピッキング方向を決定する(ステップS8
2)。そして、RAM33の所定の各レジスタに結果を
記憶する(ステップS83)。すなわち、選択した弦の
番号を割当弦番号sにセットし、弦割り当て状態を示す
str asgnに「1」(押弦状態)をセットし、押
弦フレットを示すstrfretにフレット番号をセッ
トし、弦割り当てキーナンバーstr keyにキー番
号をセットし、演奏スタイルstr pickにピッキ
ング方向をセットする。そして、記憶した各レジスタの
内容を弦楽器対応のメッセージとして出力する(ステッ
プS84)。
【0047】このように、受信したノートイベントのフ
レット番号が手の中心位置から所定範囲にない場合に
は、ノートイベントの音高をオクターブ単位でシフトし
て新たなアサイン情報を生成する。したがって、例えば
キーボードでは演奏可能であるがギターでは演奏不可能
なクローズドボイシングの演奏コードを入力した場合
に、ギターで演奏可能なオープンボイシングの演奏コー
ドに変換して出力することができる。この結果、ギター
らしい響きのコード演奏を実現することができる。
【0048】次に、ノートオフ処理について図27のフ
ローに基づいて説明する。ノートオフのノートイベント
を受信したときは、オフされたキーと同じキーで発音中
の弦を検索する(ステップS91)。そして、該当する
弦があるか否かを判別し(ステップS92)、該当する
弦がある場合にはその弦番号をレジスタsにセットする
とともに、離弦されたノートポジションのフレット番号
をレジスタfにセットする(ステップS93)。そし
て、str asgnに「0」をセットして押弦状態か
ら離弦状態に弦ステータスを更新する(ステップS9
4)。次に、図5に示すイベントステータスにおいて、
書き込みポインタev ptrの示す各レジスタの内容
を更新する(ステップS95)。すなわち、ev ti
meにcurrent timeをセットし、ev s
trにレジスタsの弦番号をセットし、ev fret
にレジスタfのフレット番号をセットする。そして、e
v ptrをインクリメントする。そして、記憶した各
レジスタの内容を弦楽器対応のメッセージとして出力す
る(ステップS96)。
【0049】なお、上記実施形態では、キーボード型シ
ンセサイザを例に採って説明したが、この発明である音
源のアサイナ装置を適用できる楽器はシンセサイザに限
定するものではない。例えば、MIDIフォーマットの
通常の演奏信号を弦楽器コントロールに適したマルチチ
ャンネルのMIDI信号に変換するコンバータ単体に適
用してもよい。あるいは、キーボードと弦楽器アサイナ
からなるMIDIコントローラでもよい。あるいは、弦
楽器アサイナと音源部からなるMIDI音源モジュール
に適用してもよい。すなわち、弦楽器では直接再現でき
ない鍵盤のキー番号を受けて、これを弦楽器で再現でき
るようにアサインして送出できる機能を必要とするあら
ゆる装置にこの発明を適用することができる。
【0050】
【発明の効果】この発明によれば、音高と操作位置とが
一義的に定まる鍵盤のキー番号を受信すると、仮想の弦
楽器において押弦すべき手の中心位置に最も近いフレッ
ト番号に受信したキー番号を割り当てる。したがって、
1つの音高に対して複数の操作を採り得る弦楽器のアサ
インを実現することができる。
【0051】またこの場合において、記憶手段に記憶さ
れているアサイン情報における仮想押弦に対応する弦が
発音中の弦であり、受信したキー番号が発音中の弦の異
なるフレット番号に割り当てるものであるときは、発音
中の弦のキー番号を受信したキー番号に変更して新たな
アサイン情報を生成することにより、ハンマリングオン
の奏法やプリングオフの奏法のような弦楽器に固有の特
殊演奏の模倣を実現できる。
【0052】またさらに、受信したキー番号に対応する
仮想押弦の弦のフレット番号が手の中心位置から所定範
囲にない場合には、キー番号をオクターブ単位でシフト
して新たなアサイン情報を生成することにより、弦楽器
で押弦可能な和音構成を実現できる。
【図面の簡単な説明】
【図1】この発明の実施形態におけるシンセサイザーの
操作部の平面図。
【図2】実施形態におけるシステム構成を示す概略図
【図3】図2の具体的なシステム構成を示すブロック
図。
【図4】RAMのレジスタメモリの内容を示す図。
【図5】RAMのレジスタメモリの内容を示す図。
【図6】RAMのレジスタメモリの内容を示す図。
【図7】RAMのレジスタメモリの内容を示す図。
【図8】ポジションスキャン処理のフローチャート。
【図9】弦楽器のハンドポジションを説明するための
図。
【図10】RAMのレジスタメモリの内容を示す図。
【図11】ハンドポジション処理のフローチャート。
【図12】ピッキング方向を説明するための図で、
(A)は受信したノートイベントを示し、(B)は弦楽
器の押弦パターンを示す。
【図13】RAMのレジスタメモリの内容を示す図。
【図14】ピッキング方向決定処理のフローチャート。
【図15】RAMのレジスタメモリの内容を示す図。
【図16】モード選択処理のフローチャート。
【図17】ノーマルモードのフローチャート。
【図18】RAMのレジスタメモリの内容を示す図。
【図19】開放弦使用モードのフローチャート。
【図20】特殊演奏を説明するための図で、(A)は受
信したノートイベントを示し、(B)は弦楽器の押弦パ
ターンを示す。
【図21】RAMのレジスタメモリの内容を示す図。
【図22】ソロモードのフローチャート。
【図23】RAMのレジスタメモリの内容を示す図。
【図24】オープンボイシングを説明するための図で、
(A)は受信したノートイベントを示し、(B)はノー
トポジションを示す。
【図25】オープンボイシングを説明するための図で、
(A)はシフトしたノートイベントを示し、(B)は変
更したノートポジションを示す。
【図26】オープンボイシングのフローチャート。
【図27】ノートオフ処理のフローチャート。
【符号の説明】
21 キースキャナ 31 CPU 33 RAM 34 シリアルインタフェース

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 鍵盤のキー番号を含む演奏情報を受信す
    る受信手段と、 発音させる仮想の弦楽器における複数の弦の弦番号及び
    各弦のフレット番号により発音すべき音高の仮想押弦位
    置を示すアサイン情報を記憶する記憶手段と、 前記仮想の弦楽器において前記アサイン情報に基づいて
    仮想押弦の手の中心位置を判断し、当該中心位置に最も
    近いフレット番号に前記受信手段から受信したキー番号
    を割り当てて新たなアサイン情報を生成し、当該新たな
    アサイン情報を前記記憶手段に記憶させる制御手段と、 を備えたことを特徴とする音源のアサイナ装置。
  2. 【請求項2】 前記制御手段は、前記アサイン情報を参
    照した結果、仮想押弦に対応する弦が複数ある場合は、
    当該各弦のフレット番号の平均値を前記手の中心位置と
    することを特徴とする請求項1記載の音源のアサイナ装
    置。
  3. 【請求項3】 前記制御手段は、前記アサイン情報を参
    照した結果、仮想押弦に対応する弦がない場合、仮想押
    弦に対応する弦が1つである場合、又は仮想押弦に対応
    する複数の弦のフレット番号が同一である場合には、過
    去に仮想押弦されて離弦された弦の当該離弦からの経過
    時間が短いほど重み付けを大きくする関数に基づいて前
    記手の中心位置を算出することを特徴とする請求項1記
    載の音源のアサイン装置。
  4. 【請求項4】 前記制御手段は、前記最も近いフレット
    番号が前記手の中心位置から所定範囲にない場合には、
    開放弦を示すフレット番号を含めて前記新たなアサイン
    情報を生成することを特徴とする請求項1〜3のいずれ
    かに記載の音源のアサイナ装置。
  5. 【請求項5】 前記制御手段は、前記記憶手段に記憶さ
    れているアサイン情報における仮想押弦に対応する弦が
    発音中の弦であり、前記受信したキー番号が当該発音中
    の弦の異なるフレット番号に割り当てるものであるとき
    は、当該発音中の弦のキー番号を当該受信したキー番号
    に変更して前記新たなアサイン情報を生成することを特
    徴とする請求項1〜4のいずれかに記載の音源のアサイ
    ナ装置。
  6. 【請求項6】 前記制御手段は、前記異なるフレット番
    号が前記発音中の弦のフレット番号よりも大きい値であ
    るときは、ハンマリングオンの奏法のアサイン情報を生
    成することを特徴とする請求項5記載の音源のアサイナ
    装置。
  7. 【請求項7】 前記制御手段は、前記異なるフレット番
    号が前記発音中の弦のフレット番号よりも小さい値であ
    るときは、プリングオフの奏法のアサイン情報を生成す
    ることを特徴とする請求項5記載の音源のアサイナ装
    置。
  8. 【請求項8】 前記制御手段は、前記受信したキー番号
    に対応する仮想押弦の弦のフレット番号が前記手の中心
    位置から所定範囲にない場合には、当該キー番号をオク
    ターブ単位でシフトして前記新たなアサイン情報を生成
    することを特徴とする請求項1〜3のいずれかに記載の
    音源のアサイナ装置。
  9. 【請求項9】 前記記憶手段は、前回の発音に対応する
    弦の弦番号及び当該弦の仮想ピッキング方向からなる履
    歴情報を記憶し、 前記制御手段は、前記受信したキー番号に対応する弦の
    開放弦の音高が前記前回の発音に対応する弦の開放弦の
    音高よりも高い場合にはピッキングダウン情報を発生
    し、前記受信したキー番号に対応する弦の開放弦の音高
    が前記前回の発音に対応する弦の開放弦の音高よりも低
    い場合にはピッキングアップ情報を生成し、前記受信し
    たキー番号に対応する弦が前記前回の発音に対応する弦
    と同一弦である場合には前記記憶手段に記憶した前回の
    仮想ピッキング方向とは反対の方向のピッキング情報を
    生成し、当該生成したピッキング情報及び前記受信した
    キー番号に対応する弦の弦番号を新たな履歴情報として
    前記記憶手段に記憶させることを特徴とする請求項1又
    は2記載の音源のアサイン装置。
JP09950896A 1996-03-29 1996-03-29 音源のアサイナ装置 Expired - Fee Related JP3567297B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP09950896A JP3567297B2 (ja) 1996-03-29 1996-03-29 音源のアサイナ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09950896A JP3567297B2 (ja) 1996-03-29 1996-03-29 音源のアサイナ装置

Publications (2)

Publication Number Publication Date
JPH09269781A true JPH09269781A (ja) 1997-10-14
JP3567297B2 JP3567297B2 (ja) 2004-09-22

Family

ID=14249211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09950896A Expired - Fee Related JP3567297B2 (ja) 1996-03-29 1996-03-29 音源のアサイナ装置

Country Status (1)

Country Link
JP (1) JP3567297B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016004153A (ja) * 2014-06-17 2016-01-12 カシオ計算機株式会社 楽音発生装置、電子楽器、楽音発生方法およびプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016004153A (ja) * 2014-06-17 2016-01-12 カシオ計算機株式会社 楽音発生装置、電子楽器、楽音発生方法およびプログラム

Also Published As

Publication number Publication date
JP3567297B2 (ja) 2004-09-22

Similar Documents

Publication Publication Date Title
CA2358526C (en) Electronic stringed musical instrument
JP4107107B2 (ja) 鍵盤楽器
EP0339575B1 (en) Electronic musical instrument
JPH03174590A (ja) 電子楽器
US5014589A (en) Control apparatus for electronic musical instrument for generating musical tone having tone pitch corresponding to input waveform signal
US4682526A (en) Accompaniment note selection method
US5223659A (en) Electronic musical instrument with automatic accompaniment based on fingerboard fingering
US5048391A (en) Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal
US5147970A (en) Electronic musical instrument for generating musical tones on the basis of characteristics of input waveform signal
JP3567297B2 (ja) 音源のアサイナ装置
US6657115B1 (en) Method for transforming chords
JP2745215B2 (ja) 電子弦楽器
JPH0572596B2 (ja)
JP2640992B2 (ja) 電子楽器の発音指示装置及び発音指示方法
JP4162568B2 (ja) 電子楽器
JPH06222754A (ja) 電子弦楽器
JPH0822282A (ja) ギター自動伴奏装置
JP2526823B2 (ja) 電子弦楽器
JP4025440B2 (ja) 電子鍵盤楽器
JP2513014B2 (ja) 電子楽器の自動演奏装置
JP2814479B2 (ja) 電子楽器
JP4032533B2 (ja) 楽音信号生成装置、楽音信号生成方法、および楽音信号生成プログラムを記録した記録媒体
JP3424989B2 (ja) 電子楽器の自動伴奏装置
JP2945410B2 (ja) 電子弦楽器
JP2023011837A (ja) 電子楽器、方法、プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040212

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040217

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040331

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040518

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040531

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080625

Year of fee payment: 4

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090625

Year of fee payment: 5

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100625

Year of fee payment: 6

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110625

Year of fee payment: 7

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120625

Year of fee payment: 8

FPAY Renewal fee payment (prs date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130625

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees