特許第6011219号(P6011219)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヤマハ株式会社の特許一覧

特許6011219オーディオファイル生成プログラム及びオーディオファイル生成装置
<>
  • 特許6011219-オーディオファイル生成プログラム及びオーディオファイル生成装置 図000002
  • 特許6011219-オーディオファイル生成プログラム及びオーディオファイル生成装置 図000003
  • 特許6011219-オーディオファイル生成プログラム及びオーディオファイル生成装置 図000004
  • 特許6011219-オーディオファイル生成プログラム及びオーディオファイル生成装置 図000005
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6011219
(24)【登録日】2016年9月30日
(45)【発行日】2016年10月19日
(54)【発明の名称】オーディオファイル生成プログラム及びオーディオファイル生成装置
(51)【国際特許分類】
   G10H 1/00 20060101AFI20161006BHJP
【FI】
   G10H1/00 102Z
【請求項の数】3
【全頁数】13
(21)【出願番号】特願2012-221709(P2012-221709)
(22)【出願日】2012年10月3日
(65)【公開番号】特開2014-74781(P2014-74781A)
(43)【公開日】2014年4月24日
【審査請求日】2015年8月20日
(73)【特許権者】
【識別番号】000004075
【氏名又は名称】ヤマハ株式会社
(74)【代理人】
【識別番号】100077539
【弁理士】
【氏名又は名称】飯塚 義仁
(74)【代理人】
【識別番号】100125265
【弁理士】
【氏名又は名称】貝塚 亮平
(72)【発明者】
【氏名】岡野 忠
(72)【発明者】
【氏名】山崎 卓麻
【審査官】 安田 勇太
(56)【参考文献】
【文献】 特開2006−267265(JP,A)
【文献】 特開2001−092450(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10H 1/00 − 1/46
(57)【特許請求の範囲】
【請求項1】
演奏データに基づき順次に再生される楽音を再現可能な、前記演奏データに対応したオーディオファイルを生成するオーディオファイル生成プログラムにおいて、
コンピュータに、
所与の時間長の演奏データを少なくとも2回以上連続して繰り返しみ出す手順と、
前記演奏データのみ出しに伴いオーディオデータを生成する手順であって、該手順は、ある音に後続する音にも影響を与える信号処理を行うものと
前記生成したオーディオデータに基づきオーディオファイルを生成する手順であって、該手順は、前記繰り返し読み出しの2回目以降に読み出された前記所与の時間長の演奏データに伴い生成したオーディオデータを記憶して前記所与の時間長のオーディオファイルを生成する制御を行うものと
を実行させるプログラム。
【請求項2】
モード選択に応じてファイル生成モードを切り替える手順をさらに含み、
前記オーディオファイル生成する手順は、前記ファイル生成モードの切り替えに応じて、前記繰り返し読み出しの1回目に読み出された前記所与の時間長の演奏データに伴い生成したオーディオデータを記憶して前記所与の時間長の第1のオーディオファイルを生成する制御、又は前記繰り返し読み出しの2回目以降に読み出された前記所与の時間長の演奏データに伴い生成したオーディオデータを記憶して前記所与の時間長の第2のオーディオファイルを生成する制御のいずれかに切り替えて制御を行うことを特徴とする請求項1に記載のプログラム。
【請求項3】
所与の時間長の演奏データを少なくとも2回以上連続して繰り返しみ出す読み出し手段と、
前記演奏データのみ出しに伴いオーディオデータを生成する生成手段であって、該生成手段は、ある音に後続する音にも影響を与える信号処理を行うものと、
前記生成したオーディオデータに基づきオーディオファイルを生成するファイル生成手段であって、該ファイル生成手段は、前記繰り返し読み出しの2回目以降に読み出された前記所与の時間長の演奏データに伴い生成したオーディオデータを記憶して前記所与の時間長のオーディオファイルを生成する制御を行うものと
を備えるオーディオファイル生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
この発明は、パーソナルコンピュータ等でのソフトウェアによる楽音合成に用いるのに好適なオーディオファイルを演奏データに基づいて生成するオーディオファイル生成プログラム、前記オーディオファイル生成プログラムにより実現されるオーディオファイル生成機能と同等の機能を少なくとも有するオーディオファイル生成装置に関する。特に、繰り返し再生し得る演奏データに対応したオーディオファイルを生成する技術に関する。
【背景技術】
【0002】
従来から、例えばMIDIデータ等の演奏データをオーディオデータに変換して記憶することにより、前記演奏データに基づき再生される楽音と同様の楽音を再生可能なオーディオファイルを生成する技術が知られている(例えば、下記に示す特許文献1参照)。これによれば、例えばオーディオデータのみを再生可能な機器であっても、前記生成したオーディオファイルを利用することで本来ならば再生できなかった前記演奏データに基づく楽音を再生することができる。なお、本明細書において「楽音」という場合、音楽的な音に限るものではなく音声あるいはその他任意の音を含んでいてもよい意味あいで用いるものとする。
【0003】
また、最近では、例えばスレート型のパーソナルコンピュータやスマートフォンなどの電子機器に、所定の音楽機能を実現する音楽アプリケーションソフトウェアプログラムをインストールしておき、該音楽アプリケーションを動作させることにより前記電子機器を単なる楽音再生可能な再生装置としてだけでなく、利用者(ユーザ)が電子音楽装置などとして楽しむことのできるようになっている。音楽アプリケーションの1例として、例えば利用者により選択され時系列に並べられた予め記憶済みの1〜複数小節からなるオーディオファイル(楽音テンプレートなどと呼ばれる)を繰り返しを含んで順に再生することによって、利用者がフレーズ演奏などを任意に作成することのできるようにしたものなどがある。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2000-338979号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
ところで、例えば最初に無音部分を有する4小節分の演奏データに基づいて4小節長の演奏パターンからなる楽音を繰り返し再生(ループ再生とも呼ぶ)するような場合、一般的に1回目の再生時においては始まりが無音状態で第1小節から発音が開始されて第4小節まで続く4小節長の演奏パターンの楽音が発音される。そして、2回目以降の繰り返し再生時においては、始まりが無音状態ではないが同様の4小節長の演奏パターン(つまり第5小節から第8小節、更には第9小節から第12小節など)の楽音が繰り返し発音されることがある。これは、演奏データの繰り返し再生の開始時において、最初の無音部分であった箇所(第5小節や第9小節などにおいて最初の音が鳴り始める前の箇所)については、先行して再生された楽音(第4小節や第8小節などにおける最後の音)のリリース部の時間的長さや付与された残響効果等の影響を受けることによる。勿論、最初が無音部分でない演奏データを繰り返し再生する場合であっても、2回目以降の繰り返し再生の開始時においては同様に、先行して再生された楽音のリリース部や残響部の影響を受けた楽音が発音されることになる。
【0006】
上述した従来技術では、例えば最初に一定時間の無音部分を有する4小節分の演奏データに対応するオーディオファイルを生成した場合、そのオーディオファイルは最初に無音部分を有する。この最初に無音部分を有するオーディオファイルを上述したような電子機器において楽音テンプレート(音素材)として利用する場合に、このオーディオファイルを繰り返し再生すると繰り返し再生の開始の度に音楽的に不自然に感じられる箇所がどうしても生じてしまう。
【0007】
このように、従来技術によって繰り返し再生し得る演奏データに基づき生成したオーディオファイルを繰り返し再生すると、繰り返しの度に先行して発音された楽音のリリース部や残響部を受けた楽音を生成すべきところを、リリース部や残響部の影響を受けていない状態の楽音が生成されてしまうことから、利用者はどうしても違和感を抱かざるを得ない、という問題があった。しかし、演奏データに基づき生成したオーディオファイルを繰り返し再生するときに、先行して再生された楽音のリリース部や残響部の影響を受けていない楽音の生成が繰り返されるという上記問題を解決するものは、未だ提案されていない。
【0008】
本発明は上述の点に鑑みてなされたもので、繰り返し再生し得る演奏データに基づき、繰り返し再生の開始時において先行して再生された楽音のリリース部や残響部の影響を受けた楽音を生成することが可能な、前記演奏データに対応したオーディオファイルを生成するオーディオファイル生成プログラム及びオーディオファイル生成装置を提供しようとするものである。
【課題を解決するための手段】
【0009】
本発明の請求項1に係るオーディオファイル生成プログラムは、演奏データに基づき順次に再生される楽音を再現可能な、前記演奏データに対応したオーディオファイルを生成するオーディオファイル生成プログラムにおいて、コンピュータに、所与の時間長の演奏データを少なくとも2回以上連続して繰り返しみ出す手順と、前記演奏データのみ出しに伴いオーディオデータを生成する手順であって、該手順は、ある音に後続する音にも影響を与える信号処理を行うものと、前記生成したオーディオデータに基づきオーディオファイルを生成する手順であって、該手順は、前記繰り返し読み出しの2回目以降に読み出された前記所与の時間長の演奏データに伴い生成したオーディオデータを記憶して前記所与の時間長のオーディオファイルを生成する制御を行うものとを実行させるためのプログラムである。
【0010】
本発明によると、所与の時間長の演奏データを少なくとも2回以上連続して繰り返しみ出すのにあわせて、該繰り返し読み出しに基づきオーディオデータを生成する。そして、繰り返し読み出しの2回目以降に読み出された前記所与の時間長の演奏データに伴い生成したオーディオデータを記憶することにより、前記演奏データに基づき順次に再生される楽音を再現可能な前記演奏データに対応した、前記所与の時間長のオーディオファイルを生成する。すなわち、演奏データを繰り返し読み出しすると、2回目以降の読み出しの開始時においては先行して生成された楽音のリリース部や残響部の影響を受けた楽音波形が生成されることから、本願発明ではこうしたリリース部や残響部の影響を受けた楽音が含まれる2回目以降に読み出された前記所与の時間長の演奏データに伴い生成したオーディオデータによって前記所与の時間長のオーディオファイルを生成するようにした。こうして生成された前記所与の時間長のオーディオファイルを繰り返し再生すると、繰り返しの度に先行して再生された楽音のリリース部や残響部の影響を受けた楽音を生成できるようになることから、従来見られたような先行して再生された楽音のリリース部や残響部の影響を受けていない楽音の生成が繰り返されるという問題を解消することができ、もって利用者は演奏データを繰り返し再生した場合と同様の楽音の再生をオーディオファイルを用いて実現することが容易にできるようになる。
【0011】
本発明の請求項3に係るオーディオファイル生成装置は、所与の時間長の演奏データを少なくとも2回以上連続して繰り返しみ出す読み出し手段と、前記演奏データのみ出しに伴いオーディオデータを生成する生成手段であって、該生成手段は、ある音に後続する音にも影響を与える信号処理を行うものと、前記生成したオーディオデータに基づきオーディオファイルを生成するファイル生成手段であって、該ファイル生成手段は、前記繰り返し読み出しの2回目以降に読み出された前記所与の時間長の演奏データに伴い生成したオーディオデータを記憶して前記所与の時間長のオーディオファイルを生成する制御を行うものとを備える。これによれば、利用者は演奏データを繰り返し再生した場合と同様に、先行して再生された楽音のリリース部や残響部の影響を受けた楽音の再生をオーディオファイルを用いて実現することが容易にできる。
【0012】
本発明は、コンピュータまたはDSP等のプロセッサのプログラムの発明として構成し実施することができるのみならず、そのようなプログラムを記憶した記憶媒体の形態で実施することができる。また、本発明は、方法の発明として構成し実施することもできる。
【発明の効果】
【0013】
本発明によれば、演奏データの2回目以降の読み出しに従って生成したオーディオデータを記憶して前記演奏データの1回の読み出しに基づき再生される楽音に対応した1回再生分のオーディオファイルを生成するようにしたことから、利用者は演奏データを繰り返し再生した場合と同様に、先行して再生された楽音のリリース部や残響部の影響を受けた楽音の再生を前記生成したオーディオファイルを用いて実現することが容易にできるようになる、という効果が得られる。
【図面の簡単な説明】
【0014】
図1】本発明に係るオーディオファイル生成プログラムの一実施例を示す機能ブロック図である。
図2】メイン処理の一実施例を示すフローチャートである。
図3】オーディオファイル生成処理の一実施例を示すフローチャートである。
図4】オーディオファイルの生成手順について説明するためのタイムチャートである。
【発明を実施するための形態】
【0015】
以下、この発明の実施の形態を添付図面に従って詳細に説明する。
【0016】
図1は、本発明に係るオーディオファイル生成プログラムの一実施例を示す機能ブロック図である。なお、オーディオファイル生成プログラムが実現する機能としては図1に示す以外の機能を有する場合もあるが、ここでは必要最小限の機能を有する場合について説明する。ここに示す図1においては、オーディオファイル生成プログラムにより実現される各種機能を楽音生成部Bとして示してある。
【0017】
オペレーティングシステム部A及び楽音生成部Bは、図示を省略したCPU、ROM 、RAMなどからなる独立したコンピュータで実行可能なプログラムにより実現される。本実施形態においては、楽音生成部Bを実現するアプリケーションソフトウェアプログラム(オーディオファイル生成プログラム)の起動及び終了、記憶部Cへの各種データの書き込みや読み出し、操作設定部Dからのユーザ操作に応じた各種設定、表示部Eにおけるデータ一覧画面(図示せず)などの各種画面表示などが、オペレーティングシステム部Aの制御の下に行われる。すなわち、オペレーティングシステム部Aは、CPU、ROM 、RAMや、後述する記憶部C、操作設定部D、表示部E等を備えた電子機器全体の動作を監視し制御する。
【0018】
記憶部Cは、オーディオファイルを生成する対象とされる演奏データや、それらの演奏データに基づき生成されたオーディオファイルなどの各種データ、オペレーティングシステム部Aにより起動及び終了制御される各種アプリケーションソフトウェアプログラム等を記憶する。記憶部Cはハードディスク等の外部記憶装置であってもよいし、フレキシブルディスク(FD)、コンパクトディスク(CD)、光磁気ディスク(MO)、DVD(Digital Versatile Diskの略)等の着脱自在な様々な形態の外部記憶媒体を利用する記憶装置であってもよい。若しくは、フラッシュメモリ等の不揮発の半導体メモリであってもよい。
【0019】
記憶部Cに記憶される演奏データは、例えばMIDIデータのような発音開始指示データ(ノートオンイベント)ならびに発音停止指示データ(ノートオフイベント)と時間データとの組み合わせよりなる演奏情報が、1乃至複数小節にわたって演奏進行順に配列されたデータである。あるいは、予め記憶済みの1〜複数小節からなるオーディオファイル(楽音テンプレート)を指し示す情報(例えば固有のファイル名など)と各オーディオファイルの発音開始時刻との組み合わせよりなる演奏情報が、演奏進行順に配列されたデータであってもよい。こうした演奏データは利用者が作成したもの、図示しない電子楽器あるいはインターネット等の通信ネットワークを介して接続されたサーバ装置等の外部機器から取得したものなどであってよい。なお、オーディオファイルを生成するために用いる演奏データを、記憶部Cに記憶された多数の中から利用者が任意に選択できるのは勿論である。
【0020】
設定操作部Dは、例えば所定のアプリケーションの実行に伴い表示部Eに表示された表示内容に従う各種制御を実現する機能が割り当てられた仮想操作子、あるいはスイッチなどの各種の物理操作子などである。表示部Eは、例えば液晶表示パネル(LCD)等で構成されたタッチパネル式のディスプレイである。なお、表示部Eのタッチパネル方式は公知のどのようなものであってもよく、前記液晶表示パネルは例えば静電容量型、抵抗膜型、光センサ内蔵型などどのようなタイプのものであってもよい。
【0021】
設定操作部Dには、記憶部Cに記憶済みの演奏データやオーディオファイルなどの選択、テンポの設定、演奏データに基づき生成するオーディオファイルの名称やループ長の設定、後述するファイル生成モードの選択、音高、音色、効果(例えば残響効果等)などの楽音制御パラメータの設定等を行う機能や、オーディオファイル生成の開始を指示する機能、さらにはアプリケーションを切り替える機能などが割り当てられ、こうした設定操作部Dが例えば利用者によりタッチ操作されることに応じて(仮想操作子の場合)、前記各機能に対応する制御を行う指示や該当する楽音制御パラメータなどを楽音生成部Bに出力する。前記テンポは、演奏データに基づき楽音を再生するために用いられるだけでなく、オーディオファイルを生成するためにも用いられる。すなわち、オーディオファイルの生成時において、音源部3によるオーディオデータ生成の際に用いられる仮想時間の進行は前記テンポに基づいて決定される。
【0022】
楽音生成部Bは、図1に示すようにシーケンサ部1、制御部2、音源部3(シンセサイザ部4、エフェクト部5、ミキシング部6を含む)に大きく分けることができる。後述するオーディオファイル生成プログラム(図2参照)の実行時において、シーケンサ部1は制御部2からの指示に応じて、後述の所定時間分だけ演奏データの読み出し位置を決めるカレントポジションを進行させて、記憶部Cから読み出された演奏データ8(設定操作部Dにより選択された演奏データであり、RAM等に一時記憶されている)中にノートオンやノートオフなどのイベントデータ(演奏情報)があれば、そのイベントデータを音源部3に出力する。
【0023】
この実施形態において、前記所定時間は例えば256サンプル分のオーディオデータを含むだけの時間であり、演奏データに基づいて逐次に生成される音響信号をデジタル化してオーディオデータに変換する際に用いる所定のサンプリング周波数に応じた時間である。例えばサンプリング周波数が「44.1kHz」であれば、所定時間は約5.8ミリ秒に相当する。なお、これは、オーディオデータを送受信するために用意したオーディオバッファ7のバッファサイズに比例する。つまり、サンプリング周波数が例えば「44.1kHz」であれば、オーディオバッファ7は約5.8ミリ秒(256サンプル)分のオーディオデータを格納することのできるサイズである。
【0024】
音源部3は、空きチャンネルを使って制御部2からの要求に応じてシーケンサ部1から送られる演奏情報に基づき256サンプル分ずつのオーディオデータを生成し、該生成した256サンプル分のオーディオデータを実時間(上記した所定時間、例えば約5.8ミリ秒)の経過を待つことなしに制御部2に出力する。この音源部3は、大きくシンセサイザ部4とエフェクト部5とミキシング部6とに分けられる。シンセサイザ部4は、複数のチャンネル毎にオーディオデータの同時生成が可能であり、シーケンサ部1から所定時間分のイベントデータが送られることに応じてオーディオデータを生成する。このとき、予め設定済みの各種パラメータや内部状態変数などを参照して適宜に信号処理を行ってオーディオデータを生成する。この実施形態においては、特に前記信号処理として例えば音のリリース部のエンベロープ制御処理など、後続する音も影響を受け得る信号処理が行われる。生成されたオーディオデータは、エフェクト部5に出力される。なお、音源部3の楽音合成方式は波形メモリ方式、FM方式、物理モデル方式、高調波合成方式、フォルマント合成方式等のどの方式を採用してもよく、またこれらの各種楽音合成方式のいずれを単独または複数を組み合わせたものであってもよい。
【0025】
エフェクト部5は、シーケンサ部1から送られるイベントデータに従ってあるいは設定操作部Dから適宜に入力されたイベントデータなどに従って、シンセサイザ部4によって生成されたオーディオデータに対し、予め設定済みの各種パラメータや内部状態変数などを参照して各種効果を付与する制御を行う。この実施形態においては、ディレイラインを用いてのエコーなどの残響効果を付与する。つまりは、後続する音にも影響を与え得る種類の効果が付与される。効果の付与されたオーディオデータは、ミキシング部6に出力される。
【0026】
ミキシング部6は、シーケンサ部1によって複数のチャンネル毎に生成されエフェクト部5から送られる複数のオーディオデータをミキシングする(これにより、繰り返し再生開始時に先行して再生された楽音のリリース部や残響部の影響を受けた楽音の生成が行われる)。
【0027】
制御部2は、音源部3に対して「256サンプル分のオーディオデータ」を要求する信号を随時に送信し、該要求に応じて音源部3から送られるオーディオデータを一時的に保持する(オーディオバッファ7参照)。すなわち、オーディオバッファ7には、256サンプル分のオーディオデータが一時的に記憶される。そして、制御部2は、オーディオバッファ7に記憶されている256サンプル分のオーディオデータを記憶部Cに用意されたオーディオファイルに追加記憶する。オーディオバッファ7からオーディオファイルに256サンプル分のオーディオデータが記憶される度にオーディオバッファ7はクリアされて、オーディオバッファ7には音源部3から送られる次の256サンプル分のオーディオデータが一時記憶されることになるこのようにして、オーディオバッファ7を介してオーディオファイルに256サンプル分のオーディオデータが次々に追加記憶されることにより、最終的には演奏データを1回再生した時に生成される楽音に対応した1回再生分のオーディオファイルが生成される。
【0028】
ただし、制御部2はファイル生成モードに応じて、演奏データの繰り返し読み出し時の1回目又は2回目のいずれかの読み出しに応じて生成されるオーディオデータをオーディオファイルに記憶する制御を行う(後述する図3参照)。このようにして、繰り返し再生(ループ再生)し得る演奏データに対応したオーディオファイルを生成するようにしている。
【0029】
なお、上記したシーケンサ部1や音源部3等はコンピュータプログラムの形態に限らず、DSP(ディジタル・シグナル・プロセッサ)によって処理されるマイクロプログラムの形態でも実施可能であり、また、この種のプログラムの形態に限らず、ディスクリート回路又は集積回路若しくは大規模集積回路等を含んで構成された専用ハードウェア装置の形態で実施してもよい。
【0030】
次に、図1に示した楽音生成部Bを実現するメイン処理について、図2を用いて説明する。図2は、メイン処理の一実施例を示すフローチャートである。この「メイン処理」は、例えば利用者によるオーディオファイル生成プログラムの実行指示操作に応じて実行される。
【0031】
ステップS1は、初期設定を行う。例えば、シンセサイザ部4やエフェクト部5における各種のパラメータや内部状態変数などを所定の初期値に設定する(具体的には、例えばエフェクト部5のディレイライン内のデータをクリアして無音状態にするなど)、オーディオファイル生成モードを「第1ループ(OneLoop)」に設定するなどの処理を実行する。ステップS2は、設定操作部Dから入力されたユーザ操作を判定して該ユーザ操作に応じた処理を実行する。ここでは、ユーザ操作の一例として、ファイル生成モード指定操作、ファイル生成操作、ファイル選択操作、終了操作を挙げている。勿論、これら以外のユーザ操作に応じた処理があってもよい。
【0032】
ユーザ操作がファイル生成モード指定操作であると判定した場合には、ファイル生成モードの切り替えを行う(ステップS3)。この実施形態では、「第1ループ(OneLoop)」モード又は「第2ループ(TwoLoop)」モードのいずれかにファイル生成モードを切り替えることができるようにしている。ユーザ操作がファイル生成操作であると判定した場合には、「オーディオファイル生成処理」(後述する図3参照)を実行する(ステップS4)。ユーザ操作がファイル選択操作であると判定した場合には、記憶部Cに記憶済みのオーディオファイルの共有を行うための処理を実行する(ステップS5)。ユーザ操作が終了操作であると判定した場合には、当該メイン処理を終了する。
【0033】
ここで、オーディオファイルの共有を行うための処理について説明する。本実施形態において、オペレーティングシステム部A(図1参照)は、オーディオファイル生成プログラム(メイン処理)を動作させたままで、記憶部Cに記憶済みのうち任意のオーディオファイルを共有して用いる他のアプリケーションソフトウェアプログラムへの切り替えを行うことのできるようになっている。この場合、記憶部Cに記憶されたオーディオファイル(例えばサンプリング周波数44.1kHz、wav形式、リニアPCM)を表示部Eに複数列挙表示し、設定操作部Dから利用者に任意のオーディオファイルを選択させる。利用者がタッチ操作して選択したオーディオファイルは、記憶部Cから読み出されてオペレーティングシステム部Aに用意されたバッファ領域(図1において「Pasteboard」と記す)にコピーされる。他のアプリケーションは、オペレーティングシステム部Aのバッファ領域に記憶されたオーディオファイルからオーディオデータを読み出して利用する。
【0034】
他のアプリケーションとしては、例えば利用者により時系列に配列された複数のオーディオファイルを時間進行に応じて順に再生できるようにしたものなどがある。この場合、同じオーディオファイルを複数回繰り返して再生する場合もある。なお、他のアプリケーションへの切り替えは、オーディオファイル生成プログラムをバックグランドで動作させたまま、他のアプリケーションをフォアグランドで動作させればよい。勿論、これに限らず、オーディオファイル生成プログラムの動作を完全にあるいは一時的に終了させてから他のアプリケーションを動作させ、他のアプリケーションが終了してから、再度オーディオファイル生成プログラムを初めから動作開始させてもよいし、あるいは中断した動作状態から動作を再開させてもよい。
【0035】
図3は、オーディオファイル生成処理(図2のステップS4参照)の一実施例を示すフローチャートである。ステップS11は、初期設定を行う。ここでの初期設定としては、テンポやループ長(4,8,16小節長など)を指定又は変更する、カレントポジションを演奏データの先頭に位置づける、オーディオファイルのファイル名を決めるなどがある。オーディオファイル名は、表示器E上にダイアログ等を表示しておき、これを用いて利用者に入力させるようにすればよい。
【0036】
ステップS12は、カレントポジションを上述した所定時間分だけ進める。ステップS13は、演奏データ中に上記カレントポジションの進行に応じた位置にイベントデータ(ノートオンやノートオフイベント以外)があれば、制御部2は音源部3に前記イベントデータを送り、音源部3ではそれに基づいてシンセサイザ部4やエフェクト部5のパラメータや内部状態変数を更新する。ここでのカレントポジションは処理すべき演奏データの時間的位置を表すものであり、実時間とは関係なしに進行する。
【0037】
ステップS14は、演奏データ中に上記カレントポジションの進行に応じた位置にイベントデータ(ノートオンやノートオフイベント)があれば、それに基づいて、所定時間の時間経過に応じて所定時間長のオーディオデータを生成し、オーディオバッファ7に出力する。すなわち、制御部2から音源部3に対して「256サンプル分のオーディオデータ」を要求する信号が送られて、音源部3は当該要求に応じて256サンプル分のオーディオデータを生成し、該生成した256サンプル分のオーディオデータを制御部2に送信する。このとき、音源部3は実時間とは異なる仮想時間の進みに応じて、上記更新したシンセサイザ部4やエフェクト部5のパラメータや内部状態変数に従って256サンプル分のオーディオデータを生成する。例えばノートオフイベントである場合には、シンセサイザ部4の内部状態変数がノートオン状態からノートオフ状態に更新され、それ以降、制御部2が音源部3にオーディオデータを要求する度に、次第に音量が小さくなっていくようにフェードアウト制御された256サンプル分のオーディオデータが、順次に、仮想時間の進行に応じて1乃至複数個生成される。
【0038】
ステップS15は、ファイル生成モードが「第1ループ(OneLoop)」モード又は「第2ループ(TwoLoop)」モードのいずれであるかを判定する。「第1ループ(OneLoop)」モードであると判定した場合には(ステップS15のOneLoop)、オーディオバッファ7からオーディオデータを取得し、オーディオファイルに書き足す(ステップS16)。ステップS17は、カレントポジションが演奏データの終端(つまりは繰り返し再生されるループの終端)に達したか否かを判定する。演奏データの終端に達したと判定した場合には(ステップS17のYES)、当該処理を終了する。他方、演奏データの終端に達していないと判定した場合には(ステップS17のNO)、ステップS12の処理に戻ってステップS12〜S17の処理を繰り返す。
【0039】
上記ステップS15の処理において、ファイル生成モードが「第2ループ(TwoLoop)」モードであると判定した場合には(ステップS15のTwoLoop)、再生中の演奏データが1回目の読み出しであるか否かを判定する(ステップS18)。1回目の読み出しであると判定した場合には(ステップS18のYES)、カレントポジションが演奏データの終端(繰り返し再生されるループの終端)に達したか否かを判定する(ステップS19)。演奏データの終端に達していないと判定した場合には(ステップS19のNO)、ステップS12の処理に戻る。他方、演奏データの終端に達したと判定した場合には(ステップS19のYES)、カレントポジションを演奏データの先頭に戻してから(ステップS20)、ステップS12の処理に戻る。上記ステップS18の処理において、1回目の読み出しでないと判定した場合には(ステップS18のNO)、ステップS16の処理へジャンプする。
【0040】
図4は、オーディオファイルの生成手順について説明するためのタイムチャートである。図4の上から順に、演奏データ、演奏データに基づき生成されるオーディオデータ、「第1ループ(OneLoop)」モードで生成されるオーディオファイル、「第2ループ(TwoLoop)」モードで生成されるオーディオファイルを示す。ただし、説明を理解し易くするために、ここではオーディオデータを楽音波形(音響信号)の表示形態で示してある。また、この例では各々が1音の演奏開始を指示するノートオンと1音の演奏終了を指示するノートオフとを組み合わせた演奏情報1〜3からなる演奏データを、少なくとも時刻t0、時刻t3において繰り返し読み出す場合を例に説明する。
【0041】
まず、ファイル生成モードが「第1ループ(OneLoop)」モードに選択されている場合について説明すると、時刻t0において演奏データの1回目の読み出しが開始されると、演奏データから演奏情報1〜3が順に読み出されて波形1〜3を含む図示したようなオーディオデータが最終的に生成される。ただし、ここに示した例では、波形2は波形1の残響部を含み、波形3は波形1又は波形2の少なくとも一方の残響部を含んでいる。この波形1及び前の波形の残響部を含む波形2,3のオーディオデータに基づいてオーディオファイルを生成するが、上述したように、オーディオファイルを生成する際には、カレントポジションの進行に応じて所定時間長(上述したように256サンプル分に相当する時間)のオーディオデータを生成し、これをオーディオファイルに記憶することが、1回の読み出しが終了されるまで繰り返される(ループ終端(t3)まで)。
【0042】
図4において、例えば波形1は、カレントポジションの進行に応じて記号1〜記号8までの複数の所定時間長(256サンプル分、図中において点線の長方形参照)のオーディオデータからなり、これら記号1〜記号8までの所定時間長の各オーディオデータの生成にあわせてオーディオファイルには256サンプル分ずつオーディオデータ(記号1〜記号8)が順に追加記憶される。同様に、残響部を含む波形2(並びに波形3)は、カレントポジションの進行に応じて記号8〜記号n(並びに記号n〜記号u)までの複数の所定時間長のオーディオデータからなるので、オーディオバッファ7にはこれら記号8〜記号n(並びに記号n〜記号u)までの所定時間長の各オーディオデータの生成にあわせてオーディオファイルには256サンプル分ずつオーディオデータ(記号8〜記号n並びに記号n〜記号u)が順に追加記憶される。
【0043】
このように、ファイル生成モードが「第1ループ(OneLoop)」モードに選択されている場合には、記号1〜記号uまでの複数の所定時間長の各オーディオデータを記憶した、演奏データの1回目の読み出しに基づき再生される楽音に対応した1回再生分のオーディオファイルが記憶部3に記憶される(図中においてOneLoopモードのときに記憶される波形1〜3を含むオーディオファイル参照)。この場合、演奏データの2回目の読み出しを行わない。
【0044】
他方、ファイル生成モードが「第1ループ(OneLoop)」モードに選択されていない場合つまりファイル生成モードが「第2ループ(TwoLoop)」モードに選択されている場合には、時刻t3において演奏データの2回目の読み出しが開始される。すると、再び演奏データから演奏情報1〜3が順に読み出されて波形4〜6を含む図示したようなオーディオデータが順に生成される。図示のように、波形4は波形1〜3の少なくともいずれか1つの残響部、波形5は波形1〜波形4の少なくともいずれか1つの残響部、波形6は波形1〜波形5の少なくともいずれかの残響部を含んでいる。演奏データの繰り返し読み出しが行われた場合、先行する楽音(波形3)が鳴り終わらないうちに後続する楽音(波形4)の再生が開始されてしまうことがあり、そうした場合に後続する楽音(波形4)が先行する楽音(波形1〜3の少なくともいずれか)の残響部の影響を受けて1回目の読み出し時に生成された先頭の楽音(波形1参照)とは波形形状が異なる場合がある(図中において一点鎖線の丸で囲んだ箇所参照)。そこで、ファイル生成モードが「第2ループ(TwoLoop)」モードに選択されている場合には、演奏データの1回目の読み出し時に生成した記号1〜記号uまでの所定時間長の各オーディオデータをオーディオファイルに記憶せずに、演奏データの2回目の読み出し時に生成した所定時間長(図示せず)の各オーディオデータを順にオーディオファイルに記憶する(図中においてTwoLoopモードのときに記憶される波形4〜6を含むオーディオファイル参照)。この場合、時刻t6における演奏データの3回目の繰り返し読み出しは行わなくてよい。
【0045】
以上のように、本発明によると、ファイル生成モードが「第2ループ(TwoLoop)」モードに選択されている場合には、演奏データを少なくとも2回以上繰り返して読み出す。そして、2回目以降の読み出しに従って生成される所定時間長のオーディオデータを順にオーディオファイルに追加記憶することにより、前記演奏データに基づき順次に再生される楽音を再現可能な前記演奏データに対応した1回再生分のオーディオファイルを生成する。こうして生成されたオーディオファイルを繰り返し再生すると、繰り返しの度に先行して再生された楽音のリリース部や残響部の影響を受けた楽音を生成できるようになることから、従来見られたような先行して再生された楽音のリリース部や残響部の影響を受けていない楽音の生成が繰り返されるという問題を解消することができ、もって利用者は演奏データを繰り返し再生した場合と同様の楽音の再生をオーディオファイルを用いて実現することが容易にできるようになる。
【0046】
また、ファイル生成モードの切り替えに応じて、演奏データの1回目の読み出しに従って生成したオーディオデータを記憶して1回再生分のオーディオファイルを生成するか(「第1ループ(OneLoop)」モード)、又は2回目以降の読み出しに従って生成したオーディオデータを記憶して1回再生分のオーディオファイルを生成するか(「第2ループ(TwoLoop)」モード)を切り替えできるようにもした。これにより、利用者は必要に応じていずれかのオーディオファイルを用いることによって、音のつながりに違和感を生じさせずに任意の楽音を生成することができるようになり便利である。
【0047】
以上、図面に基づいて実施形態の一例を説明したが、本発明はこれに限定されるものではなく、様々な実施形態が可能であることは言うまでもない。例えば、本発明に係るオーディオフィル生成プログラムはスレート型のパーソナルコンピュータやスマートフォン等の電子機器に適用することに限らず、通常のパソコンや専用のハードウェアからなる電子楽器にも適用することができる。
【0048】
なお、上述した実施例では図4に示すように、オーディオファイルを2回目の演奏データの読み出し時に生成するようにしたがこれに限らず、例えば3回目以降の適宜の読み出し時にオーディオファイルを生成できるようにしてよい。こうした場合、同じ演奏データの読み出し時に、利用者が設定操作部Dを操作してリリース部の時間長の調整や異なる残響効果を付与することに応じて、多様なオーディオデータを簡単に生成することができて便利である。
【0049】
なお、上述したオーディオファイル生成プログラムは、演奏データの再生機能つまり演奏データの再生に応じて楽音を生成する機能を備えていてもよい。演奏データを再生する場合には、上述のオーディオファイル生成処理と同様にして所定時間長のオーディオデータを繰り返し生成するのであるが、演奏データから演奏情報を読み出すためのカレントポジションの進行は、オペレーティングシステム部Aが管理するサンプリングクロックにあわせる。すなわち、オペレーティングシステム部Aが管理するサンプリングクロックで実時間の所定時間間隔(256サンプル、約5.8ミリ秒)を計測し、計測された時間間隔でカレントポジションを進ませて、音源部3は所定時間長(256サンプル)のオーディオデータを生成する。また、音源部3から所定時間長のオーディオデータを、オーディオバッファ7を介して記憶部Cのオーディオファイルに出力することに替えて、オペレーティングシステム部Aが管理する図示しないサウンドシステムへ出力する。サウンドシステムは、受け取った所定時間長(256サンプル)のオーディオデータから前記サンプリングクロック毎に1サンプルずつを取り出し、これをDA変換してスピーカから放音する。
【0050】
なお、上述した実施例においては、オーディオファイルの生成時に、演奏データから演奏情報を読み出すためのカレントポジションの進行を、CPUの処理能力に比例するサンプリングクロックに応じた仮想時間により制御するようにして実時間に制限されることのないようにしたことから、効率よくオーディオファイルを生成することができる。しかし、これに限らず、上述した演奏データの再生機能のように、カレントポジションの進行を、オペレーティングシステム部Aが管理するサンプリングクロックに応じた実時間により制御するようにしてもよい。そうした場合、例えば演奏データに基づき再生される10秒の楽音に相当するオーディオファイルを生成するのに、「第1ループ(OneLoop)」モードでは10秒の時間がかかり、「第2ループ(TwoLoop)」モードでは20秒の時間がかかり効率が落ちることに注意しなければならない。ただし、この場合には、オーディオデータの出力先を、記憶部Cのオーディオファイルとサウンドシステム(図示せず)の両方にすることで、楽音を発音させながらオーディオファイルを生成することができるようになるという利点がある。
【符号の説明】
【0051】
1…シーケンサ部、2…制御部、3…音源部、4…シンセサイザ部、5…エフェクト部、6…ミキシング部、7…オーディオバッファ、8…演奏データ、A…オペレーティングシステム部、B…楽音生成部、C…記憶部、D…操作設定部、E…表示部
図1
図2
図3
図4