JP4186851B2 - 演奏情報表示装置およびプログラム - Google Patents

演奏情報表示装置およびプログラム Download PDF

Info

Publication number
JP4186851B2
JP4186851B2 JP2004079084A JP2004079084A JP4186851B2 JP 4186851 B2 JP4186851 B2 JP 4186851B2 JP 2004079084 A JP2004079084 A JP 2004079084A JP 2004079084 A JP2004079084 A JP 2004079084A JP 4186851 B2 JP4186851 B2 JP 4186851B2
Authority
JP
Japan
Prior art keywords
data
sound
generation
period
musical
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
JP2004079084A
Other languages
English (en)
Other versions
JP2005266350A (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 JP2004079084A priority Critical patent/JP4186851B2/ja
Priority to US11/084,603 priority patent/US7291779B2/en
Publication of JP2005266350A publication Critical patent/JP2005266350A/ja
Application granted granted Critical
Publication of JP4186851B2 publication Critical patent/JP4186851B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H1/00Details of electrophonic musical instruments
    • G10H1/0008Associated control or indicating means
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/005Non-interactive screen display of musical or status data
    • G10H2220/015Musical staff, tablature or score displays, e.g. for score reading during a performance.
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2220/00Input/output interfacing specifically adapted for electrophonic musical tools or instruments
    • G10H2220/091Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith
    • G10H2220/101Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters
    • G10H2220/126Graphical user interface [GUI] specifically adapted for electrophonic musical instruments, e.g. interactive musical displays, musical instrument icons or menus; Details of user interactions therewith for graphical creation, edition or control of musical data or parameters for graphical editing of individual notes, parts or phrases represented as variable length segments on a 2D or 3D representation, e.g. graphical edition of musical collage, remix files or pianoroll representations of MIDI-like files
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10HELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
    • G10H2230/00General physical, ergonomic or hardware implementation of electrophonic musical tools or instruments, e.g. shape or architecture
    • G10H2230/025Computing or signal processing architecture features
    • G10H2230/041Processor load management, i.e. adaptation or optimization of computational load or data throughput in computationally intensive musical processes to avoid overload artifacts, e.g. by deliberately suppressing less audible or less relevant tones or decreasing their complexity

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Electrophonic Musical Instruments (AREA)

Description

本発明は、演奏データの表示技術に関する。
楽曲に含まれる楽音の音高および発音期間等を示すノートデータを複数含む演奏データを用いて、自動演奏装置に楽曲の自動演奏を行わせる技術がある。自動演奏装置に用いられる演奏データの内容表示や編集には、通常、オーサリングツールと呼ばれる装置が用いられる。
図17は、オーサリングツールにより演奏データの内容が表示されている様子を示す図である。図17に示される表示形式は、一般にピアノロール表示と呼ばれ、ピアノロール表示においてはノートバーと呼ばれる棒状の図形により、演奏データに含まれる各ノートデータの内容が示される。ピアノロール表示の上下方向は音高軸、左右方向は時間軸に対応しており、例えば、図17におけるノートバー1801は、音高がC3の楽音を、第1小節の1.5拍目から3拍目まで発音することを示すノートデータを表している。ピアノロール表示の可能なオーサリングツールにおいては、ユーザがノートバーの所定の位置をドラッグ等してその位置および長さを変更することにより、ノートデータの内容を変更することができる。
上記のピアノロール表示の技術を開示している文献として、例えば特許文献1がある。
特開2002−49371号公報
ところで、自動演奏装置が同時に発音可能な楽音の数には、自動演奏装置が有するプロセッサの能力、メモリ容量、データバスのデータ転送容量等(以下、「リソース」と呼ぶ)により上限がある(以下、その上限を「最大発音数」と呼ぶ)。自動演奏装置は、最大発音数を超える数の楽音の発音指示を受け取った場合、通常、現在発音中の楽音のうち最も早期に発音を開始したものの発音を中止し、その楽音の発音に用いられていたリソースを、新たに発音指示がなされた楽音の発音に割り当てる。このように、限られたリソースを異なる楽音の発音のために次々と割り当て直す技術は「DVA」(Dynamic Voice Allocation)と呼ばれる。
DVAによれば、先行する楽音の発音のために全てのリソースが使用されている場合に後続の楽音が発音されない、といった不都合が回避される。しかしながら、先行する楽音の発音が後続の楽音のために強制的に中止されてしまうと、かえって演奏が不自然となる場合がある。例えば、伴奏パートの楽音を発音するために、メロディパートの楽音の発音が中止されてしまう場合などである。そのような不都合をなくすために、演奏データの制作者は、通常、演奏データに最大発音数を超える楽音の発音指示が含まれていないかを確認し、必要に応じて重要度の低いものを削除等している。
しかし、オーサリングツールによりピアノロール表示形式で表示されるノートバーの時間軸方向の両端は、対応するノートデータのノートオンタイミングおよびノートオフタイミングを示しており、ノートバーにより示される期間は、自動演奏装置により発音される楽音の実際の発音期間とは、以下の理由により通常一致しない。
ピアノの鍵盤操作を用いて説明すると、ノートオンタイミングおよびノートオフタイミングは、それぞれ、鍵盤を押下するタイミングおよび鍵盤を押下していた指を鍵盤から離すタイミングに対応している。通常、ピアノの楽音は鍵盤から指が離された後も残響音部(以下、「リリース部」と呼ぶ)を有している。ピアノ以外の楽器の楽音も同様である。従って、自動演奏装置の多くは、ノートオフタイミングの後も暫くの間、リリース部を発音し続けるように設計されている。そして、リリース部の継続時間は音色、音高、音強等により異なる。
例えば、図17において、ノートバー1801に対応するノートデータのノートオフタイミングは第1小節の3拍目であるが、このノートデータに従い自動演奏装置により発音される楽音は、第1小節の3拍目以降も鳴り続けている可能性がある。
このように、オーサリングツールにおいて表示されるノートオンタイミングおよびノートオフタイミングは、実際に発音される楽音の発音期間を示すものではないため、演奏データの制作者は、演奏データの編集と再生を繰り返すことにより、演奏される発音が意図に反して途切れることがないかを確認する必要があった。例えば、図17において、ノートバー1801とノートバー1802の示す期間に重複部分はない。しかしながら、ノートバー1801に従って発音される楽音のリリース部の発音が、ノートバー1802に従った楽音を発音するために中止されてしまう可能性があるが、制作者はそのことを演奏データの再生以外の方法では確認することができなかった。なお、オーサリングツールの多くは、ピアノロール表示以外にスタッフ表示、リスト表示等の他の形式による演奏データの表示を行うことができるが、いずれの表示形式においても上記の事情は同じであった。
上記の状況に鑑み、本発明は、演奏データの制作者が、演奏データにより意図する自動演奏が行われるか否かを容易に確認可能とする手段を提供することを目的とする。
上記課題を達成するために、本発明は、楽曲演奏を構成する個々の楽音に関し、当該楽音の発音開始時期および発音終了時期を指定する発音指示データを含む演奏データを記憶する演奏データ記憶手段と、前記演奏データにおける発音指示データに対応した楽音の生成を楽音生成装置に指示した場合に当該楽音生成装置によって生成される楽音の生成期間を算出する生成期間算出手段と、前記演奏データに応じた楽音の生成において必要となる前記楽音生成装置のリソース量を、前記生成期間算出手段によって算出された前記楽曲演奏を構成する個々の楽音の生成期間に基づき算出する必要リソース量算出手段と、前記必要リソース量算出手段により算出された個々の時期において必要となるリソース量が、前記楽音生成装置が有するリソース量を上回る期間をリソースの不足期間として算出する不足期間算出手段と、前記不足期間算出手段によって算出されたリソースの不足期間を示す表示を行う表示手段とを具備することを特徴とする演奏情報表示装置を提供する。また、本発明は、楽曲演奏を構成する個々の楽音に関し、当該楽音の発音開始時期および発音終了時期を指定する発音指示データを含む演奏データを記憶する演奏データ記憶手段と、前記演奏データにおける発音指示データに対応した楽音の生成を楽音生成装置に指示した場合に当該楽音生成装置によって生成される楽音の生成期間を算出する生成期間算出手段と、前記演奏データに応じた楽音の生成において必要となる前記楽音生成装置のリソース量を、前記生成期間算出手段によって算出された前記楽曲演奏を構成する個々の楽音の生成期間に基づき算出する必要リソース量算出手段と、前記必要リソース量算出手段により算出された個々の時期において必要となるリソース量が、前記楽音生成装置が有するリソース量を上回ることにより、前記楽曲演奏を構成する個々の楽音のうち、前記楽音生成装置における楽音の生成が強制的に中止される楽音と当該楽音の生成が強制的に中止されることにより前記生成期間算出手段によって算出された当該楽音の生成期間から短縮される期間とを対応付けて短縮期間データとして算出する短縮期間算出手段と、前記短縮期間算出手段によって算出された短縮期間データが示す楽音と当該楽音に対応する期間とを示す表示を行う表示手段とを具備することを特徴とする演奏情報表示装置を提供する。このような構成の演奏情報表示装置によれば、ユーザは、演奏データによる発音指示が、楽音生成装置の発音能力を超えている期間を容易に確認することができる。
なお、本発明に係る演奏情報表示装置の好ましい態様として、前記演奏データは、前記楽曲演奏を構成する個々の楽音に関し、当該楽音の音量の時間的変化を指定する音量指示データをさらに含み、前記生成期間算出手段は、前記楽曲演奏を構成する1の楽音に関し、当該楽音に対応した音量指示データに基づき、当該楽音の生成期間を算出するように構成されていてもよい。このような構成の演奏情報表示装置によれば、ユーザは、演奏データに楽音の音量の時間的変化を指定するデータが含まれている場合であっても、演奏データの内容を確認すると同時に、その演奏データに応じて発音される楽音の実際の発音期間を容易に確認することができる。
また、本発明に係る演奏情報表示装置の好ましい態様として、前記表示手段は、前記楽曲演奏を構成する1の楽音に関し、当該楽音に対応した発音指示データによって指定される発音開始時期および発音終了時期を示す第1の表示を行うとともに、前記生成期間算出手段によって算出された当該楽音の生成期間の少なくとも終期を示す第2の表示を行うように構成されていてもよい。このような構成の演奏情報表示装置によれば、ユーザは、演奏データの内容を確認すると同時に、その演奏データに応じて発音される楽音の実際の発音期間を容易に確認することができる。
また、本発明に係る演奏情報表示装置の他の好ましい態様として、前記表示手段は、前記楽曲演奏を構成する1の楽音に関し、当該楽音の音量の時間的変化を示すエンベロープを表示することにより前記第2の表示を行うように構成されていてもよい。このような構成の演奏情報表示装置によれば、ユーザは、演奏データに応じて発音される楽音が、それぞれの時点で実際にどの程度の音量で発音されるかを容易に確認することができる。
さらに、本発明は、コンピュータを、楽曲演奏を構成する個々の楽音に関し、当該楽音の発音開始時期および発音終了時期を指定する発音指示データを含む演奏データを記憶する演奏データ記憶手段と、前記演奏データにおける発音指示データに対応した楽音の生成を楽音生成装置に指示した場合に当該楽音生成装置によって生成される楽音の生成期間を算出する生成期間算出手段と、前記演奏データに応じた楽音の生成において必要となる前記楽音生成装置のリソース量を、前記生成期間算出手段によって算出された前記楽曲演奏を構成する個々の楽音の生成期間に基づき算出する必要リソース量算出手段と、前記必要リソース量算出手段により算出された個々の時期において必要となるリソース量が、前記楽音生成装置が有するリソース量を上回る期間をリソースの不足期間として算出する不足期間算出手段と、前記不足期間算出手段によって算出されたリソースの不足期間を示す表示を行う表示手段として機能させるためのプログラムを提供する。また、本発明は、コンピュータを、楽曲演奏を構成する個々の楽音に関し、当該楽音の発音開始時期および発音終了時期を指定する発音指示データを含む演奏データを記憶する演奏データ記憶手段と、前記演奏データにおける発音指示データに対応した楽音の生成を楽音生成装置に指示した場合に当該楽音生成装置によって生成される楽音の生成期間を算出する生成期間算出手段と、前記演奏データに応じた楽音の生成において必要となる前記楽音生成装置のリソース量を、前記生成期間算出手段によって算出された前記楽曲演奏を構成する個々の楽音の生成期間に基づき算出する必要リソース量算出手段と、前記必要リソース量算出手段により算出された個々の時期において必要となるリソース量が、前記楽音生成装置が有するリソース量を上回ることにより、前記楽曲演奏を構成する個々の楽音のうち、前記楽音生成装置における楽音の生成が強制的に中止される楽音と当該楽音の生成が強制的に中止されることにより前記生成期間算出手段によって算出された当該楽音の生成期間から短縮される期間とを対応付けて短縮期間データとして算出する短縮期間算出手段と、前記短縮期間算出手段によって算出された短縮期間データが示す楽音と当該楽音に対応する期間とを示す表示を行う表示手段として機能させるためのプログラムを提供する。このような構成のプログラムによれば、ユーザはコンピュータを用いて、演奏データによる発音指示が、楽音生成装置の発音能力を超えている期間を容易に確認することができる。
本発明に係る演奏情報表示装置およびプログラムによれば、演奏データの制作者は、自動演奏装置が演奏データに従い発音する楽音に関し、その実際の発音期間を容易に確認することができる。従って、自動演奏装置により演奏データの制作者の意図に反した演奏が行われる、という不都合が回避される。
[1.実施形態]
[1.1.構成]
図1は、この発明の一実施形態にかかる演奏情報表示機能を備え、さらに演奏データの編集および再生を行う装置(以下、「オーサリングツール10」と呼ぶ)を実現するコンピュータ1の構成を示したブロック図である。コンピュータ1は、一般的なコンピュータと同様に、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HD(Hard Disk)104、ディスプレイ105、キーボード106およびマウス107を有している。なお、コンピュータ1は発振器(図略)を有しており、CPU101、楽音生成部108、サウンドシステム109等は発振器から共通のクロック信号を取得することにより、基準時点からの経過時間を正確に算出可能であるとともに、構成部間の同期処理を行うことが可能である。
コンピュータ1は、さらに、楽音を示すデジタルオーディオデータを生成するDSP(Digital Signal Processor)である楽音生成部108、D/A(Digital to Analog)コンバータおよびアンプ等を備え楽音生成部108により生成されたデジタルオーディオデータをアナログオーディオ信号に変換して出力するサウンドシステム109、サウンドシステム109により出力されたアナログオーディオ信号を音として発音するスピーカ110、そして各種の外部機器との間でデータの送受信を行うデータ入出力I/F(Interface)111を有している。
楽音生成部108は、CPU101の指示に従い、HD104等に記憶されている波形データや音色パラメータデータ等の音色データを用いて各種の楽音を示すデジタルオーディオデータを生成する。楽音生成部108は、CPU101からの指示の内容およびHD104等に記憶されている音色データの内容に応じて、FM(Frequency Modulation)音源方式、PCM(Pulse Code Modulation)音源方式、物理モデル音源方式等の様々な方式によってデジタルオーディオデータの生成を行うことができる。ただし、以下の例においては、楽音生成部108がFM音源方式によりデジタルオーディオデータを生成する場合を説明する。また、楽音生成部108は同時に最大16のオペレータを備え、それらのオペレータを2つもしくは4つ組み合わせることにより、1つの楽音を生成する。
データ入出力I/F111は、MIDI(Musical Instrument Digital Interface)、USB(Universal Serial Bus)、有線LAN(Local Area Network)、無線LAN等の各種のデータ送受信規格に従ったI/F機能を備えており、図1は、MIDI楽器201、携帯電話202および楽曲配信サーバ203がデータ入出力I/F111に接続されている様子を例示している。また、コンピュータ1において、サウンドシステム109およびスピーカ110以外の構成部はバス112を介して接続されており、相互にデータの送受信が可能である。
CPU101は、HD104に記憶された特定のアプリケーションを実行することにより、本実施形態にかかるオーサリングツール10としての機能を実現する。図2は、オーサリングツール10の機能構成を示したブロック図である。ただし、オーサリングツール10が備える演奏データの編集および再生に関する機能構成については、一般的なオーサリングツールの機能と同様であるため、図2においては省略されている。
操作部301は、キーボード106およびマウス107により実現され、ユーザがオーサリングツール10に対し指示を与える際に用いられる。演奏データ記憶部302および音色データ記憶部306は、ROM102もしくはHD104により実現され、それぞれ演奏データおよび音色データを記憶する。
演奏データは、各楽音の発音等を指示するノートデータ、各楽器パートの楽音に関し音量等の変更を指示するチャンネルイベントデータ、そして全ての楽音に関し音量等の変更を指示するソングイベントデータから構成されている。なお、一般的に「チャンネル」とは演奏データを複数のグループに区分した各グループを指す言葉であり、必ずしも1つのチャンネルに1つの楽器パートが対応付けられる必要はないが、以下の説明においては、各チャンネルは各楽器パートに1対1で対応付けられているものとする。
図3は、演奏データに含まれるノートデータの例をリスト表示形式で示した図である。リストの各行により示される各ノートデータは、各ノートデータを識別するためのノートデータ番号、楽音が属するチャンネルを示すチャンネル番号、楽音の音高を示す音高指示データ、楽音の発音指示の期間を示す発音指示データおよび楽音の強さ、すなわちベロシティを示すベロシティデータを含んでいる。また、発音指示データは、楽音のノートオンタイミングを示すノートオンタイミングデータと、楽音のノートオフタイミングを示すノートオフタイミングデータから構成されている。
音高指示データは、「C2」、「D#4」、「B♭3」等のアルファベット、記号および数値の組合せにより表現される。発音指示データは、小節番号、拍番号および拍中のタイミングを示す3つの数値の組合せによりノートオンタイミングおよびノートオフタイミングを示す。例えば、図3に示されるノートデータ番号「1」のノートデータ(以下、「ノートデータ1」のように呼ぶ)のノートオンタイミングデータは「1:1:001」であり、第1小節の第1拍の先頭から、1単位時間だけ経過後のタイミングを示している。ここで、単位時間とは、1分間を、後述するソングイベントデータにより指定される分解能とテンポを乗じた数で除した時間である。なお、リストにおいて、ノートデータはノートオンタイミングの早い順に並べられている。ベロシティデータは、0〜127のいずれかの整数値であり、数値が大きいほど楽音の音強が強いことを示す。ベロシティデータは、楽音の音量を指示する音量指示データの一種であるが、各楽音に対し1つ与えられる。
図4は、演奏データに含まれるチャンネルイベントデータの例をリスト表示形式で示した図である。リストの各行により示されるチャンネルイベントデータは、各チャンネルイベントデータを識別するためのイベント番号、音量等の変更タイミングを示す変更タイミングデータ、変更指示の対象のチャンネルを示すチャンネル番号、変更指示の内容を示すタイプデータ、変更後の音量等の値を示すバリューデータおよびバリューデータにより示される内容をテキストで示す備考データを含んでいる。変更タイミングデータの形式は、上記のノートオンタイミングデータの形式と同様である。
本実施形態において、タイプデータとしては、「チャンネルボリューム」、「エクスプレッション」および「音色」の3種類が用いられる。「チャンネルボリューム」および「エクスプレッション」は、そのチャンネルイベントデータが、チャンネル単位の音量変更指示を行うデータであることを示す。タイプデータが「チャンネルボリューム」もしくは「エクスプレッション」であるチャンネルイベントデータは、ともにチャンネル単位で楽音の音量を指示する音量指示データの一種であるが、「エクスプレッション」は、主として抑揚等の部分的な音楽表現に用いられる点で、「チャンネルボリューム」とは異なる。タイプデータが「チャンネルボリューム」もしくは「エクスプレッション」である場合のバリューデータは、変更後の音量を示す0〜127のいずれかの整数値であり、数値が大きいほど楽音の音量が大きいことを示す。また、タイプデータが「音色」であるチャンネルイベントデータは、音色の指定および変更を指示する音色指示データであり、そのバリューデータは、各音色に対応する1〜128のいずれかの整数値である。その場合、備考データには、バリューデータに対応する音色の名称が示される。なお、リストにおいて、チャンネルイベントデータは変更タイミングの早い順に並べられている。
図5は、演奏データに含まれるソングイベントデータの例をリスト表示形式で示した図である。リストの各行により示されるソングイベントデータは、各ソングイベントデータを識別するためのイベント番号、音量等の変更タイミングを示す変更タイミングデータ、変更指示の内容を示すタイプデータおよび変更後の音量等の値を示すバリューデータを含んでいる。変更タイミングデータの形式は、上記のノートオンタイミングデータの形式と同様である。本実施形態において、ソングイベントデータのタイプデータとしては、「拍子」、「分解能」、「テンポ」および「マスターボリューム」の4種類が用いられる。「拍子」は、そのソングイベントデータが楽曲の拍子の指定および変更を指示するデータであることを示す。「分解能」は、そのソングイベントデータが、1拍に含まれる単位時間の数の指定および変更を指示するデータであることを示す。「テンポ」は、そのソングイベントデータが、楽曲のテンポを1分間に含まれる拍数により指定し、もしくは変更を指示するデータであることを示す。
タイプデータが「拍子」、「分解能」もしくは「テンポ」であるソングイベントデータは、それぞれ、楽曲における各種タイミングの決定に用いられるデータであり、以下、「タイミング基本データ」と呼ぶ。「マスターボリューム」は、そのソングイベントデータが、楽曲全体の音量の指定および変更を指示するデータであることを示す。タイプデータが「マスターボリューム」であるソングイベントデータは音量指示データの一種であり、そのバリューデータは、ベロシティデータと同様に音量を示す0〜127のいずれかの整数値である。
図6は、音色データ記憶部306が記憶する音色データの例を示した図である。リストの各行により示される音色データは、各音色データを識別するための音色番号、各オペレータ間の信号の入出力関係、すなわちアルゴリズムを示すアルゴリズムデータ、アルゴリズムデータにより示されるアルゴリズムの実行に必要なオペレータ数、そして各オペレータに関し、その出力レベルの時間的変化を特定するためのパラメータ群である出力レベルパラメータ群を含んでいる。
音色番号は、タイプデータが「音色」であるチャンネルイベントデータのバリューデータと1対1で対応しており、例えば音色番号「74」の音色データ(以下、「音色データ74」のように呼ぶ)はフルートの音色を示す。アルゴリズムデータにおいて示される各ボックスはオペレータを示す。例えば、音色データ1におけるアルゴリズムにおいて、オペレータ2はキャリア、オペレータ1はオペレータ2に対し変調をかけるモジュレータを示している。なお、アルゴリズムデータにより示されるアルゴリズムの内容は、一般的なFM音源におけるものと同様であるので、その説明を省略する。
オペレータ数は、2または4のいずれかである。音色データは、オペレータ数が2の場合はオペレータ1および2のそれぞれに関し、またオペレータ数が4の場合はオペレータ1〜4のそれぞれに関し、出力レベルパラメータ群を有している。出力レベルパラメータ群は、出力レベルの時間的変化を示すエンベロープ(以下、「ADSRエンベロープ」と呼ぶ)の基本形状を決定するためのパラメータ群と、音高に応じてADSRエンベロープの基本形状に対し修正を加えるためのパラメータ群を含んでいる。
出力レベルパラメータ群に含まれるトータルレベルTL、サスティーンレベルSL、アタックレートAR、ディケイレートDR、サスティーンレートSRおよびリリースレートRRは、ADSRエンベロープの基本形状を決定するためのパラメータである。図7は、それぞれのパラメータにより決定されるADSRエンベロープの基本形状を示した図であり、横軸が時間、縦軸が出力レベルを示している。トータルレベルTLおよびサスティーンレベルSLは、出力レベルを示し、アタックレートAR、ディケイレートDR、サスティーンレートSRおよびリリースレートRRは、出力レベルの時間的変化率の絶対値(以下、「レート」と呼ぶ)を示している。なお、図6においては、トータルレベルTLは0〜63、サスティーンレベルSL、アタックレートAR、ディケイレートDR、サスティーンレートSRおよびリリースレートRRは0〜15のいずれかの整数値である場合のデータ例が示されており、それらの数値は大きいほどレベルもしくはレートが大きいことを示す。
出力レベルパラメータ群に含まれるレベルキースケールKSLおよびレートキースケールKSRは、音高に応じてADSRエンベロープの基本形状に修正を加えるためのパラメータである。通常、楽器が発する楽音は、音高が高くなるに従い、発音される音のレベルが低くなり、またレベルの時間的変化が速くなる。レベルキースケールKSLは、音高の変化に伴いADSRエンベロープのレベルを変化させる場合の変化の程度を指定するパラメータであり、0〜3のいずれかの整数値である。図8は、レベルキースケールKSLの値のそれぞれに応じて、音高とレベルの減衰量(dB)との関係が変化する様子を模式的に例示したグラフであり、横軸が音高、縦軸が減衰量を示している。同様に、レートキースケールKSLは、音高の変化に伴いADSRエンベロープのレートを変化させる場合の変化の程度を指定するパラメータであり、0〜3のいずれかの整数値である。図9は、レートキースケールKSRの値のそれぞれに応じて、音高とレートの増加率との関係が変化する様子を模式的に例示したグラフであり、横軸が音高、縦軸が増加率を示している。
なお、各オペレータに関するパラメータは上記の出力レベルパラメータ群に限られず、例えばビブラート等の音響効果の付加に関するパラメータを含むようにしてもよい。また、以下の説明において、各オペレータが出力する信号の波形は全て正弦波であり、またフィードバック変調度は例えばπ/4で固定されているものとするため、音色データは波形およびフィードバック変調度に関するパラメータを含まないが、これらのパラメータを音色データに含ませるようにしてもよい。
図2に戻り、オーサリングツール10の構成部の説明を続ける。演奏データ処理部303および音色データ処理部307は、CPU101およびCPU101のワークエリアとして用いられるRAM103により実現され、それぞれ演奏データおよび音色データを演奏データ記憶部302および音色データ記憶部306から読み出し、必要な加工を施して出力する。
生成期間算出部308は、CPU101、楽音生成部108およびそれらのワークエリアとして用いられるRAM103により実現され、楽音生成部108が演奏データに応じて楽音を示すデジタルオーディオデータを生成する場合の、デジタルオーディオデータの生成期間、すなわち楽音が実際に発音される期間を示す生成期間データを、演奏データおよび音色データに基づき生成する。必要リソース量算出部309は、CPU101およびCPU101のワークエリアとして用いられるRAM103により実現され、音色データおよび生成期間データを用いて、楽音の発音に要するリソース量を算出する。不足期間算出部310もまた、CPU101およびCPU101のワークエリアとして用いられるRAM103により実現され、楽音の発音に要するリソース量と楽音生成部108のリソース量を比較し、発音されるべき楽音がリソース不足のために発音されない期間を算出し、その結果を不足期間データおよび短縮期間データとして生成する。
表示処理部304は、CPU101およびCPU101のワークエリアとして用いられるRAM103により実現され、生成期間データ、不足期間データおよび短縮期間データの内容を、演奏データの内容とともに表示するための画像データを生成する。表示部305は、ディスプレイ105により実現され、表示処理部304により生成された画像データに基づき、画面の表示を行う。
上述したオーサリングツール10の備える各構成部の機能および各データの利用方法の詳細については、説明の重複を避けるため以下の動作説明において併せて説明する。なお、本実施形態においては、上述したように、オーサリングツール10はコンピュータ1がアプリケーションを実行することにより実現されるものとするが、図2に示した各構成部の機能をそれぞれ実行可能なプロセッサ等の組合せにより構成された専用のハードウェアとして実現されてもよい。
[1.2.動作]
図10は、オーサリングツール10の表示部305に、図3、図4および図5に例示した演奏データをピアノロール表示させた場合の画面を例示した図である。ただし、図10においては、演奏データのうち音高指示データおよび発音指示データに関する情報のみが表示されている。また、図10において各ノートバーの上に示される数字は、各ノートバーに対応するノートデータのノートデータ番号を示しており、実際の画面には表示されなくてもよい。また、図10においてチャンネル1のノートデータを示すノートバーは黒、チャンネル2のノートデータを示すノートバーは白で表示されている。ユーザは、画面下部の「ファイル名」欄に演奏データのファイル名を入力し、「開く」ボタンをクリックすることにより、希望する演奏データの内容をピアノロール表示させることができる。また、ユーザは、「スタッフ表示」ボタンをクリックすることにより、同じ演奏データの内容をスタッフ表示形式(楽譜表示形式)で表示させることもできる。
演奏データ処理部303および表示処理部304は、演奏データが表示部305により表示されている場合、ノートバーもしくは音符の表示位置とノートデータの対応関係、コマンドボタンの表示位置とその機能の対応関係等を示すデータを一時的に記憶しており、例えばユーザにより特定のノートバーやコマンドボタンがクリックされると、その位置を示す位置データに基づき、ユーザにより指定されたノートデータや機能を特定することができる。これらのオーサリングツール10による演奏データの表示等の動作は従来技術によるものと同様であるので、その説明を省略する。
オーサリングツール10は、従来技術によるオーサリングツールと異なり、ユーザにより指定されたノートデータに関し、楽音生成部108がそのノートデータに従った楽音を発音する際の実際の発音期間を示す表示を行う機能(以下、「発音期間表示機能」と呼ぶ)を有している。以下、オーサリングツール10により発音期間表示機能が提供される際の動作を、図2を参照しつつ説明する。
例えば、ユーザが図10に示されるノートバー1101に対応する楽音の実際の発音期間を知りたいとする。その場合、ユーザはノートバー1101を右クリックする。そのユーザの操作に応じて、操作部301は右クリックされたノートバー1101の位置を示す位置データを演奏データ処理部303および表示処理部304に送る(ステップS101およびS102)。表示処理部304は受け取った位置データに基づき、表示部305に、ノートバー1101の近傍に「エンベロープ表示」および「リリースバー表示」の選択肢を含むポップアップメニューを表示するように指示する(ステップS103)。
ここで、エンベロープ表示とは、図11の上段のように、楽音の波形のエンベロープを表示する態様である。一方、リリースバー表示とは、図11の下段のように、楽音のリリース部の継続期間を示す線(以下、「リリースバー」と呼ぶ)を表示する態様である。
表示部305は、表示処理部304の指示に従い、図10に示されるポップアップメニューを表示する。ユーザがポップアップメニューに対し、「エンベロープ表示」もしくは「リリースバー表示」を選択する操作を行うと、操作部301は選択された選択肢の位置を示す位置データを表示処理部304に送る(ステップS104)。表示処理部304は、受け取った位置データに基づき、ユーザにより「エンベロープ表示」および「リリースバー表示」のいずれが選択されたかを特定し、ユーザによる選択結果を示す選択結果データを一時的に記憶する。
一方、ステップS101においてノートバー1101の位置を示す位置データを受け取った演奏データ処理部303は、受け取った位置データに基づき、ノートデータ18が選択されたことを特定する。演奏データ処理部303は、演奏データ記憶部302から演奏データを読み出し(ステップS105)、まず、ノートデータ18(図3参照)に含まれる以下のデータを特定する。
<音高指示データ:「B3」>
<発音指示データ:ノートオンタイミング「2:2:006」>
<発音指示データ:ノートオフタイミング「2:2:477」>
続いて、演奏データ処理部303は、ノートデータ18に含まれるチャンネル番号「2」およびノートオンタイミング「2:2:006」に基づき、ノートデータ18に対応する音色指示データを特定する。すなわち、演奏データ処理部303は、チャンネルイベントデータ(図4参照)のうち、チャンネル番号が「2」であり、タイプデータが「音色」であり、変更タイミングデータにより示されるタイミングが「2:2:006」以前かつ最も遅いものを検索する。その結果、演奏データ処理部303は以下のデータを特定する。
<音色指示データ:「2」>
さらに、演奏データ処理部303は、ノートデータ18に含まれるノートオンタイミングデータ「2:2:006」およびノートオフタイミングデータ「2:2:477」に基づき、ソングイベントデータ(図5参照)のうち、タイプデータが「拍子」、「分解能」もしくは「テンポ」であるもの、すなわちタイミング基本データに関し、変更タイミングデータにより示されるタイミングが「2:2:006」以前かつ最も遅いもの(初期値)および「2:2:006」と「2:2:477」の間に含まれるものを検索する。その結果、演奏データ処理部303はノートデータ18に対応するタイミング基本データとして、以下のデータを特定する。
<タイミング基本データ:拍子「4/4」(初期値)>
<タイミング基本データ:分解能「480」(初期値)>
<タイミング基本データ:テンポ「80」(初期値)>
演奏データ処理部303は、上記のように音高指示データ、発音指示データ、音色指示データおよびタイミング基本データを特定すると、特定したデータを、ノートバー1101に対応するノートデータを識別するノートデータ番号「18」とともに、音色データ処理部307に送る(ステップS106)。
音色データ処理部307は、音高指示データ等を受け取ると、受け取った音色指示データ「2」に基づき、音色データ記憶部306から音色データ2(図6参照)を読み出す(ステップS107)。続いて、音色データ処理部307は、音色データ2により示される各オペレータに関し、レベルキースケールKSLの値に応じた音高とレベルの減衰量との関係(図8参照)に基づき、受け取った音高指示データ「B3」に対応する出力レベルの減衰量を特定する。音色データ処理部307は、特定した出力レベルの減衰量を示すデータ(以下、「減衰量データ」と呼ぶ)を一時的に記憶する。
同様に、音色データ処理部307は、音色データ2により示される各オペレータに関し、レートキースケールKSRの値に応じた音高とADSRエンベロープのレートの増加率との関係(図9参照)に基づき、受け取った音高指示データ「B3」に対応するレートの増加率を特定する。音色データ処理部307は、特定したレートの増加率を示すデータ(以下、「増加率データ」と呼ぶ)を一時的に記憶する。
音色データ処理部307は、以上の処理を完了すると、音色データ2に含まれるアルゴリズムデータ、各オペレータに関する出力レベルパラメータ群(レベルキースケールKSLおよびレートキースケールKSRを除く)、そして一時的に記憶した減衰量データおよび増加率データを、先に受け取ったノートデータ番号、音高指示データ、発音指示データおよびタイミング基本データとともに、生成期間算出部308に送る(ステップS108)。なお、音高指示データ、発音指示データおよびタイミング基本データは、ステップS108において音色データ処理部307から生成期間算出部308に送られる代わりに、ステップS106と同時に、演奏データ処理部303から生成期間算出部308に送られるようにしてもよい。
生成期間算出部308は、アルゴリズムデータ、出力レベルパラメータ群等のデータを受け取ると、受け取ったデータに基づき、楽音を示す波形データを生成する。生成期間算出部308はまず、アルゴリズムデータにより示される各オペレータに関し、トータルレベルTLおよびサスティーンレベルSLにより示される出力レベルから、減衰量データにより示される減衰量を減じたレベルを算出する。続いて、生成期間算出部308は、アタックレートAR、ディケイレートDR、サスティーンレートSRおよびリリースレートRRにより示されるレートを、増加率データにより示される増加率分だけ増加させる。
生成期間算出部308は、発音指示データにより示されるノートオンタイミングとノートオフタイミングを基準タイミングとして、上記のように減衰量データおよび増加率データにより修正を加えた出力レベルパラメータ群に基づき、ADSRエンベロープを生成する。その際、生成期間算出部308は、先に受け取ったタイミング基本データを用いて、ノートオンタイミングとノートオフタイミングを特定する。生成期間算出部308は生成したADSRエンベロープに従い、アルゴリズムデータにより示される各オペレータの出力レベルを時間的に変化させることにより、キャリアが生成する正弦波に音量および音色の時間的変化を加えた波形データを出力する。その際、各オペレータにより生成される正弦波の周波数は、音高指示データにより示される音高により決定される。以上のようにしてADSRエンベロープに基づき生成された波形データを、以下「標準波形データ」と呼ぶ。
続いて、生成期間算出部308は、生成した標準波形データのエンベロープ(以下、「標準波形エンベロープ」と呼ぶ)を生成する。すなわち、生成期間算出部308は標準波形データに対しローパスフィルタ処理等を行うことにより、標準波形データの振幅の包絡線を標準波形エンベロープとして算出する。なお、FM音源方式の場合、標準波形データのエンベロープはキャリアのADSRエンベロープとほぼ一致するので、標準波形データを生成することなく、キャリアのADSRエンベロープをそのまま標準波形エンベロープとして用いるようにしてもよい。
上記のように生成された標準波形エンベロープにより示される楽音の発音期間の終期は、キャリアのリリースレートRRが無限大でない限り、リリース部の長さだけ、ノートオフタイミングよりも遅くなる。以下、標準波形エンベロープにより示される発音期間の終期、すなわちリリース部の終期を「サウンドオフタイミング」と呼び、サウンドオフタイミングを示すデータを「サウンドオフタイミングデータ」と呼ぶ。以下、例として、ノートデータ18に対応するサウンドオフタイミングデータを「2:3:187」とする。
生成期間算出部308は、標準波形エンベロープを生成すると、生成した標準波形エンベロープのノートオンタイミングデータ、サウンドオフタイミングデータおよびノートデータ番号を演奏データ処理部303に送る(ステップS109)。演奏データ処理部303は、ノートオンタイミングデータ等のデータを受け取ると、受け取ったノートデータ番号に基づき、ノートデータ18(図3参照)に含まれるベロシティデータを、音量指示データとして以下のように特定する。
<音量指示データ:ベロシティ「58」>
また、演奏データ処理部303は、チャンネルイベントデータ(図4参照)のうち、チャンネル番号が「2」であり、タイプデータが「チャンネルボリューム」であり、変更タイミングデータにより示されるタイミングがノートオンタイミング「2:2:006」以前かつ最も遅いものを、ノートデータ18に対応するチャンネルボリュームの初期値を示すデータとして特定する。なお、この場合、特定されるチャンネルイベントデータは、イベント番号「17」のチャンネルイベントデータ(以下、「チャンネルイベントデータ17」のように呼ぶ)である。
<音量指示データ:チャンネルボリューム「105」(初期値)>
また、演奏データ処理部303は、チャンネルイベントデータのうち、チャンネル番号が「2」であり、タイプデータが「チャンネルボリューム」であり、変更タイミングデータにより示されるタイミングがノートオンタイミング「2:2:006」とサウンドオフタイミング「2:3:187」の間に含まれるものを検索する。その結果、演奏データ処理部303はノートデータ18に対応するチャンネルボリュームの変更を示すデータとして、以下のデータを特定する。なお、この場合、特定されるチャンネルイベントデータはチャンネルイベントデータ20である。
<音量指示データ:チェンネルボリューム「78」(変更タイミング「2:2:240」)>
続いて、演奏データ処理部303は、タイプデータが「エクスプレッション」であるチャンネルイベントデータに関しても、タイプデータが「チャンネルボリューム」であるチャンネルイベントデータと同様の処理を行い、ノートデータ18に対応するエクスプレッションの初期値および変更を示すデータとして、以下のデータを特定する。なお、この場合、チャンネルイベントデータ12および22が特定される。
<音量指示データ:エクスプレッション「83」(初期値)>
<音量指示データ:エクスプレッション「115」(変更タイミング「2:2:385」)>
さらに、演奏データ処理部303は、ソングイベントデータ(図5参照)のうち、タイプデータが「マスターボリューム」であるものに関して、上記の「チャンネルボリューム」および「エクスプレッション」に関するチャンネルイベントデータと同様の処理を行い、ノートデータ18に対応するマスターボリュームの初期値および変更を示すデータとして、以下のデータを特定する。なお、この場合、特定されるソングイベントデータは、イベント番号「6」および「7」のソングイベントデータである。
<音量指示データ:マスターボリューム「90」(初期値)>
<音量指示データ:マスターボリューム「98」(変更タイミング「2:2:315」)>
演奏データ処理部303は、上記のように各種の音量指示データを特定すると、特定した音量指示データをノートデータ番号とともに生成期間算出部308に送る(ステップS110)。生成期間算出部308は、各種の音量指示データを受け取ると、先に生成した標準波形エンベロープに対し、音量指示データに従った音量調整を施す。以下、音量指示データによる音量調整の施された波形エンベロープを「調整後波形エンベロープ」と呼ぶ。式1は、生成期間算出部308が任意の時点Pにおける標準波形エンベロープの値から、時点Pにおける調整後波形エンベロープの値を算出するための算出式の一例を示したものである。なお、式1は例示であり、他の様々な算出式が利用可能である。
式1・・・(時点Pにおける調整後波形エンベロープの値)=(時点Pにおける標準波形エンベロープの値)×(ベロシティ/127)×(チェンネルボリューム/127)×(エクスプレッション/127)×(マスターボリューム/127)。
図12は、式1により調整後波形エンベロープが生成される場合における、各種音量指示データ、標準波形エンベロープの値に乗算される比率(以下、「減衰率」と呼ぶ)、標準波形エンベロープおよび調整後波形エンベロープの関係を模式的に示した図である。すなわち、生成期間算出部308は、標準波形エンベロープの各時点における値に対し、各時点における減衰率を乗ずることにより、音量調整の施された楽音の波形エンベロープを示す調整後波形エンベロープを生成する。なお、生成期間算出部308は、上記のように標準波形エンベロープから調整後波形エンベロープを生成する代わりに、標準波形データに対し音量指示データに基づく音量調整を施し、音量調整後の波形データのエンベロープを調整後波形エンベロープとして生成するようにしてもよい。
生成期間算出部308は、上記のように調整後波形エンベロープを生成すると、生成した調整後波形エンベロープを、ノートデータ番号およびノートオンタイミングデータとともに表示処理部304に送る(ステップS111)。表示処理部304に送られる調整後波形エンベロープおよびノートオンタイミングデータは、楽音が実際に発音される期間、すなわち楽音生成部108により発音を示すデジタルオーディオデータの生成開始時期および生成終了時期を示す生成期間データとしての役割を果たす。表示処理部304は、受け取った調整後波形エンベロープおよびノートオンタイミングデータに基づき、エンベロープもしくはリリースバーを表示する時間軸方向の位置および長さを決定する。また、表示処理部304は、受け取ったノートデータ番号に基づき、エンベロープもしくはリリースバーを表示する音高軸方向の位置を決定する。
表示処理部304は、上記のように表示位置および長さの決定を行うと、表示部305に対し、先に一時的に記憶しておいた選択結果データが「エンベロープ表示」である場合には調整後波形エンベロープを、また選択結果データが「リリースバー表示」である場合にはリリースバーを、決定した表示位置に決定した長さで表示させる(ステップS112)。その結果、図10に示されるノートバー1101に対し、図11に示されるエンベロープ1102aもしくはリリースバー1102bが付加表示される。
以上のように、オーサリングツール10によりエンベロープもしくはリリースバーが表示される結果、ユーザは、ノートバー1101により示されるノートデータに従い自動演奏が行われた際の、実際の楽音の発音期間を容易に確認することができる。また、オーサリングツール10によりエンベロープが表示された場合、ユーザは楽音の発音期間に加え、楽音の音量の時間的変化を確認することもできる。
さらに、ユーザは図10に示されるオーサリングツール10の画面において、スタッフ表示形式により演奏データの内容が表示されている場合においても、実際の楽音の発音期間に関する情報を表示させることができる。図13は、オーサリングツール10により、あるノートデータを示す音符1401に対し、調整後波形エンベロープを示すエンベロープ1402aおよび調整後波形エンベロープのリリース部の期間を示すリリースバー1402bが表示される場合の表示態様を示した図である。なお、表示形式はピアノロール表示およびスタッフ表示に限られず、エンベロープやリリースバーを表示可能な時間軸を有する表示形式であれば、いずれの表示形式であってもよい。また、リリースバーの代わりに、サウンドオフタイミングを示すマークを示す等、他の形式により発音期間に関する情報を示すようにしてもよい。
また、上述した実施形態は、FM音源方式により生成される波形データを例として説明したが、オーサリングツール10は、各音源方式に応じて生成される波形データを上記の標準波形データとして用いることにより、いずれの音源方式の自動演奏装置により用いられる演奏データについても、同様にエンベロープ、リリースバー等の表示を行うことができる。
以上のように、本実施形態によれば、ユーザは上記のように各ノートデータにより発音される楽音の実際の発音期間を表示させることができるので、演奏データの再生時に発音される楽音の各時点における同時発音数を容易に知ることができる。従って、ユーザは自動演奏装置のリソース不足により楽音の発音が途中で強制的に中止されてしまう現象(以下、「音切れ」と呼ぶ)を予測することができ、意図せぬ演奏が行われることを防止することができる。そして、オーサリングツール10は、ユーザによる音切れの発見をより容易にするため、以下に説明する音切れチェック機能をさらに備えている。
ユーザは、音切れの有無を確認したいと思う場合、図10に示される画面において、「音切れチェック」ボタンをクリックする。そのユーザの操作に応じて、操作部301は「音切れチェック」ボタンの位置を示す位置データを演奏データ処理部303および表示処理部304に送る(ステップS201およびS202)。演奏データ処理部303および表示処理部304は受け取った位置データに基づき、音切れチェック機能の実行が指示されたことを特定する。
演奏データ処理部303は、音切れチェック機能の実行が指示されたことを特定すると、上述したステップS105以降の一連の処理を、演奏データに含まれる全てのノートデータに関し行う(ステップS105、S106およびS110)。演奏データ処理部303の処理に応じて、音色データ処理部307および生成期間算出部308もまた、上述した一連の処理を全てのノートデータに関して行う(ステップS107、S108、S109およびS111)。その結果、表示処理部304は、生成期間算出部308から、演奏データに含まれる全てのノートデータの各々に関し、調整後波形エンベロープおよびノートオンタイミングデータをノートデータ番号とともに受け取る。
音色データ処理部307は、上述したステップS107およびS108の処理に加え、各ノートデータの音色指示データに対応する音色データ(図6参照)に含まれるオペレータ数を、各ノートデータのノートデータ番号とともに必要リソース量算出部309に送る(ステップS203)。また、生成期間算出部308は、上述したステップS109およびS111の処理に加え、ステップS111において表示処理部304に送ったデータと同様のデータ、すなわち調整後波形エンベロープおよびノートオンタイミングデータを、各ノートデータのノートデータ番号とともに必要リソース量算出部309に送る(ステップS204)。
必要リソース量算出部309は、受け取った調整後波形エンベロープおよびノートオンタイミングデータに基づき、各ノートデータに関するサウンドオフタイミングを算出し、その結果をサウンドオフタイミングデータとして生成する。続いて、必要リソース量算出部309は、ノートデータ番号、ノートオンタイミングデータ、サウンドオフタイミングデータおよびオペレータ数を用いて、オペレータの不足による音切れの発生を検出するためのデータリスト(以下、「音切れ検出用データリスト」と呼ぶ)を生成する。図14は、必要リソース量算出部309により生成される音切れ検出用データリストを例示した図である。音切れ検出用データリストにおいて、各行のデータは、データを識別するための行番号、ノートデータ番号、ノートオンタイミングかサウンドオフタイミングかの区別を示すノートオン/サウンドオフ、新たに使用もしくは解放されるオペレータの数を示すオペレータ数、ノートオンタイミングもしくはサウンドオフタイミングを示すタイミングデータ、タイミングデータにより示されるタイミングにおいて発音が指示されているノートデータの番号を示す発音ノート番号、そして発音ノート番号により示されるノートデータにより発音を行う際に必要なオペレータの総数を示す総オペレータ数を含んでいる。なお、音切れ検出用データリストにおいて、各行のデータはタイミングの早い順に並んでいる。また、オペレータ数において、括弧が付されていないものは新たに使用されるオペレータ数を、また括弧が付されているものは新たに解放されるオペレータ数を示している。
必要リソース量算出部309は、音色データ処理部307および生成期間算出部308から受け取ったデータを整理することにより、音切れ検出用データリストにおけるノートデータ番号、ノートオン/サウンドオフ、オペレータ数およびタイミングデータの各項目のデータを生成する。続いて、必要リソース量算出部309は、ノートオン/サウンドオフが「ノートオン」であるデータ行に関しては、そのデータ行のノートデータ番号を1つ上のデータ行の発音ノート番号に加え、ノートオン/サウンドオフが「サウンドオフ」であるデータ行に関しては、そのデータ行のノートデータ番号を1つ上のデータ行の発音ノート番号から削除することにより、発音ノート番号のデータを生成する。また、必要リソース量算出部309は、オペレータ数に括弧が付されていないデータ行に関しては、そのデータ行のオペレータ数を1つ上のデータ行の総オペレータ数に加算し、オペレータ数に括弧が付されているデータ行に関しては、そのデータ行のオペレータ数を1つ上のデータ行の総オペレータ数から減算することにより、総オペレータ数のデータを生成する。必要リソース量算出部309は、上記のように生成したデータを含む音切れ検出用データリストを不足期間算出部310に送る(ステップS205)。
不足期間算出部310は、受け取った音切れ検出用データリストをオリジナルの音切れ検出用データリストとして一時的に記憶する。続いて、不足期間算出部310は音切れ検出用データリストに含まれる総オペレータ数が、利用可能なオペレータの数、すなわち、楽音生成部108において利用可能なオペレータの数である16を超えていないかを、行番号1のデータ行(以下、「データ1」のように呼ぶ)から下方向に順次、各データ行に関し判定する。図14のデータ例の場合、不足期間算出部310は、まず、データ13の総オペレータ数が16を超えていると判定する。その場合、不足期間算出部310は、データ13に含まれる発音ノート番号の最初に示されるノート番号「5」を特定する。このノート番号「5」は、オペレータ不足のためにノートデータ5により発音されている楽音の発音が中止されることを示している。従って、不足期間算出部310は、データ13から下方向に各データ行を参照しながら、ノートデータ番号が「5」であり、ノートオン/サウンドオフが「サウンドオフ」であるデータ行を検索する。この場合、データ14が検索される。不足期間算出部310は、データ14に含まれるタイミングデータを、データ13のタイミングデータの内容で変更した更新版の音切れ検出用データリストを作成する。
不足期間算出部310は、更新版の音切れ検出用データリストを必要リソース量算出部309に送る(ステップS206)。必要リソース量算出部309は、更新版の音切れ検出用データリストに含まれるデータについてタイミングによるソートを行った後、上述した発音ノート番号および総オペレータ数のデータ生成を再実行し、その結果を反映した更新版の音切れ検出用データリストを不足期間算出部310に送る(ステップS205)。必要リソース量算出部309および不足期間算出部310は、更新版の音切れ検出用データリストに含まれるいずれのデータ行に関しても、総オペレータ数が16以下となるまで、音切れ検出用データリストの受け渡し(ステップS205および206)およびデータの変更処理を繰り返す。図15は、必要リソース量算出部309および不足期間算出部310がデータの変更処理を終えた際の更新版の音切れ検出用データリストを例示した図である。図14に示したオリジナルの音切れ検出用データリストと比較し、図15に示した更新版の音切れ検出用データリストにおいては、データ14およびデータ39のタイミングデータがそれぞれ変更され、総オペレータ数がいずれのデータ行に関しても16以下となっている。
続いて、不足期間算出部310は、オリジナルの音切れ検出用データリストにおいて総オペレータ数が16を超えているデータ行を検索し、検索したデータ行およびそれに続くデータ行のタイミングデータに基づき、オペレータが不足する期間を示す不足期間データを、以下のように生成する。
<不足期間データ:「1:2:247」〜「1:2:432」>
<不足期間データ:「2:2:251」〜「2:3:152」>
さらに、不足期間算出部310は、更新版の音切れ検出用データリストをオリジナルの音切れ検出用データリストと比較することにより、発音期間が短縮されたノートデータ番号および短縮された発音期間を示す短縮期間データを、以下のように生成する。
<短縮期間データ:「5」,「1:2:432」→「1:2:247」>
<短縮期間データ:「17」,「2:3:168」→「2:2:251」>
不足期間算出部310は、上記のようにして生成した不足期間データおよび短縮期間データを表示処理部304に送る(ステップS207)。なお、必要リソース量算出部309および不足期間算出部310は、上記以外の方法、例えば各オペレータに対応するフラグをノートオンタイミングおよびサウンドオフタイミングに応じて上げ下げし、上がっているフラグの数をカウントする方法等により、不足期間データおよび短縮期間データを生成するようにしてもよい。
表示処理部304は、不足期間算出部310から不足期間データおよび短縮期間データを受け取ると、ステップS111において生成期間算出部308から受け取った各ノートデータに関する調整後波形エンベロープおよびノートオンタイミングデータと、必要リソース量算出部309から受け取った不足期間データおよび短縮期間データに基づき、表示部305に対し、各ノートデータに対応するノートバーに発音期間を示す線(以下、「発音期間バー」と呼ぶ)を付加するとともに、オペレータの不足期間を示す範囲の背景色を変更するように指示する(ステップS208)。その際、表示処理部304は、発音期間が短縮されたノートデータに関する発音期間バーについては、短縮期間に対応する部分を太く表示するように指示する。その結果、表示部305は、図10に示した画面の表示を図16に示す画面に変更する。
図16に示されるように、オーサリングツール10は、オペレータが不足する期間、そしてオペレータの不足により発音期間が短縮された部分を表示するため、ユーザは容易に音切れの発生を予測することができ、また音切れによる問題を解決するための対応策を発見することができる。なお、図16に示したオペレータの不足期間および発音の短縮期間の表示態様は例示であって、他の様々な表示態様が可能であることは言うまでもない。例えば、不足期間に対応する表示の色を変える代わりに、不足期間に発音される楽音に対応するノートバーの形状を変更したり、表示を点滅させる等の方法も考えられる。また、発音期間バーを表示する代わりに、エンベロープ等を表示させてもよいし、スタッフ表示形式等の他の表示形式において不足期間および短縮期間を表示させてもよい。
また、上記の実施形態においては、オペレータの数を自動演奏装置のリソース量の例として説明したが、オーサリングツール10は、他の種類のリソース量、例えば処理可能な波形データの総サイズ、DSPの処理速度等に関しても、それらに応じた条件によりリソース不足の判定を行うことにより、上記と同様にリソースの不足期間および短縮期間の表示を行うことができる。また、アルゴリズムに必要なオペレータの数を、例えば、「2」(または「4」)に固定し、総オペレータ数16に対して8個(または4個)の発音数(発音子)を持つものとし、その8個(または4個)の発音数(発音子)をリソース量として用いてもよい。
なお、上述したように、オーサリングツール10は演奏データの表示機能に加え、一般的なオーサリングツールと同様の演奏データの編集機能を備えており、オーサリングツール10は演奏データを変更すると、上記の演奏データの表示処理を再実行し、変更後の演奏データに応じて表示を更新する。さらに、オーサリングツール10は一般的なオーサリングツールと同様の演奏データの再生機能も備えており、ユーザの再生指示に応じて、演奏データに基づき楽音生成部108による自動演奏を行うこともできる。従って、ユーザは音切れによる問題を演奏データの編集により容易に解消することができるとともに、その結果を即座に確認することができる。
本発明の実施形態にかかるオーサリングツールを実現するコンピュータの構成を示したブロック図である。 本発明の実施形態にかかるオーサリングツールの機能構成を示したブロック図である。 本発明の実施形態を説明するためのノートデータを示した図である。 本発明の実施形態を説明するためのチャンネルイベントデータを示した図である。 本発明の実施形態を説明するためのソングイベントデータを示した図である。 本発明の実施形態を説明するための音色データを示した図である。 本発明の実施形態を説明するためのADSRエンベロープの基本形状を示した図である。 本発明の実施形態におけるレベルキースケールに応じた音高とレベルの減衰量との関係を模式的に示したグラフである。 本発明の実施形態におけるレートキースケールに応じた音高とレートの増加率との関係を模式的に示したグラフである。 本発明の実施形態にかかるオーサリングツールの表示部に表示される画面を例示した図である。 本発明の実施形態にかかるオーサリングツールの表示部に表示される発音期間の表示態様を例示した図である。 本発明の実施形態にかかる音量指示データ、減衰率、標準波形エンベロープおよび調整後波形エンベロープの関係を模式的に示した図である。 本発明の実施形態にかかるオーサリングツールの表示部に表示される発音期間の表示態様を例示した図である。 本発明の実施形態にかかる音切れ検出用データリストを例示した図である。 本発明の実施形態にかかる音切れ検出用データリストを例示した図である。 本発明の実施形態にかかるオーサリングツールの表示部に表示される画面を例示した図である。 従来技術におけるオーサリングツールの表示部に表示される画面を例示した図である。
符号の説明
1…コンピュータ、10…オーサリングツール、101…CPU、102…ROM、103…RAM、104…HD、105…ディスプレイ、106…キーボード、107…マウス、108…楽音生成部、109…サウンドシステム、110…スピーカ、111…データ入出力I/F、112…バス、201…MIDI楽器、202…携帯電話、203…楽曲配信サーバ、301…操作部、302…演奏データ記憶部、303…演奏データ処理部、304…表示処理部、305…表示部、306…音色データ記憶部、307…音色データ処理部、308…生成期間算出部、309…必要リソース量算出部、310…不足期間算出部。

Claims (7)

  1. 楽曲演奏を構成する個々の楽音に関し、当該楽音の発音開始時期および発音終了時期を指定する発音指示データを含む演奏データを記憶する演奏データ記憶手段と、
    前記演奏データにおける発音指示データに対応した楽音の生成を楽音生成装置に指示した場合に当該楽音生成装置によって生成される楽音の生成期間を算出する生成期間算出手段と、
    前記演奏データに応じた楽音の生成において必要となる前記楽音生成装置のリソース量を、前記生成期間算出手段によって算出された前記楽曲演奏を構成する個々の楽音の生成期間に基づき算出する必要リソース量算出手段と、
    前記必要リソース量算出手段により算出された個々の時期において必要となるリソース量が、前記楽音生成装置が有するリソース量を上回る期間をリソースの不足期間として算出する不足期間算出手段と、
    前記不足期間算出手段によって算出されたリソースの不足期間を示す表示を行う表示手段と
    を具備することを特徴とする演奏情報表示装置。
  2. 楽曲演奏を構成する個々の楽音に関し、当該楽音の発音開始時期および発音終了時期を指定する発音指示データを含む演奏データを記憶する演奏データ記憶手段と、
    前記演奏データにおける発音指示データに対応した楽音の生成を楽音生成装置に指示した場合に当該楽音生成装置によって生成される楽音の生成期間を算出する生成期間算出手段と、
    前記演奏データに応じた楽音の生成において必要となる前記楽音生成装置のリソース量を、前記生成期間算出手段によって算出された前記楽曲演奏を構成する個々の楽音の生成期間に基づき算出する必要リソース量算出手段と、
    前記必要リソース量算出手段により算出された個々の時期において必要となるリソース量が、前記楽音生成装置が有するリソース量を上回ることにより、前記楽曲演奏を構成する個々の楽音のうち、前記楽音生成装置における楽音の生成が強制的に中止される楽音と当該楽音の生成が強制的に中止されることにより前記生成期間算出手段によって算出された当該楽音の生成期間から短縮される期間とを対応付けて短縮期間データとして算出する短縮期間算出手段と、
    前記短縮期間算出手段によって算出された短縮期間データが示す楽音と当該楽音に対応する期間とを示す表示を行う表示手段と
    を具備することを特徴とする演奏情報表示装置。
  3. 前記演奏データは、前記楽曲演奏を構成する個々の楽音に関し、当該楽音の音量の時間的変化を指定する音量指示データをさらに含み、
    前記生成期間算出手段は、前記楽曲演奏を構成する1の楽音に関し、当該楽音に対応した音量指示データに基づき、当該楽音の生成期間を算出する
    ことを特徴とする請求項1または請求項2に記載の演奏情報表示装置。
  4. 前記表示手段は、前記楽曲演奏を構成する1の楽音に関し、当該楽音に対応した発音指示データによって指定される発音開始時期および発音終了時期を示す第1の表示を行うとともに、前記生成期間算出手段によって算出された当該楽音の生成期間の少なくとも終期を示す第2の表示を行う
    ことを特徴とする請求項1乃至請求項3のいずれかに記載の演奏情報表示装置。
  5. 前記表示手段は、前記楽曲演奏を構成する1の楽音に関し、当該楽音の音量の時間的変化を示すエンベロープを表示することにより前記第2の表示を行う
    ことを特徴とする請求項に記載の演奏情報表示装置。
  6. コンピュータを、
    楽曲演奏を構成する個々の楽音に関し、当該楽音の発音開始時期および発音終了時期を指定する発音指示データを含む演奏データを記憶する演奏データ記憶手段と、
    前記演奏データにおける発音指示データに対応した楽音の生成を楽音生成装置に指示した場合に当該楽音生成装置によって生成される楽音の生成期間を算出する生成期間算出手段と、
    前記演奏データに応じた楽音の生成において必要となる前記楽音生成装置のリソース量を、前記生成期間算出手段によって算出された前記楽曲演奏を構成する個々の楽音の生成期間に基づき算出する必要リソース量算出手段と、
    前記必要リソース量算出手段により算出された個々の時期において必要となるリソース量が、前記楽音生成装置が有するリソース量を上回る期間をリソースの不足期間として算出する不足期間算出手段と、
    前記不足期間算出手段によって算出されたリソースの不足期間を示す表示を行う表示手段
    として機能させるためのプログラム。
  7. コンピュータを、
    楽曲演奏を構成する個々の楽音に関し、当該楽音の発音開始時期および発音終了時期を指定する発音指示データを含む演奏データを記憶する演奏データ記憶手段と、
    前記演奏データにおける発音指示データに対応した楽音の生成を楽音生成装置に指示した場合に当該楽音生成装置によって生成される楽音の生成期間を算出する生成期間算出手段と、
    前記演奏データに応じた楽音の生成において必要となる前記楽音生成装置のリソース量を、前記生成期間算出手段によって算出された前記楽曲演奏を構成する個々の楽音の生成期間に基づき算出する必要リソース量算出手段と、
    前記必要リソース量算出手段により算出された個々の時期において必要となるリソース量が、前記楽音生成装置が有するリソース量を上回ることにより、前記楽曲演奏を構成する個々の楽音のうち、前記楽音生成装置における楽音の生成が強制的に中止される楽音と当該楽音の生成が強制的に中止されることにより前記生成期間算出手段によって算出された当該楽音の生成期間から短縮される期間とを対応付けて短縮期間データとして算出する短縮期間算出手段と、
    前記短縮期間算出手段によって算出された短縮期間データが示す楽音と当該楽音に対応する期間とを示す表示を行う表示手段
    として機能させるためのプログラム。
JP2004079084A 2004-03-18 2004-03-18 演奏情報表示装置およびプログラム Expired - Fee Related JP4186851B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004079084A JP4186851B2 (ja) 2004-03-18 2004-03-18 演奏情報表示装置およびプログラム
US11/084,603 US7291779B2 (en) 2004-03-18 2005-03-18 Performance information display apparatus and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004079084A JP4186851B2 (ja) 2004-03-18 2004-03-18 演奏情報表示装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2005266350A JP2005266350A (ja) 2005-09-29
JP4186851B2 true JP4186851B2 (ja) 2008-11-26

Family

ID=34984798

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004079084A Expired - Fee Related JP4186851B2 (ja) 2004-03-18 2004-03-18 演奏情報表示装置およびプログラム

Country Status (2)

Country Link
US (1) US7291779B2 (ja)
JP (1) JP4186851B2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4226313B2 (ja) * 2002-12-19 2009-02-18 株式会社ソニー・コンピュータエンタテインメント 楽音再生装置及び楽音再生プログラム
US20060155543A1 (en) * 2005-01-13 2006-07-13 Korg, Inc. Dynamic voice allocation in a vector processor based audio processor
KR200384379Y1 (ko) * 2005-02-24 2005-05-13 이필한 특별 표시 악보
US7767898B2 (en) * 2006-04-10 2010-08-03 Roland Corporation Display equipment and display program for electronic musical instruments
US7576280B2 (en) * 2006-11-20 2009-08-18 Lauffer James G Expressing music
FR2916566B1 (fr) * 2007-05-24 2014-09-05 Dominique David "systeme d'interpretation de musique preenregistre assiste par ordinateur"
US8471939B2 (en) 2008-08-01 2013-06-25 Omnivision Technologies, Inc. Image sensor having multiple sensing layers
US8907194B2 (en) * 2008-11-24 2014-12-09 Movea System for computer-assisted interpretation of pre-recorded music
JP6070010B2 (ja) * 2011-11-04 2017-02-01 ヤマハ株式会社 音楽データ表示装置および音楽データ表示方法
US8907195B1 (en) * 2012-01-14 2014-12-09 Neset Arda Erol Method and apparatus for musical training
WO2013134443A1 (en) * 2012-03-06 2013-09-12 Apple Inc. Systems and methods of note event adjustment
US9098679B2 (en) * 2012-05-15 2015-08-04 Chi Leung KWAN Raw sound data organizer
JP5783206B2 (ja) * 2012-08-14 2015-09-24 ヤマハ株式会社 音楽情報表示制御装置およびプログラム
JP6435791B2 (ja) * 2014-11-11 2018-12-12 ヤマハ株式会社 表示制御装置および表示制御方法
WO2018129732A1 (en) 2017-01-16 2018-07-19 Sunland Information Technology Co., Ltd. System and method for music score simplification
WO2019092791A1 (ja) * 2017-11-07 2019-05-16 ヤマハ株式会社 データ生成装置およびプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3632523B2 (ja) * 1999-09-24 2005-03-23 ヤマハ株式会社 演奏データ編集装置、方法及び記録媒体
JP3644352B2 (ja) * 2000-04-21 2005-04-27 ヤマハ株式会社 演奏情報編集装置及び演奏情報編集方法、並びに演奏情報編集プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3620423B2 (ja) 2000-08-07 2005-02-16 ヤマハ株式会社 楽曲情報入力編集装置
US7663044B2 (en) * 2002-09-04 2010-02-16 Kabushiki Kaisha Kawai Gakki Seisakusho Musical performance self-training apparatus
JP3823928B2 (ja) * 2003-02-27 2006-09-20 ヤマハ株式会社 スコアデータ表示装置およびプログラム

Also Published As

Publication number Publication date
JP2005266350A (ja) 2005-09-29
US7291779B2 (en) 2007-11-06
US20050204901A1 (en) 2005-09-22

Similar Documents

Publication Publication Date Title
US7291779B2 (en) Performance information display apparatus and program
US9536508B2 (en) Accompaniment data generating apparatus
JP6260191B2 (ja) 電子楽器、プログラム及び発音音高選択方法
US11417303B2 (en) Musical sound data reproduction device and musical sound data reproduction method
JP2009156914A (ja) 自動伴奏装置及びプログラム
US7838754B2 (en) Performance system, controller used therefor, and program
JP4525591B2 (ja) 演奏評価装置、及びプログラム
JP2007140067A (ja) 楽音発生装置、及びプログラム
JP2012185440A (ja) 楽音制御装置
US6777606B2 (en) Automatic accompanying apparatus of electronic musical instrument
JP4614307B2 (ja) 演奏データ処理装置及びプログラム
JP3637196B2 (ja) 音楽再生装置
JP6127549B2 (ja) 音楽データ編集方法、当該音楽データ編集方法を実現するためのプログラムおよび音楽データ編集装置
JP5200368B2 (ja) アルペジオ生成装置およびアルペジオ生成方法を実現するためのプログラム
JP4106798B2 (ja) 音源装置
JP2001013964A (ja) 演奏装置及びその記録媒体
JP4356509B2 (ja) 演奏制御データ編集装置およびプログラム
JP2001209382A (ja) 電子楽器の連打処理装置
JP7165512B2 (ja) カラオケ装置
JP2007212491A (ja) 楽音の発音制御装置および発音制御プログラム
JP2017129611A (ja) 電子音響装置
JP4186855B2 (ja) 楽音制御装置及びプログラム
JP4222257B2 (ja) 伴奏付加装置
JP3837994B2 (ja) 楽譜データ変換装置、及び記録媒体
CN117877459A (zh) 记录介质、音响处理方法以及音响处理***

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060623

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080513

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110919

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees