JP4552769B2 - 楽音波形合成装置 - Google Patents

楽音波形合成装置 Download PDF

Info

Publication number
JP4552769B2
JP4552769B2 JP2005177859A JP2005177859A JP4552769B2 JP 4552769 B2 JP4552769 B2 JP 4552769B2 JP 2005177859 A JP2005177859 A JP 2005177859A JP 2005177859 A JP2005177859 A JP 2005177859A JP 4552769 B2 JP4552769 B2 JP 4552769B2
Authority
JP
Japan
Prior art keywords
waveform
sound
musical
synthesis
tone
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2005177859A
Other languages
English (en)
Other versions
JP2006350101A (ja
Inventor
康之 梅山
英治 赤沢
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.)
Yamaha Corp
Original Assignee
Yamaha Corp
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 Yamaha Corp filed Critical Yamaha Corp
Priority to JP2005177859A priority Critical patent/JP4552769B2/ja
Priority to DE602006000117T priority patent/DE602006000117T2/de
Priority to AT06115276T priority patent/ATE373854T1/de
Priority to EP06115276A priority patent/EP1734508B1/en
Priority to US11/453,577 priority patent/US7692088B2/en
Priority to CN2006100925760A priority patent/CN1881413B/zh
Publication of JP2006350101A publication Critical patent/JP2006350101A/ja
Application granted granted Critical
Publication of JP4552769B2 publication Critical patent/JP4552769B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、短い音があっても遅れることなく楽音波形を合成することのできる楽音波形合成装置に関する。
楽音波形は、波形の性質から少なくとも開始波形と持続波形と終了波形に分割することができる。また、レガート演奏等の2つの楽音がなめらかにつながる演奏を行うと、楽音波形には2つの楽音における音程が遷移していく接続波形が存在するようになる。
従来、楽音波形における開始波形部分(ヘッド)、持続波形部分(ボディ)、終了波形部分(テイル)と、2つの楽音における音程の遷移部分を表現する部分とされる接続波形部分(ジョイント)との波形データパーツの複数種類を記憶手段に記憶しておき、演奏イベント情報に基づいて波形データパーツを記憶手段から読み出してつなぎ合わせることにより楽音波形を合成するようにした楽音波形合成装置が提案されている。この楽音波形合成装置では、演奏イベント情報に基づいて奏法(アーティキュレーション)を識別し、識別された奏法の特徴を示す楽音波形を合成するために、奏法に対応する開始波形部分(ヘッド)、持続波形部分(ボディ)、終了波形部分(テイル)と、2つの楽音における音程の遷移部分を表現する部分とされる接続波形部分(ジョイント)とを組み合わせて時間軸上に配置することで、楽音波形を再生時間軸に沿って合成するようにしている。
特開2001−92463号公報 特開2003−271139号公報
従来の楽音波形合成装置における楽音波形合成の基本について図11ないし図13を参照して説明する。ただし、図11(a)ないし図13(a)はピアノロール譜で記譜された楽譜を示しており、図11(b)ないし図13(b)は記譜された楽譜を演奏した際に合成される楽音波形を示している。
図11(a)に示す楽譜を演奏すると、時刻t1に楽音200のノートオン(Note On)イベントが発生されて楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻t1において図11(b)に示すように開始波形部分(ヘッド:Head)から楽音200の楽音波形の合成を開始する。そして、ヘッド(Head)の合成が終了してもノートオフ(Note Off)イベントが受信されないことから図11(b)に示すようにヘッド(Head)から持続波形部分(ボディ:Body)に遷移されて楽音波形が合成されていくようになる。ここで、時刻t2においてノートオフイベントが楽音波形合成装置において受信されるとボディ(Body)から終了波形部分(テイル:Tail)に遷移されて楽音波形が合成されるようになる。そして、テイル(Tail)の合成が終了すると楽音200の楽音波形の合成が終了する。このように、楽音200の楽音波形はノートオンイベントの時刻t1からヘッド(Head)−ボディ(Body)−テイル(Tail)の順に図11(b)に示すように時間軸上に配置されて合成される。
図11(b)に示すように、ヘッド(Head)はアタックを表す1ショット波形100の終端にループ波形101が接続された部分波形とされており、立ち上がりの楽音波形部分に相当している。また、ボディ(Body)は音色の異なる複数のループ波形102,103,・・・,107が順次接続された部分波形とされており、楽音の持続(サスティン)部分の楽音波形部分に相当している。さらに、テイル(Tail)はリリースを表す1ショット波形109の始端にループ波形108が接続された部分波形とされ、立ち下がりの楽音波形部分に相当している。なお、隣り合うループ波形同士はクロスフェードで接続されることにより部分波形あるいはループ波形が遷移していきながら楽音が合成される。
例えば、ループ波形101とループ波形102とを位相を合わせてクロスフェードで接続されることにより、ヘッド(Head)とボディ(Body)との波形部分が滑らかにつなぎ合わされて遷移されるようになる。また、ループ波形102とループ波形103とが位相を合わせてクロスフェードで接続されることにより、ボディ(Body)においてループ波形102の音色からループ波形103の音色に移行していくようになる。このように、ボディ(Body)において複数のループ波形102〜107を用いてループ波形同士をクロスフェードで接続していくことにより、ビブラートやピッチの時間変化にあわせた音色変化を楽音に与えられるようになる。さらに、ループ波形107とループ波形108とを位相を合わせてクロスフェードで接続されることにより、ボディ(Body)とテイル(Tail)との波形部分が滑らかにつなぎ合わされて遷移されるようになる。なお、ボディ(Body)は複数のループ波形102〜107をクロスフェードで接続して合成していることから任意の位置でテイル(Tail)などに遷移できる。また、ヘッド(Head)とテイル(Tail)は1ショット波形がメインの波形とされているが、1ショット波形であることから特にリアルタイム合成中は次の波形部分に遷移することはできない。
次に、図12(a)(b)にはモノフォニック音の楽器(管楽器音など)でレガート演奏した場合の2音が接続される楽音波形合成が示されている。
図12(a)に示す楽譜を演奏すると、時刻t1に楽音210のノートオンイベントが発生されて楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻t1において図12(b)に示すように1ショット波形110であるヘッド(Head)から楽音210の楽音波形の合成を開始する。そして、ヘッド(Head)の合成が終了してもノートオフイベントが受信されないことから図12(b)に示すようにヘッド(Head)からボディ(Body)1に遷移されて楽音波形が合成されていくようになる。そして、時刻t2になると楽音211のノートオンイベントが受信されるが、楽音210のノートオフイベントがまだ受信されていないことから楽音波形合成装置ではレガート奏法がされたと判断されて、ボディ(Body)1から楽音210から楽音211への遷移部分を表現する1ショット波形116である波形接続波形部分(ジョイント)に遷移されて楽音波形が合成されていく。時刻t3で楽音210のノートオフイベントが受信され、次いで、ジョイント(Joint)の合成が終了しても楽音211のノートオフイベントが受信されないことからジョイント(Joint)からボディ(Body)2に遷移されて楽音波形が合成されていくようになる。その後、時刻t4になると楽音波形211のノートオフイベントが受信されボディ(Body)2からテイル(Tail)に遷移されて楽音波形が合成されていき、1ショット波形122であるテイル(Tail)の合成が終了することにより楽音波形の合成は終了する。このように、ノートオンイベントの時刻t1からヘッド(Head)−ボディ(Body)1−ジョイント(Joint)−ボディ(Body)2−テイル(Tail)の順に図12(b)に示すように時間軸上に配置されて楽音210と楽音211の楽音波形が合成される。各波形の接続は図11の例と同様である。
次に、図13(a)(b)に短く演奏された際の楽音波形合成が示されている。
図13(a)に示す楽譜を演奏すると、時刻t1に楽音220のノートオンイベントが発生され楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻t1において図13(b)に示すように楽音220の1ショット波形125であるヘッド(Head)の楽音波形の合成を開始する。そして、ヘッド(Head)の合成が終了する前の時刻t2においてノートオフイベントが発生されて楽音波形合成装置で受信されることから、ヘッド(Head)の合成が終了すると、ヘッド(Head)から1ショット波形128であるテイル(Tail)に遷移されて楽音波形が合成されていくようになる。テイル(Tail)の合成が終了すると楽音220の楽音波形の合成は終了する。このように、短く演奏された場合はノートオンイベントの時刻t1からヘッド(Head)−テイル(Tail)の順に図13(b)に示すように時間軸上に配置される楽音波形が合成される。
ところでテイル(Tail)は、本来ならばノートオフイベントが受信された時点から合成が開始されるのであるが、図13(b)を参照すると、楽音220のノートオフイベントが受信された時刻t2より遅れて合成されていると共に、合成された楽音波形の長さは楽音220の長さよりかなり長くされている。これは、図11で前述したようにヘッド(Head)は1ショット波形125の終端にループ波形126が接続された部分波形とされて、1ショット波形125を合成中はテイル(Tail)に遷移することができないと共に、テイル(Tail)の1ショット波形128の合成が終了するまで楽音波形が終了しないからである。このように、ヘッド(Head)とテイル(Tail)の長さの総和よりも短い音を合成しようとしても、ヘッド(Head)とテイル(Tail)の長さの総和よりも短い楽音波形を合成することはできない。しかしながら、実際の自然楽器の音の短さにもある程度の限界がある。例えば、管楽器において短く吹いても楽音は管の音響的反応の長さだけは鳴るようになり所定の長さより短くはならない。このように、ヘッド(Head)とテイル(Tail)の長さの総和よりも短い楽音波形を合成することができないことは自然楽器にも見られることなのである。図12のレガート奏法の場合も、ジョイント(Joint)が1ショット波形なので、これらの波形合成中は次の波形部分に遷移することができない。このためレガート奏法された場合にはヘッド(Head)とジョイント(Joint)とテイル(Tail)の長さの総和よりも短い楽音波形を合成することはできない。
このように、早弾きなどにより短い音のレガート演奏を自然楽器で行った場合には、本来は2音目の楽音のノートオンの時刻から音程の遷移が開始されなければならず、自然楽器に比べ反応が遅れるという問題点があった。前述したように、自然楽器には音響的な反応の長さがあり、この音響的な反応の長さによりレガート演奏の際には音程の遷移が急激な変化ではなく曖昧な遷移とはなるものの、音程の遷移の開始が遅れることはない。そして、イベントの発生に対する反応が遅れるために、早弾きやミスタッチ時などの短い音の楽音波形の音長が長く合成されてしまうようになり、遅れが発生したりミスタッチが目立ったりしてしまうという問題点が生じるようになる。ここで、ミスタッチとは、演奏者の熟練度が低い場合などに、発音させたい音以外の音の演奏イベントを短時間ではあるが発生してしまうような行為である。例えば、鍵盤楽器では、押鍵したい鍵盤といっしょに隣の鍵盤を同時に押してしまったりする場合などに発生する。また、同様の短い音は、ウィンドコントローラ(管楽器を模倣したMIDIコントローラ)において、音程を決定するために複数同時に押す必要があるキーを押すタイミングがキーによりばらついていたり、キーの操作とブレスの動作がずれていた場合などに発生する。
次に、主にミスタッチで発生する短い音のパターンの例をピアノロール譜で図14(a)、図15(a)に示す。
図14(a)に示すパターンでは、前音250と後音252との間にミスタッチ音251が生じており、ミスタッチ音251は前音250と後音252との両方に重なっている。すなわち、前音250は時刻t1でノートオンされ時刻t3でノートオフされる。ミスタッチ音251は時刻t2でノートオンされ時刻t5でノートオフされる。後音252は時刻t4でノートオンされ時刻t6でノートオフされる。このように、ミスタッチ音251は時刻t2の時点から前音250に重なっていると共に、ミスタッチ音251は時刻t4の時点から後音252に重なっている。
図15(a)に示すパターンでは、前音260と後音262との間にミスタッチ音261が生じており、ミスタッチ音261は前音260には重なっていないが後音262には重なっている。すなわち、前音260は時刻t1でノートオンされ時刻t2でノートオフされる。ミスタッチ音261は時刻t3でノートオンされ時刻t5でノートオフされる。後音262は時刻t4でノートオンされ時刻t6でノートオフされる。このように、ミスタッチ音261のノートオンイベント時(t3)には既に前音260の発音期間は終了しているが、ミスタッチ音261は時刻t4の時点から後音262に重なっている。
次に、図14(a)に示す楽譜通りに演奏された楽音を合成する場合の楽音合成が図14(b)に示されている。
図14(a)に示す楽譜通りに演奏されると、時刻t1で前音250のノートオンイベントが発生されて楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻t1において図14(b)に示すようにヘッド(Head)1から前音250の楽音波形の合成を開始する。そして、ヘッド(Head)1の合成が終了してもノートオフイベントが受信されないことから図14(b)に示すようにヘッド(Head)1からボディ(Body)1に遷移されて楽音波形が合成されていくようになる。そして、時刻t2になるとミスタッチ音251のノートオンイベントが受信されるが、前音250のノートオフイベントがまだ受信されていないことから楽音波形合成装置ではミスタッチ音251が前音250に重なっていると判断されて、ボディ(Body)1から前音250からミスタッチ音251への音程の遷移部分を表現するジョイント(Joint)1に遷移されて楽音波形が合成されていく。時刻t3で前音250のノートオフイベントが受信され、次いで、ジョイント(Joint)1の合成が終了する前であってミスタッチ音251のノートオフイベントが受信される前の時刻t4において後音252のノートオンイベントが受信される。そこで、ジョイント(Joint)1の合成が終了するとジョイント(Joint)1からミスタッチ音251から後音252への音程の遷移部分を表現するジョイント(Joint)2に遷移されて楽音波形が合成されていく。
そして、ジョイント(Joint)2の合成が終了しても後音252のノートオフイベントが受信されないことから図14(b)に示すようにジョイント(Joint)2からボディ(Body)2に遷移されて楽音波形が合成されていくようになる。次いで、時刻t6になると後音252のノートオフイベントが受信されて、ボディ(Body)2からテイル(Tail)2に遷移されて楽音波形が合成されていき、テイル(Tail)2の合成が終了することにより前音250、ミスタッチ音251および後音252の楽音波形の合成は終了する。
このように、前音250のノートオンイベントの時刻t1からヘッド(Head)1−ボディ(Body)1の順で合成され、ミスタッチ音251のノートオンイベントの時刻t2においてボディ(Body)1からジョイント(Joint)1に遷移される。このジョイント(Joint)1により前音250からミスタッチ音251への音程の遷移部分が表現される。続いて、ジョイント(Joint)1からジョイント(Joint)2に遷移される。このジョイント(Joint)2によりミスタッチ音251から後音252への音程の遷移部分が表現される。そして、ジョイント(Joint)2−ボディ(Body)2の順で合成されていき、ノートオフイベントの時刻t6においてボディ(Body)2からテイル(Tail)2に遷移されてテイル(Tail)2が合成されることにより、後音252の楽音波形が図14(b)に示すように合成される。
上記したように図14(a)に示す楽譜通りに演奏した場合は図14(b)に示すように、前音250とミスタッチ音251と後音252の楽音波形がジョイント(Joint)1とジョイント(Joint)2で接続されて合成されていくことから、ミスタッチ音251が必要以上に長く発音されるようになってしまう。このため、正規の演奏音である後音252の発音が遅れてしまうようになる。このように、図14(a)に示すパターンで演奏された場合は発音遅れを伴うことから聴取された楽音に与える問題の影響度が高く、ミスタッチ音251の存在が大きく目立ってしまうと云う問題点が生じるようになる。
次に、図15(a)に示す楽譜通りに演奏された楽音を合成する場合の楽音合成が図15(b)に示されている。
図15(a)に示す楽譜通りに演奏されると、時刻t1で前音260のノートオンイベントが発生されて楽音波形合成装置で受信される。これにより、楽音波形合成装置は時刻t1において図15(b)に示すようにヘッド(Head)1から前音260の楽音波形の合成を開始する。そして、ヘッド(Head)1の合成が終了してもノートオフイベントが受信されないことから図15(b)に示すようにヘッド(Head)1からボディ(Body)1に遷移されて楽音波形が合成されていくようになる。そして、時刻t2において前音260のノートオフイベントが受信されるとボディ(Body)1からテイル(Tail)1に遷移されて楽音波形が合成されるようになる。テイル(Tail)1の合成が終了すると前音260の楽音波形の合成は終了する。
次いで、時刻t3にミスタッチ音261のノートオンイベントが受信され、楽音波形合成装置は時刻t3において図15(b)に示すようにヘッド(Head)2からミスタッチ音241の楽音波形の合成を開始する。次いで、ヘッド(Head)2の合成が終了する前の時刻t4において後音262のノートオンイベントが受信されるが、ミスタッチ音261のノートオフイベントがまだ受信されていないことから楽音波形合成装置では後音262がミスタッチ音261に重なっていると判断されて、ヘッド(Head)2の合成が終了すると、ヘッド(Head)2からミスタッチ音261から後音262への音程の遷移部分を表現するジョイント(Joint)2に遷移されて楽音波形が合成されていくようになる。ジョイント(Joint)2の合成が終了しても、後音262のノートオフイベントが受信されないことから図15(b)に示すようにジョイント(Joint)2からボディ(Body)2に遷移されて楽音波形が合成されていくようになる。そして、時刻t6になると後音262のノートオフイベントが受信されて、ボディ(Body)2からテイル(Tail)2に遷移されて楽音波形が合成されていき、テイル(Tail)2の合成が終了することにより前音260、ミスタッチ音261および後音262の楽音波形の合成は終了する。
このように、前音260のノートオンイベントの時刻t1からヘッド(Head)1−ボディ(Body)1の順で合成され、そのノートオフイベントの時刻t2においてボディ(Body)1からテイル(Tail)1に遷移されてテイル(Tail)1が合成されることにより、前音260の楽音波形が図15(b)に示すように合成される。また、ミスタッチ音261のノートオンイベントの時刻t3からヘッド(Head)2が合成されてジョイント(Joint)2に遷移することによりミスタッチ音261の楽音波形が図15(b)に示すように合成されるようになる。このジョイント(Joint)2によりミスタッチ音261から後音262への音程の遷移部分が表現される。そして、ジョイント(Joint)2からボディ(Body)2に遷移されて合成されていき、後音262のノートオフイベントの時刻t6においてボディ(Body)2からテイル(Tail)2に遷移されてテイル(Tail)2が合成されることにより、後音262の楽音波形が図15(b)に示すように合成される。
図15(a)に示す楽譜通りに演奏した場合は図15(b)に示すように、前音260にかかるヘッド(Head)1−ボディ(Body)1−テイル(Tail)1の楽音波形と、ミスタッチ音261と後音262にかかるヘッド(Head)2−ジョイント(Joint)2−ボディ(Body)2−テイル(Tail)2の楽音波形は、異なるチャンネルで合成されるようになる。この場合、ミスタッチ音261と後音262とがジョイント(Joint)2で接続されることから、ミスタッチ音261が必要以上に長く発音されると共に、正規の演奏音である後音262の発音が遅れてしまう。このように、図15(a)に示すパターンで演奏された場合は発音遅れを伴うことから聴取された楽音に与える問題の影響度が高く、ミスタッチ音261の存在が大きく目立ってしまうと云う問題点が生じるようになる。
上記したように、従来の楽音波形合成装置においては、早弾きやミスタッチにより短い音が演奏された際にその後の音の発音が遅れるという問題点があった。
そこで、本発明は短い音が演奏された際にその後の音の発音が遅れることのない楽音波形合成装置を提供することを目的としている。
上記目的を達成するために、本発明の楽音波形合成装置は、前音に発音させようとする楽音が重なっていると検出された際に、前音の音長が所定の音長を超えないと判定された場合は、後音のノートオンのタイミングから楽音合成手段が前音の楽音波形のフェードアウトを開始させると共に、発音させようとする楽音の楽音波形の合成を開始するようにしたことを最も主要な特徴としている。
本発明によれば、前音に発音させようとする楽音が重なっていると検出された際に、前音の音長が所定の音長を超えないと判定された場合は、前音の楽音波形の合成を終了させると共に、発音させようとする楽音の楽音波形の合成を開始するようにしたことから、短い音が演奏された際にその後の音の発音が遅れることがないようにすることができる。
本発明は、短い音が演奏された際にその後の音の発音が遅れることのない楽音波形合成装置を提供するという目的を、前音に発音させようとする楽音が重なっていると検出された際に、前音の音長が所定の音長を超えないと判定された場合は、前音の楽音波形の合成を終了させると共に、発音させようとする楽音の楽音波形の合成を開始するようにしたことで実現した。
図1は、本発明の実施例の楽音波形合成装置におけるハードウェア構成の一例を示すブロック図である。図1に示されたハードウエア構成はいわゆるパーソナルコンピュータとほぼ同様の構成とされており、楽音波形合成プログラムを実行することにより楽音波形合成装置が実現されている。
図1に示す楽音波形合成装置1において、CPU(Central Processing Unit)10は楽音波形合成装置1の全体の動作を制御すると共に、楽音波形合成プログラム等の動作ソフトウェアを実行している。ROM(Read Only Memory)11には、CPU10が実行する楽音波形合成プログラム等の動作ソフトウェアや楽音合成に使用する波形データパーツが格納されており、RAM(Random Access Memory)12には、CPU10のワークエリアや各種データの記憶エリアが設定されている。このROM11をフラッシュメモリ等の書き換え可能なROMとすることで、動作ソフトウェアを書き換え可能となり動作ソフトウェアのバージョンアップを容易に行うことができる。また、ROM11に格納されている波形データパーツの更新を行うことができる。
操作子13は、鍵盤やコントローラ等の演奏操作子およびパネルに設けられている種々の操作を行うためのパネル操作子から構成されている。検出回路14は、演奏操作子およびパネル操作子からなる操作子13を走査することによって操作子13のイベントを検出して、イベントのあった操作子13に対応するイベント出力を出力している。表示回路16は液晶等の表示部15を備え、この表示部15にパネル操作子により入力された各種設定の画面やサンプリングされた波形データ等が表示される。各種設定の画面では、GUI(Graphical User Interface)を利用してユーザが各種の指示を行える画面とされている。波形取込部17はA/D変換器を内蔵し、マイクロフォン等から入力された外部波形であるアナログ楽音信号をサンプリングしてディジタルデータに変換し、RAM12あるいはハードディスク(HDD)20に波形データパーツとして取り込むことができる。CPU10によって実行される楽音波形合成処理においては、RAM12あるいはHDD20に格納されている波形データパーツを使用して楽音波形データを合成している。合成された楽音波形データは通信バス23を介して波形出力部18に供給されて、そのバッファに記憶される。
波形出力部18ではバッファ記憶された楽音波形データを所定の出力サンプリング周波数にしたがって出力し、D/A変換してサウンドシステム19に送出する。これにより、波形出力部18から出力された楽音波形データに基づく楽音が、サウンドシステム19を介して放音される。サウンドシステム19では、音量制御や音質制御を行うことが可能とされている。ROM11あるいはハードディスク20には、奏法を確定するために用いる奏法判定用パラメータや奏法に応じた波形データパーツを特定するための奏法テーブルが格納されていると共に、奏法に対応する複数種類の波形データパーツが記憶されている。なお、波形データパーツの種類としては楽音波形における開始波形部分(ヘッド)、持続波形部分(ボディ)、終了波形部分(テイル)と、2つの楽音の音程の遷移部分を表現する部分とされる接続波形部分(ジョイント)がある。通信インタフェース(I/F)21は、楽音波形合成装置1をLAN(ローカルエリアネットワーク)やインターネット、電話回線等の通信ネットワークに接続するインタフェースであり、該通信ネットワークを介して、外部機器22と接続することができる。これらの各部は通信バス23に接続されている。これにより、外部機器22から各種プログラムや波形データパーツ等をダウンロードすることができるようになる。ダウンロードされたプログラムや波形データパーツ等は、RAM12やHDD20等に格納されるようになる。
このように構成された本発明にかかる楽音波形合成装置1における楽音波形合成の概要を説明する。
楽音波形は立ち上がりを表す開始波形と持続部分を表す持続波形と立ち下がりを表す終了波形に分割することができる。また、レガート演奏等の2つの楽音がなめらかにつながる演奏を行うと、楽音波形には2つの楽音における音程が遷移していく接続波形が存在するようになる。そこで、本発明の楽音波形合成装置1においては、開始波形部分(以下、「ヘッド(Head)」という)、持続波形部分(以下、「ボディ(Body)」という)、終了波形部分(以下、「テイル(Tail)」という)と、2つの楽音の音程の遷移部分を表現する部分とされる接続波形部分(以下、「ジョイント(Joint)」という)との波形データパーツの複数種類をROM11やHDD20に記憶しておき、これらの波形データパーツを順次つなげていくことで楽音波形を合成するようにしている。楽音波形を合成する際の波形データパーツの特定やその組み合わせは、指定された奏法あるいは確定された奏法に応じてリアルタイムで決定される。
ROM11やHDD20に記憶される波形データパーツの典型的な例を図2(a)〜(d)に示す。図2(a)に示す波形データパーツはヘッド(Head)の波形データであり楽音波形の立ち上がり(アタック)を表す1ショット波形SHと次の部分波形に接続するためのループ波形LPから構成されている。図2(b)に示す波形データパーツはボディ(Body)の波形データであり楽音波形の持続部分(サスティン)を表す複数のループ波形LP1〜LP6から構成されている。ループ波形LP1〜LP6同士はクロスフェードにより順次接続されて合成され、ループ波形の数はボディ(Body)の長さに応じた数が使われる。なお、LP1〜LP6の組み合わせは任意である。図2(c)に示す波形データパーツはテイル(Tail)の波形データであり楽音波形の立ち下がり(リリース)を表す1ショット波形SHと前の部分波形に接続するためのループ波形LPから構成されている。図2(d)に示す波形データパーツはジョイント(Joint)の波形データであり2つの楽音の音程の遷移部分を表す1ショット波形SHと前の部分波形に接続するためのループ波形LPaと次の部分波形に接続するためのループ波形LPbとから構成されている。これらの波形データパーツにおいては終端および/あるいは始端にループ波形を有していることから、波形データパーツを接続する際にその間は、ループ波形同士をクロスフェードすることにより波形データパーツ間を接続することができる。
ここで、楽音波形合成装置1において操作子13における演奏操作子(鍵盤/コントローラ等)が操作されて演奏されると、演奏の進行に伴って演奏イベントが順次に供給されるようになる。演奏された各音の奏法は、奏法指定スイッチで指示されている場合はその奏法に、指示されていない場合は供給された演奏イベント情報から奏法を確定する。奏法が確定されることにより、その際に合成される楽音波形を合成する波形データパーツが決定される。次いで、決定されたヘッド(Head)、ボディ(Body)、ジョイント(Joint)、テイル(Tail)のいずれかの波形データパーツが奏法テーブルを参照して特定され、その波形データパーツが配置される時間軸上の時刻が指示される。そして、ROM11あるいはHDD20から特定された波形データパーツが読み出され、指示された時刻で合成されていくことにより楽音波形が合成されるようになる。
図12(a)に示すピアノロール譜のようにレガート演奏で2音を接続するよう演奏された場合は、楽音210のノートオフイベントが受信される前に楽音211のノートオンイベントが受信されることから、レガート演奏がされたと検出される。また時刻t2から時刻t1を差し引くことにより楽音210の音長が求められる。この音長は奏法パラメータで定められた所定の長さと対比されるが、この場合は、楽音210の音長が所定の長さを超える長さと判定される。これにより、レガート奏法と確定されて楽音210と楽音211とがジョイント(Joint)を用いて合成されるようになり、図12(b)に示すようにノートオンイベントの時刻t1からヘッド(Head)−ボディ(Body)1−ジョイント(Joint)−ボディ(Body)2−テイル(Tail)の順に時間軸上に配置されて楽音波形が合成されることになる。なお、ヘッド(Head)、ボディ(Body)1、ジョイント(Joint)、ボディ(Body)2、テイル(Tail)にそれぞれ使用する波形データパーツは奏法テーブルを参照して特定され、それぞれの波形データパーツが配置される時間軸上の時刻が指示される。そして、ROM11あるいはHDD20から特定された波形データパーツが読み出され、指示された時刻で合成されていくことにより楽音波形が合成されるようになる。
ところで、前述したようにミスタッチなどで発生する短い音のパターンの例が図14、図15に示されている。従来の楽音波形合成装置においては、短い音のパターンでは短い音に続く後音の発音が遅れるよう楽音波形が合成されてしまうようになる。そこで、本発明にかかる楽音波形合成装置1では、後述するがミスタッチや早弾きなどで発生する短い音が入力されたことを音長から検出する。そして、ミスタッチや早弾きなどで発生する短い音の入力が検出された際には、短い音に後音が重なっていても後音のノートオンイベントが入力されたタイミングで後音の楽音波形合成を開始するようにしている。これにより、本発明にかかる楽音波形合成装置1では、短い音のパターンで演奏されても後音の発音が遅れることなく楽音波形が合成されるようになる。この具体的な説明は後述する。
次に、本発明にかかる楽音波形合成装置1において楽音波形合成処理を実行する機能を示すブロック図を図3に示す。
図3に示す機能ブロック図において、鍵盤/コントローラ30は操作子13における演奏操作子であり、鍵盤/コントローラ30を操作することにより検出された演奏イベントが楽音波形合成部に供給されている。楽音波形合成部は、CPU1が楽音波形合成プログラムを実行することにより実現されており、演奏(MIDI)受信処理部31、演奏解釈処理部(プレイヤー)32、演奏合成処理部(アーティキュレータ)33、波形合成処理部34を備えている。奏法判定用パラメータ35、奏法テーブル36および波形データパーツをベクタデータで記憶しているベクタデータ記憶手段37の記憶領域はROM11あるいはHDD20に設定されている。
図3において、鍵盤/コントローラ30が操作されることにより検出された演奏イベントは、リアルタイム入力されたノートデータ+奏法指定データのMIDI形式で構成されて楽音波形合成部に入力される。この場合、奏法指定データは無くてもよい。また、演奏イベントにはノートデータ以外に、ボリューム等の各種音源コントロールデータが付加されていてもよい。鍵盤/コントローラ30から入力された演奏イベントは、楽音波形合成部の演奏(MIDI)受信処理部31で受信され、演奏イベントが演奏解釈処理部(プレイヤー)32で解釈される。演奏解釈処理部(プレイヤー)32では、入力された演奏イベントに基づいて、奏法判定用パラメータ35を用いて奏法を判別する。奏法判定用パラメータ35は、早弾きやミスタッチ等で発生される短い音を判別するための奏法判定時間のパラメータとされる。そして、入力された演奏イベントから音長が求められ、その音長が奏法判定時間と対比されることによりジョイント(Joint)を用いるJoint系奏法かジョイント(Joint)を用いないNon-Joint奏法かが決定される。このように、奏法が確定されることにより、奏法に応じて用いられる波形データパーツが決定されるようになる。
演奏合成処理部(アーティキュレータ)33では、演奏解釈処理部(プレイヤー)32で解釈された奏法をもとに決定された波形データパーツが奏法テーブル36を参照して特定され、その波形データパーツが配置される時間軸上の時刻が指示される。そして、波形合成処理部34においてROM11あるいはHDD20とされるベクタデータ記憶手段37から特定された波形データパーツのベクタデータが読み出され、指示された時刻で合成されていくことにより楽音波形が合成されるようになる。
なお、演奏合成処理部(アーティキュレータ)33では、受信されたイベント情報により確定された奏法、あるいは、奏法指定スイッチで指定された奏法指定データの奏法により用いる波形データパーツを決定している。
次に、演奏解釈処理(プレイヤー)32において実行される本発明の楽音波形合成装置1において特徴的な奏法決定処理のフローチャートを図4に示す。
図4に示す奏法決定処理は、ノートオンイベントが受信されて楽音波形合成処理が実行されている際に、続いてノートオンが受信されたことにより発音が重なっていることが検出された(S1)場合に起動する。ノートオンが前音の発音と重なっていることは、演奏(MIDI)受信処理部31が前音のノートオフイベントを受信する前に当該ノートオンイベントを受信したことで検出することができる。そして、ノートオンが前音の発音期間と重なっていると検出されると、ステップS2にて現在の時刻から前回記憶されたノートオンイベントが受信された時刻(前音のノートオン時刻)を差し引くことにより前音の音長を求める。次いで、ステップS3にて求められた前音の音長が、奏法判定時間のパラメータとして記憶されている「ミスタッチ音判定時間」よりも長いか否かが判定される。ここで、前音の音長がミスタッチ音判定時間よりも長いと判定された場合は、ステップS4に進みジョイント(Joint)を用いて楽音波形の合成を行うJoint系奏法と決定される。そして、前音の音長がミスタッチ音判定時間以下の短い長さと判定された場合は、ステップS5に進み前音を終了させると共に、ジョイント(Joint)を用いることなく新たに異なる合成チャンネルでヘッド(Head)から当該音の楽音波形の合成を開始するNon-Joint奏法と決定される。ステップS4あるいはステップS5において奏法が確定されると、入力されたノートオンイベントの時刻が記憶されて奏法決定処理は終了し、楽音波形合成処理にリターンされる。
次に、Non-Joint奏法により楽音波形を合成すると確定された際に、演奏合成処理部(アーティキュレータ)33において実行されるNon-Joint奏法処理のフローチャートの一例を図5に示す。
Non-Joint奏法処理が起動されるとステップS10にて演奏イベント情報を元に奏法テーブル36を検索して使用すべき波形データパーツのベクタデータを選択し、選択されたベクタデータを構成している要素データを演奏イベント情報に基づいて補正する。要素データは、調和成分の波形(Timbre)要素とピッチ(Pitch)要素と振幅(Amplitude)要素、および、調和外成分の波形(Timbre)要素と振幅(Amplitude)要素とされ、これらの要素データで構成されるベクタデータから各波形データパーツが構成されている。なお、要素データは時間の進行に伴い変化することができるデータである。
次いで、ステップS11にてこれまで使用していた合成チャンネルで合成中の楽音波形を終了させるための指示を波形合成処理34に与える。この場合、楽音波形を波形データパーツの合成途中で終了させると不自然な音になるので、指示された波形合成処理34では合成中の波形データパーツが最後まで合成されるのを待って終了させることになる。すなわち、ヘッド(Head)、ジョイント(Joint)やテイル(Tail)の1ショットの楽音波形を合成している場合はその1ショットの楽音波形の最後まで合成することになる。なお、演奏合成処理33と波形合成処理34はCPU10においてマルチタスク的に動作しており、波形合成処理34が合成を終了している間に演奏合成処理33は次のステップS12に進む。そして、ステップS12にて受信されたノートオンイベントに対する楽音波形を合成するために新たに使用する合成チャンネルを新たに決定する。次いでステップS13にて、決定された合成チャンネルに対して、使用する波形データパーツのベクタデータ番号、要素データ値、時刻とを指定することにより楽音波形を合成する準備を整える。これにより、Non-Joint奏法処理は終了し、楽音波形合成処理にリターンされこれまで使用していた合成チャンネルでの合成が終了されるとともに、決定された合成チャンネルにおいて受信されたノートオンイベント対する楽音波形が合成されるようになる。
次に、図4に示す奏法決定処理を含む奏法決定処理が演奏解釈処理部(プレイヤー)32において実行されて奏法が確定され、楽音波形合成に使用される波形データパーツが決定されると共に、演奏合成処理部(アーティキュレータ)33および波形合成処理部34において楽音波形が合成される例を以下に説明する。この例では、図4に示す奏法決定処理が実行されてJoint系奏法かNon-Joint奏法かが決定される例が上げられている。
まず、図14(a)に示す楽譜通りに演奏された楽音波形を楽音波形合成装置1で合成する場合の楽音波形合成の例を図6に示している。
図14(a)に示すピアノロール譜が図6(a)に示され、操作子13における鍵盤/コントローラ30が操作されてその楽譜通りに演奏されると、時刻t1で前音40のノートオンイベントが演奏(MIDI)受信処理部31で受信される。これにより、楽音波形合成装置は時刻t1において図6(b)に示すようにヘッド(Head)1から前音40の楽音波形の合成を開始する。そして、ヘッド(Head)1の合成が終了しても前音40のノートオフイベントが受信されないことから図6(b)に示すようにヘッド(Head)1からボディ(Body)1に遷移されて楽音波形が合成されていくようになる。そして、時刻t2になるとミスタッチ音41のノートオンイベントが受信されるが、前音40のノートオフイベントがまだ受信されていないことから楽音波形合成装置1ではミスタッチ音41が前音40に重なっていると判断されて、図4に示す奏法決定処理が起動されて前音40の音長が求められる。そして、求められた前音40の音長は奏法判定用パラメータ35における「ミスタッチ音判定時間」パラメータと対比されるが、ここでは、前音40の音長の方が長いことからJoint系奏法と決定される。これにより、時刻t2においてボディ(Body)1から前音40からミスタッチ音41への音程の遷移部分を表現するジョイント(Joint)1に遷移されて楽音波形が合成されていく。
次いで、時刻t3で前音40のノートオフイベントが受信され、さらに、ジョイント(Joint)1の合成が終了する前の時刻t4において後音42のノートオンイベントが受信されるが、ミスタッチ音41のノートオフイベントがまだ受信されていないことから楽音波形合成装置1では後音42がミスタッチ音41に重なっていると判断されて、図4に示す奏法決定処理が起動されてミスタッチ音41の音長taが求められる。そして、求められたミスタッチ音41の音長taが奏法判定用パラメータ35における「ミスタッチ音判定時間」パラメータと対比されるが、求められたミスタッチ音41の音長taが短いことからNon-Joint奏法と決定される。これにより、ミスタッチ音41はジョイント(Joint)2を使用することなくジョイント(Joint)1の合成が終了すると終了され、時刻t4において後音42の楽音波形合成がヘッド(Head)2から開始されるようになる。そして、時刻t5でミスタッチ音41のノートオフイベントが受信され、次いで、ヘッド(Head)2の合成が終了しても後音42のノートオフイベントが受信されないことから図6(b)に示すようにヘッド(Head)2からボディ(Body)2に遷移されて後音42の楽音波形が合成されていくようになる。そして、時刻t6になると後音42のノートオフイベントが受信されて、ボディ(Body)2からテイル(Tail)2に遷移されて楽音波形が合成されていき、テイル(Tail)2の合成が終了することにより前音40、ミスタッチ音41よび後音42の楽音波形の合成は終了する。
このように、前音40とミスタッチ音41とをつなぐ際にはジョイント(Joint)を使用するJoint系奏法処理が実行され、ミスタッチ音41と後音42とをつなぐ際には図5に示すNon-Joint奏法処理が実行される。従って、前音40とミスタッチ音41との楽音波形はヘッド(Head)1、ボディ(Body)1、ジョイント(Joint)1により合成され、後音42の楽音波形はヘッド(Head)2、ボディ(Body)2、テイル(Tail)2の組み合わせで合成される。そして、演奏合成処理部(アーティキュレータ)33において、演奏解釈処理部(プレイヤー)32で確定された奏法をもとに決定された波形データパーツに使用する波形データパーツのベクタデータ番号と要素データ値が奏法テーブル36を参照して指定されると共に、それぞれの波形データパーツが配置される時間軸上の時刻が指定される。すなわち、第1の合成チャンネルにヘッド(Head)1が時刻t1から開始するよう指示され、ヘッド(Head)1に続いてボディ(Body)1が配置され、ジョイント(Joint)1が時刻t2から開始するよう指示される。さらに、第2の合成チャンネルにヘッド(Head)2が時刻t4から開始するよう指示され、ヘッド(Head)2に続いてボディ(Body)2が配置され、テイル(Tail)2が時刻t6から開始するよう指示される。そして、波形合成処理部34においてROM11あるいはHDD20とされるベクタデータ記憶手段37から指定されたベクタデータ番号の波形データパーツのベクタデータが指示された時刻から合成されるよう読み出され、指定された要素データ値が反映されながら上記指定された時刻で合成されていく。この場合、ヘッド(Head)1−ボディ(Body)1−ジョイント(Joint)1からなる前音40とミスタッチ音41の楽音波形は第1の合成チャンネルで合成され、ヘッド(Head)2−ボディ(Body)2−テイル(Tail)2からなる後音42の楽音波形は第2の合成チャンネルで合成される。
これにより、図6(a)のように演奏された際には、図6(b)に示すように楽音波形が合成されるようになる。具体的には波形合成処理部34では、第1の合成チャンネルにおいて時刻t1において指定されたベクタデータ番号のヘッド(Head)用ベクタデータがベクタデータ記憶手段37から読み出されてヘッド(Head)1が合成されていくようになる。このヘッド(Head)用ベクタデータは、前音40のアタックを表しており1ショット波形a1の終端にループ波形a2が接続されて構成されている。このヘッド(Head)1の楽音波形合成が終了すると、指定されたベクタデータ番号のボディ(Body)用ベクタデータがベクタデータ記憶手段37から読み出されて、ボディ(Body)1の楽音波形が合成されていくようになる。指定された前音40用のボディ(Body)用ベクタデータは音色の異なる複数のループ波形a3、a4、a5、a6、a7からなり、ループ波形a2とループ波形a3とがクロスフェードされることによりヘッド(Head)1からボディ(Body)1に遷移される。ボディ(Body)1の合成においては、複数のループ波形a3、a4、a5、a6、a7同士がクロスフェードで接続されて音色が変化しつつボディ(Body)1の楽音波形が合成されていくようになる。
そして、時刻t2になると指定されたベクタデータ番号のジョイント(Joint)用ベクタデータがベクタデータ記憶手段37から読み出されてジョイント(Joint)1が合成されていくようになる。指定されたジョイント(Joint)用ベクタデータは前音40からミスタッチ音41への音程の遷移部分を表現しており、1ショット波形a9の始端にループ波形a8が接続され終端にループ波形a9が接続されて構成されている。そして、ループ波形a7とループ波形a8とがクロスフェードされることによりボディ(Body)1からジョイント(Joint)1に遷移される。このジョイント(Joint)1が合成されていくことにより前音40からミスタッチ音41の楽音波形に移行して行くようになり、このジョイント(Joint)1の楽音波形の合成が終了すると第1の合成チャンネルの楽音波形合成は終了する。
ここで、時刻t4になると指定されたベクタデータ番号のヘッド(Head)用ベクタデータがベクタデータ記憶手段37から読み出されてヘッド(Head)2が第2の合成チャンネルにおいて合成されていくようになる。指定されたヘッド(Head)用ベクタデータは、後音42のアタックを表しており1ショット波形b1の終端にループ波形b2が接続されて構成されている。このヘッド(Head)2の楽音波形合成が終了すると、指定されたベクタデータ番号のボディ(Body)用ベクタデータがベクタデータ記憶手段37から読み出されて、ボディ(Body)2の楽音波形が合成されていくようになる。指定された後音42用のボディ(Body)用ベクタデータは音色の異なる複数のループ波形b3、b4、b5、b6、b7、b8、b9、b10からなり、ループ波形b2とループ波形b3とがクロスフェードされることによりヘッド(Head)2からボディ(Body)2に遷移される。ボディ(Body)2の合成においては、複数のループ波形b3、b4、b5、b6、b7、b8、b9、b10同士がクロスフェードで接続されて音色が変化しつつボディ(Body)2の楽音波形が合成されていくようになる。
そして、時刻t6になると指定されたベクタデータ番号のテイル(Tail)用ベクタデータがベクタデータ記憶手段37から読み出されてテイル(Tail)2が合成されていくようになる。指定されたベクタデータ番号のテイル(Tail)用ベクタデータは、後音42のリリースを表しており1ショット波形b12の始端にループ波形b11が接続されて構成されている。そして、ループ波形b10とループ波形b11とがクロスフェードされることにより、ボディ(Body)2からテイル(Tail)2に遷移される。テイル(Tail)2の楽音波形の合成が終了することにより、前音40ないし後音42にかかる楽音波形の合成は終了する。
図6(b)に示されているように、音長の短いミスタッチ音41が前音40に重なっていると共に、後音42に音長の短いミスタッチ音41が重なっていると、前音40からミスタッチ音41への楽音波形を合成する際にはJoint奏法処理が行われ、ミスタッチ音41から後音42への楽音波形を合成する際には、図5に示すNon-Joint奏法処理が行われる。これにより、ミスタッチ音41の楽音波形はジョイント(Joint)1で終了されるようになり、破線で示すジョイント(Joint)2の楽音波形は合成されないようになる。このため、ミスタッチ音41の楽音波形が短くなってミスタッチ音41が目立たないようになる。さらに、後音42のノートオンイベントの時刻t4で後音42の楽音波形が新たな合成チャンネルで合成されるようになるため、ミスタッチ音41があっても後音42の発音が遅れることを防止することができるようになる。
次に、図15(a)に示す楽譜通りに演奏された楽音波形を楽音波形合成装置1で合成する場合の楽音波形合成の例を図7示す。
図15(a)に示すピアノロール譜が図7(a)に示され、操作子13における鍵盤/コントローラ30が操作されてその楽譜通りに演奏されると、時刻t1で前音43のノートオンイベントが演奏(MIDI)受信処理部31で受信される。これにより、楽音波形合成装置は時刻t1において図7(b)に示すようにヘッド(Head)1から前音43の楽音波形の合成を開始する。そして、ヘッド(Head)1の合成が終了しても前音43のノートオフイベントが受信されないことから図7(b)に示すようにヘッド(Head)1からボディ(Body)1に遷移されて楽音波形が合成されていくようになる。そして、時刻t2になると前音43のノートオフイベントが受信されて、ボディ(Body)1からテイル(Tail)1に遷移されて楽音波形が合成されていき、テイル(Tail)1の合成が終了することにより前音43の楽音波形の合成は終了する。時刻t2の直後の時刻t3においてミスタッチ音44のノートオンイベントが演奏(MIDI)受信処理部31で受信され、楽音波形合成装置は時刻t3において図7(b)に示すようにヘッド(Head)2からミスタッチ音44の楽音波形の合成を開始する。
ここで、ヘッド(Head)2の合成が終了する前の時刻t4において後音45のノートオンイベントが受信されるが、ミスタッチ音44のノートオフイベントがまだ受信されていないことから楽音波形合成装置1では後音45がミスタッチ音44に重なっていると判断されて、図4に示す奏法決定処理が起動されてミスタッチ音44の音長tbが求められる。そして、求められたミスタッチ音44の音長tbが奏法判定用パラメータ35における「ミスタッチ音判定時間」パラメータと対比されるが、求められたミスタッチ音44の音長tbが短いことからNon-Joint奏法と決定される。これにより、ミスタッチ音44はジョイント(Joint)を使用することなくヘッド(Head)2の合成が終了すると終了され、時刻t4において後音45の楽音波形合成がヘッド(Head)3から開始されるようになる。そして、時刻t5でミスタッチ音44のノートオフイベントが受信され、次いで、ヘッド(Head)3の合成が終了しても後音45のノートオフイベントが受信されないことから図7(b)に示すようにヘッド(Head)3からボディ(Body)3に遷移されて後音45の楽音波形が合成されていくようになる。そして、時刻t6になると後音45のノートオフイベントが受信されて、ボディ(Body)3からテイル(Tail)3に遷移されて楽音波形が合成されていき、テイル(Tail)3の合成が終了することにより前音43、ミスタッチ音44よび後音45の楽音波形の合成は終了する。
このように、前音43の楽音波形はそのノートオンイベントが受信された時刻t1において第1の合成チャンネルで合成されるようになる。すなわち、前音43の楽音波形はヘッド(Head)1、ボディ(Body)1、テイル(Tail)1の組み合わせにより合成される。また、ミスタッチ音44の楽音波形はそのノートオンイベントの時刻t3から第2の合成チャンネルで合成される。ミスタッチ音44と後音45とをつなぐ際には図5に示すNon-Joint奏法処理が実行される。これにより、ミスタッチ音44の楽音波形は、Non-Joint奏法処理が実行されてミスタッチ音44はヘッド(Head)2だけにより合成され、後音45の楽音波形は第3の合成チャンネルでヘッド(Head)3、ボディ(Body)3、テイル(Tail)3の組み合わせで合成されるようになる。このように、ミスタッチ音44の楽音波形はヘッド(Head)2で終了するようになる。
そして、演奏合成処理部(アーティキュレータ)33において、演奏解釈処理部(プレイヤー)32で解釈された奏法をもとに決定された波形データパーツのベクタデータ番号と要素データ値が奏法テーブル36を参照して指定されると共に、波形データパーツが配置される時間軸上の時刻が指定される。すなわち、第1の合成チャンネルにヘッド(Head)1が時刻t1から開始するよう指示され、ヘッド(Head)1に続いてボディ(Body)1が配置され、テイル(Tail)1が時刻t2から開始するよう指示される。さらに、第2の合成チャンネルにヘッド(Head)2が時刻t3から開始するよう指示され、第3の合成チャンネルにおいてヘッド(Head)3が時刻t4から開始するよう指示され、ヘッド(Head)3に続いてボディ(Body)3が配置され、テイル(Tail)3が時刻t6から開始するよう指示される。そして、波形合成処理部34においてROM11あるいはHDD20とされるベクタデータ記憶手段37から指定されたベクタデータ番号の波形データパーツのベクタデータが読み出され、指定された要素データ値が反映されながら上記指定された時刻で合成されていく。この場合、ヘッド(Head)1−ボディ(Body)1−テイル(Tail)1からなる前音43の楽音波形は第1の合成チャンネルで合成され、ヘッド(Head)2からなるミスタッチ音44は第2の合成チャンネルで合成され、ヘッド(Head)3−ボディ(Body)3−テイル(Tail)3からなる後音45の楽音波形は第3のチャンネルで合成される。
これにより、図7(a)のように演奏された際には、図7(b)に示すように楽音波形が合成されるようになる。具体的には波形合成処理部34では、第1の合成チャンネルにおいて時刻t1において指定されたベクタデータ番号のヘッド(Head)用ベクタデータがベクタデータ記憶手段37から読み出されてヘッド(Head)1が合成されていくようになる。このヘッド(Head)用ベクタデータは、前音43のアタックを表しており1ショット波形d1の終端にループ波形d2が接続されて構成されている。このヘッド(Head)1の楽音波形合成が終了すると、指定されたベクタデータ番号のボディ(Body)用ベクタデータがベクタデータ記憶手段37から読み出されて、ボディ(Body)1の楽音波形が合成されていくようになる。指定された前音43用のボディ(Body)用ベクタデータは音色の異なる複数のループ波形d3、d4、d5、d6からなり、ループ波形d2とループ波形d3とがクロスフェードされることによりヘッド(Head)1からボディ(Body)1に遷移される。ボディ(Body)1の合成においては、複数のループ波形d3、d4、d5、d6同士がクロスフェードで接続されて音色が変化しつつボディ(Body)1の楽音波形が合成されていくようになる。
そして、時刻t2になると指定されたベクタデータ番号のテイル(Tail)用ベクタデータがベクタデータ記憶手段37から読み出されてテイル(Tail)1が合成されていくようになる。指定されたベクタデータ番号のテイル(Tail)用ベクタデータは、前音43のリリースを表しており1ショット波形d8の始端にループ波形d7が接続されて構成されている。そして、ループ波形d6とループ波形d7とがクロスフェードされることにより、ボディ(Body)1からテイル(Tail)1に遷移される。テイル(Tail)1の楽音波形の合成が終了することにより、第1の合成チャンネルにおける前音43にかかる楽音波形の合成は終了する。
また、時刻t3になると第2の合成チャンネルにおいて指定されたベクタデータ番号のヘッド(Head)用ベクタデータがベクタデータ記憶手段37から読み出されてヘッド(Head)2が合成されていくようになる。このヘッド(Head)用ベクタデータは、ミスタッチ音44のアタックを表しており1ショット波形e1の終端にループ波形e2が接続されて構成されている。このヘッド(Head)2の楽音波形合成が終了すると、ジョイント(Joint)が合成されることなく第2の合成チャンネルにおけるミスタッチ音44にかかる楽音波形合成は終了する。
次いで、時刻t4になると指定されたベクタデータ番号のヘッド(Head)用ベクタデータがベクタデータ記憶手段37から読み出されてヘッド(Head)3が第3の合成チャンネルにおいて合成されていくようになる。指定されたヘッド(Head)用ベクタデータは、後音45のアタックを表しており1ショット波形f1の終端にループ波形f2が接続されて構成されている。このヘッド(Head)3の楽音波形合成が終了すると、指定されたベクタデータ番号のボディ(Body)用ベクタデータがベクタデータ記憶手段37から読み出されて、ボディ(Body)3の楽音波形が合成されていくようになる。指定された後音45用のボディ(Body)用ベクタデータは音色の異なる複数のループ波形f3、f4、f5、f6、f7、f8、f9、f10からなり、ループ波形f2とループ波形f3とがクロスフェードされることによりヘッド(Head)3からボディ(Body)3に遷移される。ボディ(Body)3の合成においては、複数のループ波形f3、f4、f5、f6、f7、f8、f9、f10同士がクロスフェードで接続されて音色が変化しつつボディ(Body)3の楽音波形が合成されていくようになる。
そして、時刻t6になると指定されたベクタデータ番号のテイル(Tail)用ベクタデータがベクタデータ記憶手段37から読み出されてテイル(Tail)3が合成されていくようになる。指定されたベクタデータ番号のテイル(Tail)用ベクタデータは、後音45のリリースを表しており1ショット波形f12の始端にループ波形f11が接続されて構成されている。そして、ループ波形f10とループ波形f11とがクロスフェードされることにより、ボディ(Body)3からテイル(Tail)3に遷移される。テイル(Tail)3の楽音波形の合成が終了することにより、前音43ないし後音45にかかる楽音波形の合成は終了する。
図7(b)に示されているように、ミスタッチ音44に後音45が重なっていてもNon-Joint奏法処理が行われることから、後音45のノートオンイベントの時刻t4で後音45の楽音波形が新たな合成チャンネルで合成されるようになるため、ミスタッチ音44があっても後音45の発音が遅れることを防止することができるようになる。
次に、Non-Joint奏法を使用すると決定された際に、演奏合成処理部(アーティキュレータ)33において実行されるNon-Joint奏法処理のフローチャートの他の例を図8に示す。
図8に示すNon-Joint奏法処理が起動されるとステップS20にて演奏イベント情報を元に奏法テーブル36を検索して使用すべき波形データパーツのベクタデータを選択し、選択されたベクタデータを構成している要素データを演奏イベント情報に基づいて補正する。次いで、ステップS21にてこれまで使用していた合成チャンネルで合成中の楽音波形をフェードアウトさせることにより終了させるための指示を波形合成処理34に与える。そして、ステップS22にて受信されたノートオンイベント対する楽音波形を合成するために新たに使用する合成チャンネルを選択して決定する。次いでステップS23にて、選択された合成チャンネルに各波形データパーツにおいて選択されたベクタデータ番号、要素データ値、時刻を指定し楽音波形を合成する準備が整えられる。これにより、Non-Joint奏法処理は終了し、楽音波形合成処理にリターンされる。このように、Non-Joint奏法処理の他の例においては合成中の楽音波形をフェードアウトさせて終了させることにより、その楽音を聴取した際に自然に聞こえるようにしている。
図8に示すNon-Joint奏法処理が実行される際に波形合成処理部34において合成される楽音波形の例を図9および図10を参照して説明する。
図9(a)に示すピアノロール譜は図6(a)に示すピアノロール譜と同様とされており、その楽譜通りに演奏された際に合成される図9(b)に示す楽音波形は、図6(b)に示す楽音波形においてジョイント(Joint)1がフェードアウトされていることだけで異なっている。そこで、このフェードアウトについてのみ説明すると、上述したように前音40とミスタッチ音41とをつなぐ際にはJoint系奏法処理が行われるが、ミスタッチ音41と後音42とをつなぐ際には図8に示すNon-Joint奏法処理が行われるようになる。これにより、前音40とミスタッチ音41との楽音波形がヘッド(Head)1、ボディ(Body)1、ジョイント(Joint)1の組み合わせにより合成されるようになり、後音42の楽音波形がヘッド(Head)2、ボディ(Body)2、テイル(Tail)2の組み合わせで合成されることが決定される。この場合、前述したようにミスタッチ音41の楽音波形はジョイント(Joint)2を合成することなくジョイント(Joint)1で終了するようになるが、終了するに際してジョイント(Joint)1がフェードアウトされて終了されるようになる。具体的には、時刻t4になるとフェードアウト波形g1により合成中のジョイント(Joint)1の振幅が制御されてフェードアウトされるようになる。他の楽音波形の波形合成処理については図6(b)における波形合成処理と同様とされているのでその説明は省略する。
また、図10(a)に示すピアノロール譜は図7(a)に示すピアノロール譜と同様とされており、その楽譜通りに演奏された際に合成される図10(b)に示す楽音波形は、図7(b)に示す楽音波形においてヘッド(Head)2がフェードアウトされていることだけで異なっている。そこで、このフェードアウトについてのみ説明すると、上述したようにミスタッチ音44と後音45とをつなぐ際には図8に示すNon-Joint奏法処理が行われるようになる。これにより、ミスタッチ音44の楽音波形がヘッド(Head)2により合成されるようになり、後音45の楽音波形がヘッド(Head)3、ボディ(Body)3、テイル(Tail)3の組み合わせで合成されることが決定される。この場合、ミスタッチ音44の楽音波形はジョイント(Joint)を合成することなくヘッド(Head)2で終了するようになるが、終了するに際してヘッド(Head)2がフェードアウトされて終了されるようになる。具体的には、時刻t4になるとフェードアウト波形g2により合成中のヘッド(Head)2の振幅が制御されてフェードアウトされるようになる。他の楽音波形の波形合成処理については図7(b)における波形合成処理と同様とされているのでその説明は省略する。
このように、図8に示すNon-Joint奏法処理が実行されると、楽音波形の合成が終了されるチャンネルにおいてフェードアウトされて終了されることから、そのチャンネルの楽音が自然な音で聞こえるようになる。
以上説明した本発明にかかる楽音波形合成装置は電子楽器に適用することができ、この場合、電子楽器は鍵盤楽器に限らず、弦楽器や管楽器、あるいは打楽器等どのようなタイプの楽器にも適用することができる。また、本発明にかかる楽音波形合成装置においては、楽音波形合成プログラムをCPUが実行することにより楽音波形合成部としたが、楽音波形合成部をハードウェアで構成してもよい。さらに、本発明にかかる楽音波形合成装置を自動演奏ピアノのような自動演奏装置などにも適用してよい。
以上の説明では、本発明にかかる楽音波形合成装置における波形データパーツには他の波形データパーツに接続するためのループ波形が付属されていたが、波形データパーツにループ波形を付属しないようにしても良い。この場合には、波形データパーツ同士をクロスフェードで接続すればよい。
本発明の実施例の楽音波形合成装置におけるハードウェア構成の一例を示すブロック図である。 本発明の楽音波形合成装置における波形データパーツの典型的な例を示す図である。 本発明の楽音波形合成装置において楽音波形合成処理を実行する機能を示すブロック図である。 本発明の楽音波形合成装置において実行される奏法決定処理のフローチャートである。 本発明の楽音波形合成装置における演奏合成処理部(アーティキュレータ)において実行されるNon-Joint奏法処理のフローチャートの一例である。 本発明の楽音波形合成装置において合成される楽音波形の一例を演奏される楽譜と対比して示す図である。 本発明の楽音波形合成装置において合成される楽音波形の他の例を演奏される楽譜と対比して示す図である。 本発明の楽音波形合成装置における演奏合成処理部(アーティキュレータ)において実行されるNon-Joint奏法処理のフローチャートの他の例である。 本発明の楽音波形合成装置において合成される楽音波形のさらに他の例を演奏される楽譜と対比して示す図である。 本発明の楽音波形合成装置において合成される楽音波形のさらに他の例を演奏される楽譜と対比して示す図である。 楽音波形合成装置において合成される楽音波形の一例を演奏される楽譜と対比して示す図である。 楽音波形合成装置において合成される楽音波形の他の例を演奏される楽譜と対比して示す図である。 楽音波形合成装置において合成される楽音波形のさらに他の例を演奏される楽譜と対比して示す図である。 従来の楽音波形合成装置において(a)に示す楽譜で演奏された際に合成される楽音波形を(b)に示す図である。 従来の楽音波形合成装置において(a)に示す楽譜で演奏された際に合成される楽音波形を(b)に示す図である。
符号の説明
1 楽音波形合成装置、10 CPU、11 ROM、12 RAM、13 操作子、14 検出回路、15 表示部、16 表示回路、17 波形取込部、18 波形出力部、19 サウンドシステム、20 ハードディスク、21 通信インタフェース、22 外部機器、23 通信バス、30 鍵盤/コントローラ、31 受信処理部、32 演奏解釈処理部(プレイヤー)、33 演奏合成処理部(アーティキュレータ)、34 波形合成処理部、35 奏法判定用パラメータ、36 奏法テーブル、37 ベクタデータ記憶手段

Claims (3)

  1. 演奏進行に応じて演奏イベント情報を取得する取得手段と、
    該演奏イベント情報に基づいて、楽音波形における開始波形部分、持続波形部分、終了波形部分と、2つの楽音をつなぐ部分とされる接続波形部分とされる波形データパーツを組み合わせて楽音波形を合成する楽音合成手段と、
    前記取得手段が前記演奏イベント情報を取得した際に、発音させようとする楽音と前音との2つの楽音の重なりを前記演奏イベント情報に基づいて検出する重なり検出手段と、
    前音の音長を供給された演奏イベント情報に基づいて求める音長測定手段と、
    前記重なり検出手段において重なりが検出された際に、前記音長測定手段で求められた前音の音長が所定の音長を超えるか否かを判定する判定手段とを備え、
    前記判定手段において、前記音長測定手段で求められた前音の音長が所定の音長を超えないと判定された場合は、後音のノートオンのタイミングから前記楽音合成手段が前音の楽音波形のフェードアウトを開始させると共に、発音させようとする楽音の楽音波形の合成を開始するようにし、前記音長測定手段で求められた前音の音長が所定の音長を超えると判定された場合は、前記楽音合成手段が前音の楽音に発音させようとする楽音をつなげるように、前音および発音させようとする楽音の楽音波形の合成を行うようにしたことを特徴とする楽音波形合成装置。
  2. 前記判定手段において、前記音長測定手段で求められた前音の音長が所定の音長を超えないと判定された場合に前記楽音合成手段が発音させようとする楽音の楽音波形の合成を開始する際には、前記開始波形部分の波形データパーツを用いて開始するようにしたことを特徴とする請求項1記載の楽音波形合成装置。
  3. 前記判定手段において、前記音長測定手段で求められた前音の音長が所定の音長を超えると判定された場合には、前記楽音合成手段が前音と発音させようとする楽音との楽音波形の合成前記接続波形部分の波形データパーツを用いて開始するようにしたことを特徴とする請求項1記載の楽音波形合成装置。
JP2005177859A 2005-06-17 2005-06-17 楽音波形合成装置 Expired - Fee Related JP4552769B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2005177859A JP4552769B2 (ja) 2005-06-17 2005-06-17 楽音波形合成装置
DE602006000117T DE602006000117T2 (de) 2005-06-17 2006-06-12 Musiktonwellenformsynthesizer
AT06115276T ATE373854T1 (de) 2005-06-17 2006-06-12 Musiktonwellenformsynthesizer
EP06115276A EP1734508B1 (en) 2005-06-17 2006-06-12 Musical sound waveform synthesizer
US11/453,577 US7692088B2 (en) 2005-06-17 2006-06-14 Musical sound waveform synthesizer
CN2006100925760A CN1881413B (zh) 2005-06-17 2006-06-16 乐音波形合成器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005177859A JP4552769B2 (ja) 2005-06-17 2005-06-17 楽音波形合成装置

Publications (2)

Publication Number Publication Date
JP2006350101A JP2006350101A (ja) 2006-12-28
JP4552769B2 true JP4552769B2 (ja) 2010-09-29

Family

ID=37519589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005177859A Expired - Fee Related JP4552769B2 (ja) 2005-06-17 2005-06-17 楽音波形合成装置

Country Status (2)

Country Link
JP (1) JP4552769B2 (ja)
CN (1) CN1881413B (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5217443B2 (ja) * 2007-01-09 2013-06-19 ヤマハ株式会社 楽音生成装置及びプログラム
US10635384B2 (en) * 2015-09-24 2020-04-28 Casio Computer Co., Ltd. Electronic device, musical sound control method, and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137486A (ja) * 1999-08-05 2000-05-16 Yamaha Corp 楽音信号発生装置
JP2001092463A (ja) * 1999-09-27 2001-04-06 Yamaha Corp 波形生成方法及び装置
JP2001092464A (ja) * 1999-09-27 2001-04-06 Yamaha Corp 楽音生成方法、楽音生成用データ記録方法および楽音生成用データを記録した記録媒体
JP2003216152A (ja) * 2001-11-19 2003-07-30 Yamaha Corp 楽音生成装置及び方法
JP2003241757A (ja) * 2002-02-19 2003-08-29 Yamaha Corp 波形生成装置及び方法
JP2003271142A (ja) * 2002-03-19 2003-09-25 Yamaha Corp 奏法表示編集装置及び方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59116B2 (ja) * 1978-05-09 1984-01-05 日本ビクター株式会社 電子楽器のサステイン効果発生回路
JPS61254991A (ja) * 1985-05-07 1986-11-12 カシオ計算機株式会社 電子楽器
US5905223A (en) * 1996-11-12 1999-05-18 Goldstein; Mark Method and apparatus for automatic variable articulation and timbre assignment for an electronic musical instrument
EP1258864A3 (en) * 2001-03-27 2006-04-12 Yamaha Corporation Waveform production method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000137486A (ja) * 1999-08-05 2000-05-16 Yamaha Corp 楽音信号発生装置
JP2001092463A (ja) * 1999-09-27 2001-04-06 Yamaha Corp 波形生成方法及び装置
JP2001092464A (ja) * 1999-09-27 2001-04-06 Yamaha Corp 楽音生成方法、楽音生成用データ記録方法および楽音生成用データを記録した記録媒体
JP2003216152A (ja) * 2001-11-19 2003-07-30 Yamaha Corp 楽音生成装置及び方法
JP2003241757A (ja) * 2002-02-19 2003-08-29 Yamaha Corp 波形生成装置及び方法
JP2003271142A (ja) * 2002-03-19 2003-09-25 Yamaha Corp 奏法表示編集装置及び方法

Also Published As

Publication number Publication date
CN1881413B (zh) 2010-12-15
CN1881413A (zh) 2006-12-20
JP2006350101A (ja) 2006-12-28

Similar Documents

Publication Publication Date Title
JP6011064B2 (ja) 自動演奏装置及びプログラム
JP6252088B2 (ja) 波形再生を行うためのプログラム、波形再生装置及び方法
JP6019803B2 (ja) 自動演奏装置及びプログラム
JP4274152B2 (ja) 楽音合成装置
JP4802857B2 (ja) 楽音合成装置及びプログラム
JP3915807B2 (ja) 奏法自動判定装置及びプログラム
JP4561636B2 (ja) 楽音合成装置及びプログラム
JP4552769B2 (ja) 楽音波形合成装置
JP2006126710A (ja) 奏法決定装置及びプログラム
JP4525481B2 (ja) 楽音波形合成装置
EP1734508B1 (en) Musical sound waveform synthesizer
JP4802947B2 (ja) 奏法決定装置及びプログラム
JP2004258564A (ja) スコアデータ編集装置、スコアデータ表示装置およびプログラム
JP6528752B2 (ja) 楽音再生装置、楽音再生方法、プログラムおよび電子楽器
JP4070315B2 (ja) 波形再生装置
JP6531432B2 (ja) プログラム、音源装置及び音響信号生成装置
JP4172509B2 (ja) 奏法自動判定装置及び方法
JP3173310B2 (ja) ハーモニー生成装置
JP4186802B2 (ja) 自動伴奏生成装置及びプログラム
JP3988668B2 (ja) 自動伴奏装置および自動伴奏プログラム
JP3637782B2 (ja) データ生成装置と記録媒体
JP6424501B2 (ja) 演奏装置及び演奏プログラム
JP2005010462A (ja) 自動演奏装置及び自動演奏処理プログラム並びに自動演奏パターンデータを記録したコンピュータ読み取り可能な記録媒体
JP2006133464A (ja) 奏法決定装置及びプログラム
JP2016051005A (ja) 自動伴奏装置及び自動伴奏プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090728

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090928

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: 20100622

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100705

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

Free format text: PAYMENT UNTIL: 20130723

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4552769

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees