JP2000122650A - 音声データ処理装置およびコンピュータシステム - Google Patents

音声データ処理装置およびコンピュータシステム

Info

Publication number
JP2000122650A
JP2000122650A JP10291086A JP29108698A JP2000122650A JP 2000122650 A JP2000122650 A JP 2000122650A JP 10291086 A JP10291086 A JP 10291086A JP 29108698 A JP29108698 A JP 29108698A JP 2000122650 A JP2000122650 A JP 2000122650A
Authority
JP
Japan
Prior art keywords
data
processing
effect
buffer
chorus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10291086A
Other languages
English (en)
Other versions
JP3991475B2 (ja
Inventor
Satoru Kamiya
了 神谷
Satoshi Tominaga
聡 冨永
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 JP29108698A priority Critical patent/JP3991475B2/ja
Publication of JP2000122650A publication Critical patent/JP2000122650A/ja
Application granted granted Critical
Publication of JP3991475B2 publication Critical patent/JP3991475B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Electrophonic Musical Instruments (AREA)

Abstract

(57)【要約】 【課題】 音源LSIにエフェクト処理を取り込む。 【解決手段】 フィードフォワード系のエフェクト処理
にあっては、コーラス処理用データCPDを音源LSI1
0からRAM30に一括してバースト転送し、現在のサ
ブフレームで必要とされるコーラス処理用データCPDを
演算の進行に合わせて一括して音源LSI10にバース
ト転送する。フィードバック系のエフェクト処理にあっ
ては、演算の進行に合わせて必要とされるリバーブ処理
用データRPDをRAM30から一括して音源LSI10
にバースト転送し、必要に応じて、リバーブ処理用デー
タRPDを一括してRAM30にバースト転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えば、ディレイ
系のエフェクト処理をローカルなメモリを使用すること
なく実行するのに好適な音声データ処理装置およびコン
ピュータシステムに関する。
【0002】
【従来の技術】近年のパーソナルコンピュータでは、音
源LSIを搭載して各種のサウンド処理を行うものが多
い。音源LSIの代表的な処理としては、制御データと
波形データとに基づいてデジタル音声データを再生する
再生処理がある。波形データは楽器の演奏音を所定のレ
ートでサンプリングして得られたものであり、制御デー
タは、音色、再生ピッチおよび音量等を指示する。サウ
ンド処理機能を有するパーソナルコンピュータは、通
常、装置全体をOSに従って制御するCPU、音源LS
I、制御データおよび波形データあるいは他のアプリケ
ーションプログラムを格納するメインメモリ、各構成部
分を接続しデータの授受を行うためのバス等から構成さ
れている。
【0003】帯域幅の広いバス(例えば、PCIバス)
を採用したパーソナルコンピュータにおいては、音源L
SIが、処理を行うために必要なデータをメインメモリ
からバスを介して取得する構成が可能となるが、バスを
長時間占有すると、他のアプリケーションがバスを使用
する時間が短くなる。この結果、コンピュータシステム
全体としてみると、円滑な動作に支障をきたすことにな
る。そのような問題を解決するため、本出願人はフレー
ム処理を導入した音源LSIを先に提案している(特願
平9−200662号)。そのような音源LSIのフレ
ーム処理では、出力サンプリング周波数(DACレー
ト)48KHzで256サンプル出力するのに要する時
間(5.3ms)を1フレーム(FRAME)とするフレー
ム単位でDACレートとは非同期に一括してデジタル音
声データを生成しており、コンピュータシステムは1フ
レームの処理に必要なデータを一括してメインメモリか
ら音源LSIにバースト転送している。バースト転送に
よるバスの占有時間は、1フレーム期間と比較してごく
短いので、コンピュータシステム全体として円滑な動作
が保証される。
【0004】
【発明が解決しようとする課題】ところで、コンピュー
タシステムで実行されるサウンド処理には、上述した再
生処理の他に、代表的なものとしてエフェクト処理があ
る。エフェクト処理は、リバーブやコーラスあるいはバ
リエーションといった、音響効果を再生音声データに付
与するものであり、これにより、変化に富んだ再生音を
生成することができる。このため、音源LSIにエフェ
クト処理を実行させたいといった要求がある。このエフ
ェクト処理の中にはディレイ系と呼ばれる処理がある。
ディレイ系のエフェクト処理では比較的長時間遅延され
た再生音声データと現在の再生音声データとを合成する
ことによって、再生音声データに音響効果を付与してい
る。このため、ディレイ系のエフェクト処理では、再生
音声データを遅延するためのメモリが必要となる。しか
しながら、音源LSIにローカルなメモリを設けると、
音源LSIのチップ面積が増大し、そのコストが上昇す
るといった問題があった。また、エフェクト処理を音源
LSIで実行させないで、CPUを使ってソフト的に実
行させるというアプローチも考えられるが、その場合に
は、CPUの処理負荷が増大するといった問題があっ
た。
【0005】本発明は、上述した事情に鑑みてなされた
ものであり、遅延が必要とされる音声データの波形処理
において、ローカルなメモリを設けることなく、波形処
理を実行する音声データ処理装置およびコンピュータシ
ステムを提供することを目的とする。
【0006】
【課題を解決するための手段】上記課題を解決するため
請求項1に記載の発明にあっては、データの読み書き可
能なシステムメモリを有するコンピュータシステムのバ
スに接続されて、遅延を伴うエフェクト処理を施したエ
フェクトデータを生成する音声データ処理装置であっ
て、上記遅延を行うべきデータを、システムメモリへ転
送する転送手段と、上記遅延を施されたデータを、シス
テムメモリから取り込む取込手段と、上記転送手段で転
送すべきデータおよび上記取込手段で取り込むべきデー
タを作成する演算手段と、を備えることを特徴とする。
【0007】また、請求項2に記載の発明にあっては、
第1のバッファおよび第2のバッファをさらに備え、上
記演算手段は、単位時間単位で、その単位時間に出力さ
れるべき複数のエフェクトデータを一括して生成するも
のであり、上記転送手段は、上記第1バッファに記憶さ
れた複数のデータを一括して上記システムメモリに転送
するものであり、上記取込手段は、上記システムメモリ
に記憶された複数のデータを一括して上記第2のバッフ
ァに取り込むものであることを特徴とする。
【0008】また、請求項3に記載の発明にあっては、
出力バッファをさらに備え、上記演算手段は生成した複
数のエフェクトデータを、上記出力バッファに一時記憶
し、当該単位時間の次の単位時間において、一定の出力
レートに従い出力することを特徴とする。
【0009】また、請求項4に記載の発明にあっては、
上記演算手段は、時分割で、複数種類のエフェクトデー
タを作成し、上記出力バッファにおいて、対応するデー
タ同士を累算することを特徴とする。
【0010】また、請求項5に記載の発明にあっては、
データの読み書き可能なシステムメモリ、CPU、およ
び遅延を伴うエフェクト処理を施したエフェクトデータ
を生成する音声データ処理装置がバスで接続されたコン
ピュータシステムであって、上記音声データ処理装置
は、上記遅延を行うべきデータを、システムメモリへ転
送する転送手段と、上記遅延を施されたデータを、シス
テムメモリから取り込む手段と、上記転送手段で転送す
べきデータおよび上記取込手段で取り込むべきデータを
作成する演算手段とを備えることを特徴とする。
【0011】
【発明の実施の形態】1.コンピュータシステムの全体
構成 以下、図面を参照しつつ、本発明に係わる一実施形態で
あるコンピュータシステムの構成を説明する。図1は本
実施形態に係わるコンピュータシステムのブロック図で
ある。
【0012】図において、CPU20は、バス60を介
して各構成部分に接続されており、コンピュータシステ
ムA全体を制御する。RAM30はメインメモリ(シス
テムメモリ)に相当する読み書き可能なメモリであっ
て、CPU20の作業領域として機能する。また、RA
M30のある記憶領域は各種の波形データWDを記憶する
周知のウエーブテーブルとして機能するとともに、他の
記憶領域は、エフェクト処理における遅延メモリとして
機能する。また、ROM40は読出専用のメモリであっ
て、そこにはブートプログラム等が格納されている。ま
た、ハードディスク50は、二次記憶装置に相当し、そ
こにはアプリケーションプログラムやデバイスドライバ
DDやマイクロプログラムMP等のプログラム、および制御
データCDや波形データWDといった各種のデータが格納さ
れている。そして、これらのプログラムやデータは必要
に応じてRAM30にロードされるようになっている。
【0013】ここで、制御データCDは、アプリケーショ
ンプログラムから与えられるMIDIフォーマット等の
演奏指示に応答して音源LSI10を駆動するデータで
あり、音色情報(当該音色に対応する波形データWDが格
納されているアドレス)、ピッチ情報、音量情報の他、
エフェクト処理を指示するエフェクト情報等から構成さ
れている。また、波形データWDは、例えば、ギターやピ
アノといった各種の音色に対応する楽器によって実際に
発音させた楽音等をサンプリングして得られたデータで
ある。
【0014】また、OSの起動時にデバイスドライバD
D、マイクロプログラムMP、および波形データWD等がバ
ス60を介してRAM30に転送されるとともに、上位
のアプリケーションによって参照指示される制御データ
CDが必要に応じてRAM30に転送される。また、RA
M30に格納されたマイクロプログラムMPは音源LSI
10に転送される。バス60としては、大量のデータを
高速転送できるものであればその種類は問わないが、こ
の例にあっては、バースト転送モードを備えたPCIバ
ス(Peripheral Component Interconnect Bus)を用い
るものとする。
【0015】ここで、波形データWDは、ハードディスク
50に格納されているデータの中から使用頻度の高い音
色に対応するものが選択されRAM30に記憶され、必
要に応じてRAM30とハードディスク50との間で波
形データWDのやり取りが行われる。また、RAM30に
おいて、波形データWDは物理アドレスが連続する連続直
線領域に格納されるようになっている。物理アドレスが
不連続であると、論理アドレスから物理アドレスを算出
する必要があるため、これを回避してOSの負荷を軽減
するためである。
【0016】2.音源ボードの構成および動作の概略 図1に示す音源ボード100は、図示せぬ拡張スロット
(PCIスロット)に装着されるようになっており、そ
こには、出力音声データSDを生成する音源LSI10
と出力音声データSDをアナログ信号に変換したのもを
出力音声信号Sとして出力するDAC16が設けられて
いる。なお、音源LSI10はコンピュータシステムA
のマザーボード上に実装するようにしてもよい。音源L
SI10内で出力音声データSDを生成する処理は、サ
ブフレームと呼ばれる一定の時間単位で行われるように
なっており、この例では、出力音声データSDを出力サ
ンプリングレート(DACレート=48kHz)で256
サンプルだけ出力する時間(約5.3ms)を1フレー
ムとして、これをさらに4分割したもの(64サンプル
分の時間=約1.3ms)を1サブフレームとしてい
る。あるサブフレームで一括生成された64サンプルは
一旦出力バッファ15に格納され、次のサブフレームに
おいて、出力サンプリングレートに対応してDAC16
に供給される。
【0017】また、音源LSI10は、複数音(例えば
64チャンネル)同時発音可能になっている。あるサブ
フレームの合成音声データを生成するに当たって、ま
ず、チャンネルch1についての再生データ(64サンプ
ル)を作成するとともに出力バッファ15に格納し、次
に、チャンネルch2についても同様に再生データ(64
サンプル)を作成するとともに、チャンネルch1の再生
データと対応したサンプル同士を加算した64サンプル
を作成し出力バッファ15に格納する(累算処理)。こ
のような処理をNチャンネル(MAX64チャンネル)分
繰り返し、最終的にNチャンネル分を累算した64サン
プルの合成音声データを出力バッファ15に格納する。
この合成音声データは、後述するエフェクトデータを付
加され、出力音声データSDとして次のサブフレームに
おいてDAC16へ供給される。
【0018】詳細は後述するが、音源LSI10は、各
チャンネルの再生データに対して、選択的に、エフェク
トを付与することが可能になっており、そのためにこの
音源LSI10は、上記した同時発音数に対応した再生
チャンネルと同様のエフェクトチャンネルを有してお
り、また、ハードウェア的にはエフェクト用バッファを
備えている。そして、エフェクトデータ作成の前段階と
して、上記したサブフレームの各チャンネルの再生処理
の過程において、エフェクトを付与しないでそのまま出
力するチャンネルについては再生データを出力バッファ
15のみに格納(累算)し、エフェクトを付与するチャ
ンネルについては、出力バッファ15とともにエフェク
ト用バッファにも格納(累算)する。そして、エフェク
ト用バッファに現在または過去のサブフレームで格納さ
れたエフェクト処理用データに対してエフェクトチャン
ネルを使用してエフェクトデータを作成し、出力バッフ
ァ15に格納(累算)する。
【0019】上記説明した音源ボード100の動作概略
をサブフレーム毎の処理に着目して整理すると、図2の
ようになる。図2(a)に示すとおり、音源ボード10
0では、サブフレーム毎に、再生チャンネル処理CH1
〜CHN(Nは64以下)およびエフェクトチャンネル
処理(コーラスチャンネル処理とリバーブチャンネル処
理で構成される)を出力サンプリング周波数(DACレ
ート=48KHz)とは非同期に一括して行う。各チャ
ンネル処理では、それぞれ、次のサブフレームで出力す
る64サンプルを作成する。各再生チャンネル処理で
は、それぞれ、(1)RAM30から制御データCDの取
り込み、以下、制御データCDに従って、(2)RAM3
0から波形データWDの取り込み、(3)再生データの生
成、(4)再生データの出力バッファ15およびエフェ
クト用バッファへの格納(累算)、等を行う。エフェク
トチャンネル処理では、それぞれ、(1)RAM30か
ら制御データCDの取り込み、(2)RAM30からエフ
ェクト処理用データ(遅延済み)の取り込み、(3)エ
フェクト用バッファからRAM30への書込み、(4)
中間データおよびエフェクトデータの生成、(5)エフ
ェクトデータの出力バッファ15およびエフェクト用バ
ッファへの格納(累算)、等を行う。なお、エフェクト
処理の上記(2)、(3)、(4)、(5)について
は、処理の内容に応じて、必ずしも上記順序で行われる
わけではなく、それぞれ、1回きり行われるわけでもな
い。以上の処理により、出力バッファ15上に次のサブ
フレームでDAC16へ送り出す出力音声データSDが
得られる。また、図2(b)に示すとおり、音源ボード
100では、各サブフレームにおいて、前サブフレーム
において作成された出力音声データSDを、出力サンプ
リング周波数(DACレート=48kHz)に従い、D
AC16に順次送出する。
【0020】2−1:音源LSI 図1に戻って、音源LSI10は、制御部11、PCI
バスインターフェース12、入力バッファ13、演算部
14および出力バッファ15から構成される。まず、制
御部11はRAM30から転送されるマイクロプログラ
ムMPをその内部に設けられたメモリ(図示略)に記憶
し、マイクロプログラムMPに従って音源LSI10の各
部を制御する命令iを発行する。次に、PCIバスイン
ターフェース12は、バスマスタ機能を有している。こ
のため、音源LSI10は、CPU20にさほど負荷を
かけないで、RAM30から制御データCDや波形データ
WD、あるいはエフェクト処理に必要なデータを直接読み
出すことが可能である。
【0021】2−1−1:入力バッファ 次に、入力バッファ13は、PCIバスインターフェー
ス12を介してRAM30からバースト転送される制御
データCDや波形データWD、あるいはエフェクト処理に必
要なデータ(コーラス処理用データCPDやリバーブ処理
用データRPD)をを一旦記憶する。
【0022】2−1−2:演算部 次に、演算部14は、サブチャンネル毎に、各再生チャ
ンネル処理、コーラスチャンネル処理、およびリバーブ
チャンネル処理をマイクロプログラムMPに従って時分
割で実行できるように構成されており、その内部には上
記したコーラス用およびリバーブ用バッファ141、1
42を備えている。なお、この例では、リバーブやコー
ラスといった2種類のエフェクト処理を実行するため、
エフェクト処理用に2個のバッファを用意したが、3種
類以上のエフェクト処理を行うのであれば、その種類に
応じた数のバッファを用意すれば良い。
【0023】ここで、演算部14の処理を、周辺も含め
て、機能ブロック図として図3に示す。図3に示したと
おり、この演算部14の演算処理には、Nチャンネルの
再生チャンネル処理145、コーラスチャンネル処理1
43、リバーブチャンネル処理144およびミキサ処理
がある。すなわち、再生チャンネル処理とは、各チャン
ネル(MAX64チャンネル)の64サンプルの再生デー
タを作成する処理であり、コーラスチャンネル処理と
は、コーラス用バッファ141に格納されたデータに基
づき64サンプルのコーラスデータを作成する処理であ
り、リバーブチャンネル処理とは、リバーブ用バッファ
142に格納されたデータに基づき64サンプルのリバ
ーブデータを作成する処理である。また、ミキサ処理と
は、各再生チャンネル処理で作成されたそれぞれ64サ
ンプル、コーラスチャンネル処理で作成されたコーラス
データ64サンプルおよびリバーブチャンネル処理で作
成されたリバーブデータ64サンプルを、出力バッファ
15、コーラス用バッファ141およびリバーブ用バッ
ファ142上で累算する処理である。
【0024】各再生チャンネル処理では、まず、そのチ
ャンネルに対応した制御データCDをRAM30から入力
バッファ13に取り込む。次に、制御データCD中に含ま
れるピッチ情報、サンプリングレートおよび出力サンプ
リングレート(DACレート)を考慮して1サブフレー
ム分の64サンプルを作成するのに必要な波形データWD
をRAM30から入力バッファ13に取り込む。この取
り込みは、先頭アドレスとサンプル数とを指定すること
でバースト転送により行われる。すなわち、RAM30
の波形データWD内の所定の連続領域が切り出されて音源
LSIに一括して転送されることになる。この後、制御
データCDのピッチ情報や音量情報に基づいて、波形デー
タWDに変換処理を施して64サンプルを作成する。な
お、この64サンプルは、1サンプル生成される度に所
定の係数を乗算された後に出力バッファ15、コーラス
用バッファ141およびリバーブ用バッファ142に格
納(累算)される。最後に、制御データCDをRAM30
にライトバックして、当該再生チャンネルの処理を終了
する。このような処理がチャンネル数回繰り返し実行さ
れる。
【0025】次に、コーラスチャンネル処理143およ
びリバーブチャンネル処理144は、コーラス用バッフ
ァ141およびリバーブ用バッファ142に格納された
それぞれ64サンプルのコーラス処理用データCPDおよ
びリバーブ処理用データRPDに基づき、それぞれ64サ
ンプルのコーラスデータおよびリバーブデータを作成す
る処理であるが、詳細は後述する。
【0026】次に、ミキサ処理について説明する。な
お、ここでは説明の便宜上、ミキサ処理を、再生チャン
ネル処理145、コーラスチャンネル処理143および
リバーブチャンネル処理144と分けて説明している
が、ミキサ処理は、各再生チャンネル処理の中、コーラ
スチャンネル処理143の中およびリバーブチャンネル
処理144の中でそれぞれ行われる。このミキサ処理
は、各再生チャンネル処理で作成された再生データを、
そのまま出力するかコーラスデータまたは/およびリバ
ーブデータを作成するかに応じて振り分ける処理、さら
に、コーラスデータまたはリバーブデータを、そのまま
出力するか再度コーラスデータまたは/およびリバーブ
データを作成するかに応じて振り分ける処理である。す
なわち、外部に出力する場合には出力バッファ15に格
納(累算)し、コーラスデータを作成する場合にはコー
ラス用バッファ141に格納(累算)し、リバーブデー
タを作成する場合にはリバーブ用バッファ142に格納
(累算)する。なお、各バッファにサンプルを格納する
際には、そこに既に格納されている対応サンプルを読み
出して、新たに生成されたサンプルと加算して格納して
いる。
【0027】なお、図3より明らかなように、各再生チ
ャンネルでは、エフェクト付与のON/OFFの選択を
できるのみならず、出力バッファ15、コーラス用バッ
ファ141およびリバーブ用バッファに適当な比率で振
り分けることにより、エフェクトをかける度合を選択す
ることもできるとともに、図4(a)に示すように、2
つのエフェクトデータを並列的に作成することもでき
る。さらに、図4(b)に示すように、コーラスチャン
ネル処理143で作成したコーラスデータをリバーブ用
バッファ142に振り分けることにより、コーラスリバ
ーブデータを作成することもできるし、図4(c)に示
すように、その逆もできる。コーラス用バッファ141
とリバーブ用バッファ142は、比較的長時間の遅延を
コンピュータシステムA側のRAM30を利用して実現
するために設けられている。すなわち、これらのバッフ
ァは、遅延すべきデータをバースト転送によりRAM3
0に転送するためバッファとして設けられている。
【0028】2−1−3:出力バッファ 再び図1に戻って、出力バッファ15は、第1バッファ
151および第2バッファ152から構成されて、サブ
フレーム周期で、それぞれの役割が切り換えられる。す
なわち、あるサブフレームでは、第1バッファ151
に、各再生チャンネル処理で作成された再生データ(そ
れぞれ64サンプル)、コーラスチャンネル処理で作成
されたコーラスデータ(64サンプル)およびリバーブ
チャンネル処理で作成されたリバーブデータ(64サン
プル)が書き込まれる(累算処理される)とともに、第
2バッファ152に格納された64サンプル(前サブフ
レームにおいて累算処理された64サンプル)が出力音
声データSDとして出力サンプリングレートに従いDA
C16へと読み出される。次のサブフレームでは、第1
バッファ151に格納された64サンプルが出力音声デ
ータSDとしてDAC16へと読み出されるとともに、
第2バッファ152で累算処理が行われる。
【0029】3.エフェクト処理 次に、演算部14で実行するエフェクト処理について詳
細に説明する。 3−1:コーラス処理 図5は、エフェクト処理の一例であるコーラス効果の等
価回路を示す図である。
【0030】コーラスチャンネル処理は、コーラス用バ
ッファ141上での累算により得られたコーラス処理用
データCPDを遅延するメモリ201、所定の係数を入力
データに乗算して出力する係数器202〜205、およ
び加算器209、210から構成されている。なお、係
数器206から加算器211のパスは、各再生チャンネ
ル処理の中で、出力バッファ15上でのミキサ処理とし
て行われる。また、係数器212からコーラス用バッフ
ァ141のパスは、各再生チャンネル処理の中で、コー
ラス用バッファ141上でのミキサ処理として行われ
る。係数器202、203および加算器209は、メモ
リ201の出力端子C1,C2から出力されるコーラス処理
用データCPDを合成して出力し、一方、係数器204、
205および加算器210は、メモリ201の出力端子
C3,C4から出力されるコーラス処理用データCPDを合成し
て出力する。出力端子C1と出力端子C2とは、常にアドレ
スが1つ離れたコーラス処理用データCPDを出力する。
また同様に、出力端子C3と出力端子C4とは、常にアドレ
スが1つ離れたコーラス処理用データCPDを出力する。
図6は、出力端子C1から出力されるコーラス処理用デー
タCPDのアドレスの変化と出力端子C3から出力されるコ
ーラス処理用データCPDのアドレスの変化とを図示した
ものである。この図に示すように各アドレスは正弦波状
に変動する。
【0031】加算器209,210の各出力データは、
係数器207,208を介して加算器211に出力され
る。なお、この係数器207,208および加算器21
1の演算はコーラスチャンネル処理の中での出力バッフ
ァ15へのミキサ処理に相当する。このように各再生チ
ャンネル処理で作成された再生データとコーラスチャン
ネル処理で作成された2系統のコーラスデータCOがミキ
シングされて、コーラス効果が得られる。コーラスデー
タCOは、遅延時間を正弦波状に変動させたコーラス処理
用データCPDに基づいて生成されるので、仮想的な発音
源が視聴者の周りを回っているように感じられる音響効
果を付与することができる。
【0032】ここで、図5のコーラス効果の等価回路と
図1のコンピュータシステムAで行われる実際の処理と
の間の対応関係を図7に、またそのフローチャートを図
8に示す。図7において点線で囲った部分が演算部14
において行われる処理である。あるサブフレームにおい
て作成されたNチャンネルの再生データ(それぞれ64
サンプル)は、コーラス効果を付与するか否か、また
は、どの程度付与するかに応じて、係数乗算処理(21
2)されてコーラス用バッファ141上でミキシングさ
れる。一方、Nチャンネルの再生データは、直後、係数
乗算処理(206)されて出力バッファ(15、21
1)上でミキシングされる。なお、一旦作成されたコー
ラスデータまたはリバーブデータに再度コーラス効果を
付与するために、そのような64サンプルをコーラス用
バッファ141上で累算することもあり得る。この累算
された64サンプルをコーラス処理用データCPDとして
メモリ(RAM30、201)にバースト転送される
(図8のステップC1)。
【0033】コーラスチャンネル処理では、所定のサブ
フレーム周期前にメモリ(RAM30,201)に記憶
されたコーラス処理用データCPDをバースト転送するこ
とにより、入力バッファ13にコーラス処理用データCP
Dを取り込む(ステップC2、C4)。これにより、あ
るサブフレームにおいてコーラスチャンネル処理を実行
するために必要なコーラス処理用データCPDを音源LS
I10が取得することができる。次に、読出アドレスを
可変しつつ入力バッファ13からコーラス処理用データ
CPDを読み出して積和演算を実行することにより、図5
に示す等価回路の加算器209,210の出力データを
生成する。そして、これらの出力データに係数乗算処理
(207、208)を行い、出力バッファ(15、20
1)上でミキシングする(ステップC3,C5)ことに
よって、コーラス効果を実現できる。
【0034】このようにコーラスチャンネル処理では、
あるサブフレームの再生チャンネル処理によって生成さ
れたデータの一部または全部をコーラス処理用データCP
DとしてRAM30に書き戻し、その後、RAM30か
ら当該サブフレームで必要とされるコーラス処理用デー
タCPDを一括して取り込んでいる。なお、RAM30/
バッファ13、14間の転送と演算処理とは、パイプラ
イン的に並行して行うのが好ましい。
【0035】3−2:リバーブ処理 図9は、エフェクト処理の一例であるリバーブ効果の等
価回路を示す図である。この図に示すようにリバーブ効
果の等価回路は、巡回型ローパスフィルタF1、オールパ
スフィルタF2,F3,F8、およびコムフィルタF4,F5,F6,F7
から大略構成されている。なお、係数器328から加算
器330のパスは、各再生チャンネル処理の中で、出力
バッファ15上でのミキサ処理として行われる。また、
係数器327からリバーブ用バッファ142のパスは、
各再生チャンネル処理の中で、リバーブ用バッファ14
2上でのミキサ処理として行われる。巡回型ローパスフ
ィルタF1は、出力データを係数器302を介してフィー
ドバックするとともに、フィードバックされたデータと
リバーブ処理用バッファ142上で累算されたリバーブ
処理用データRPDとを加算(303)してメモリ301
に入力するように構成されている。これにより、過去の
リバーブ処理用データRPDが係数器302のフィードバ
ック係数に従って減衰しながら現在のリバーブ処理用デ
ータRPDと加算されることになる。なお、メモリ301
には、中間の出力端子が設けられており、そこから取り
出されたリバーブ処理用データRPDが、係数器304を
介して、加算器321に供給されるようになっている。
このように巡回型ローパスフィルタF1は、メモリ301
の出力データが入力にフィードバックされる構成となっ
ている。
【0036】次に、各オールパスフィルタF2,F3,F8は、
ゲインが一定で位相のみを調整するフィルタである。オ
ールパスフィルタF2,F3は、巡回型ローパスフィルタF1
によって変化した位相を調整するために使用され、一
方、オールパスフィルタF8は、リバーブデータREを生成
するために用いられる。各オールパスフィルタF2,F3,F8
は、同様の構成部分を備えているので、ここでは、オー
ルパスフィルタF2について説明する。図に示すように、
オールパスフィルタF2は、メモリ306の出力データを
係数器309を介して加算器312にフィードバック
し、これを係数器310を介して供給されるリバーブ処
理用データRPDと加算してメモリ306に供給してい
る。そして、メモリ306の出力データを係数器308
を介して加算器311に供給するとともに、リバーブ処
理用データRPDを係数器307を介して加算器311に
供給し、両者を加算して出力データを得ている。このよ
うに、オールパスフィルタF2は、メモリ306の出力デ
ータを入力にフィードバックする構成となっている。
【0037】次に、各コムフィルタF4,F5,F6,F7は、櫛
形の周波数特性を有するフィルタであって、ノッチ部分
に相当する周波数が互いにずれるように構成されてい
る。なお、各コムフィルタF4,F5,F6,F7は、同様の構成
部分を備えているので、ここでは、コムフィルタF4につ
いて説明する。コムフィルタF4は、メモリ313の出力
データを、係数器315を介して加算器320にフィー
ドバックするとともにラッチ314で1クロック遅延し
た後に係数器316を介して加算器320にフィードバ
ックする。この加算器320に係数器317を介してリ
バーブ処理用データRPDが供給されると、フィードバッ
クされたデータとリバーブ処理用データRPDが加算さ
れ、メモリ313に供給される。なお、メモリ313
は、中間に出力端子を備えており、そこから出力される
データが係数器318を介してコムフィルタF4の出力デ
ータとして、加算器321に出力される。このように、
コムフィルタF4は、メモリ313の出力データを入力に
フィードバックする構成となっている。
【0038】ここで、図9のリバーブ効果の等価回路と
図1のコンピュータシステムAで行われる実際の処理と
の間の対応関係を図10に、また、そのフローチャート
を図11に示す。図10において点線で囲った部分が演
算部14において行われる処理である。あるサブフレー
ムにおいて作成されたNチャンネルの再生データ(それ
ぞれ64サンプル)は、リバーブ効果を付与するか否
か、または、どの程度付与するかに応じて、係数乗算処
理(327)されてリバーブ用バッファ142上でミキ
シングされる。一方、Nチャンネルの再生データは、直
接、係数乗算処理(328)されて出力バッファ(1
5、330)上でミキシングされる。なお、一旦作成さ
れたコーラスデータまたはリバーブデータに再度リバー
ブ効果を付与するために、そのような64サンプルをリ
バーブ用バッファ142上で累算することもあり得る。
【0039】リバーブチャンネル処理では、所定のサブ
フレーム前にメモリ(RAM30、301)に記憶され
たリバーブ処理用データRPD(場合によっては中間デー
タ)を、バースト転送により取り込む(図11のステッ
プR1、R4、R12、R14)。エフェクトチャンネ
ル処理の各フェーズの演算を実行するのに必要なリバー
ブ処理用データRPDを取得することができる。また、各
フェーズにおいて、入力バッファ13およびリバーブ用
バッファ142からリバーブ処理用データRPDを読み出
して積和演算を実行する(R2、R5、R7、R9、R
13、R15)。さらに、所定時間の遅延を実現するた
めに、各フェーズにおいて、リバーブ用バッファ142
に格納されたリバーブ処理用データRPDおよび中間デー
タをRAM30にバースト転送する(R3、R6、R1
0)。このような一連の処理を経て、最終的にオールパ
スフィルタ処理F8された64サンプルのデータはリバ
ーブデータREとして係数乗算処理(329)されて出力
バッファ(15、330)上でミキシングされる。この
ように、各チャンネル処理で作成された再生データとリ
バーブチャンネル処理で作成されたリバーブデータREと
を出力バッファ(15、330)上でミキシングするこ
とによって、リバーブ効果を実現できる。なお、RAM
30/バッファ13、142間のデータ転送と演算処理
とは、パイプライン的に並行して行うのが好ましい。
【0040】以上説明したように、本実施形態によれ
ば、コーラス処理のように遅延データを入力にフィード
バックしないフィードフォワード系のエフェクト処理に
あっては、あるサブフレームで生成されたコーラス処理
用データCPDを音源LSI10からRAM30に一括し
てバースト転送し、現在のサブフレームで必要とされる
コーラス処理用データCPDを演算の進行に合わせて一括
して音源LSI10にバースト転送するようにした。こ
のため、音源LSI10では、エフェクト処理に専用の
メモリを設ける必要がなくなり、そのチップ面積を増大
させることなくエフェクト処理を内部に取り込むことが
できる。この結果、コストを維持したまま音源LSI1
0の機能を拡充することができ、ひいてはCPU20の
処理負荷を軽減し、その処理能力を他のアプリケーショ
ンに活用することが可能となる。
【0041】また、リバーブ処理のように遅延データを
入力にフィードバックするフィードバック系のエフェク
ト処理にあっては、あるサブフレームにおいて、演算の
進行に合わせて必要とされるリバーブ処理用データRPD
をRAM30から一括して音源LSI10にバースト転
送し、必要に応じて、リバーブ処理用データRPDを一括
してRAM30にバースト転送するようにした。このた
め、音源LSI10では、エフェクト処理に専用のメモ
リを設ける必要がなくなり、上述した場合と同様に、そ
のチップ面積を増大させることなくエフェクト処理を内
部に取り込むことができる。
【0042】
【発明の効果】上述したように本発明に係る発明特定事
項によれば、遅延が必要とされる音声データの波形処理
において、コンピュータシステムに元々あるメモリを有
効に活用することにより、ローカルなメモリを設けるこ
となく、波形処理を実行することができる。
【図面の簡単な説明】
【図1】 本発明の一実施形態に係わるコンピュータシ
ステムのブロック図である。
【図2】 同実施形態に係る音源ボードの動作概略を説
明するための図である。
【図3】 同実施形態に係る演算部の処理を周辺構成も
含めて示す機能ブロック図である。
【図4】 同実施形態に係るエフェクトデータの生成の
態様を示すブロック図である。
【図5】 同実施形態に係るエフェクト処理の一例であ
るコーラス効果の等価回路を示す図である。
【図6】 同実施形態において、出力端子C1から出力さ
れるコーラス処理用データCPDのアドレスの変化と出力
端子C3から出力されるコーラス処理用データCPDのアド
レスの変化とを示した図である。
【図7】 同実施形態に係るコーラス効果の等価回路と
コンピュータシステムで行われる実際の処理との間の対
応関係を示すブロック図である。
【図8】 同実施形態に係るコーラス効果の等価回路と
コンピュータシステムで行われる実際の処理との間の対
応関係を説明するためのフローチャートである。
【図9】 同実施形態に係るエフェクト処理の一例であ
るリバーブ効果の等価回路を示す図である。
【図10】 同実施形態に係るリバーブ効果の等価回路
とコンピュータシステムで行われる実際の処理との間の
対応関係を示すブロック図である。
【図11】 同実施形態に係るリバーブ効果の等価回路
とコンピュータシステムで行われる実際の処理との間の
対応関係を説明するためのフローチャートである。
【符号の説明】
10…音源LSI(音声データ処理装置)、12…PC
Iバスインターフェース(転送手段、取込手段)、14
…演算部(演算手段)、20…CPU、30…RAM
(システムメモリ)、WD…波形データ、SD…出力音声デ
ータ、A…コンピュータシステム。

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 データの読み書き可能なシステムメモリ
    を有するコンピュータシステムのバスに接続されて、遅
    延を伴うエフェクト処理を施したエフェクトデータを生
    成する音声データ処理装置であって、 上記遅延を行うべきデータを、システムメモリへ転送す
    る転送手段と、 上記遅延を施されたデータを、システムメモリから取り
    込む取込手段と、 上記転送手段で転送すべきデータおよび上記取込手段で
    取り込むべきデータを作成する演算手段と、 を備えることを特徴とする音声データ処理装置
  2. 【請求項2】 第1のバッファおよび第2のバッファを
    さらに備え、 上記演算手段は、単位時間単位で、その単位時間に出力
    されるべき複数のエフェクトデータを一括して生成する
    ものであり、上記転送手段は、上記第1バッファに記憶
    された複数のデータを一括して上記システムメモリに転
    送するものであり、上記取込手段は、上記システムメモ
    リに記憶された複数のデータを一括して上記第2のバッ
    ファに取り込むものである、ことを特徴とする請求項1
    に記載の音声データ処理装置。
  3. 【請求項3】 出力バッファをさらに備え、 上記演算手段は生成した複数のエフェクトデータを、上
    記出力バッファに一時記憶し、当該単位時間の次の単位
    時間において、一定の出力レートに従い出力することを
    特徴とする請求項2に記載の音声データ処理装置。
  4. 【請求項4】 上記演算手段は、時分割で、複数種類の
    エフェクトデータを作成し、上記出力バッファにおい
    て、対応するデータ同士を累算することを特徴とする請
    求項3に記載の音声データ処理装置。
  5. 【請求項5】 データの読み書き可能なシステムメモ
    リ、CPU、および遅延を伴うエフェクト処理を施した
    エフェクトデータを生成する音声データ処理装置がバス
    で接続されたコンピュータシステムであって、上記音声
    データ処理装置は、 上記遅延を行うべきデータを、システムメモリへ転送す
    る転送手段と、 上記遅延を施されたデータを、システムメモリから取り
    込む手段と、 上記転送手段で転送すべきデータおよび上記取込手段で
    取り込むべきデータを作成する演算手段とを備えること
    を特徴とするコンピュータシステム。
JP29108698A 1998-10-13 1998-10-13 音声データ処理装置およびコンピュータシステム Expired - Fee Related JP3991475B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29108698A JP3991475B2 (ja) 1998-10-13 1998-10-13 音声データ処理装置およびコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29108698A JP3991475B2 (ja) 1998-10-13 1998-10-13 音声データ処理装置およびコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2000122650A true JP2000122650A (ja) 2000-04-28
JP3991475B2 JP3991475B2 (ja) 2007-10-17

Family

ID=17764269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29108698A Expired - Fee Related JP3991475B2 (ja) 1998-10-13 1998-10-13 音声データ処理装置およびコンピュータシステム

Country Status (1)

Country Link
JP (1) JP3991475B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590460B2 (en) 2003-10-29 2009-09-15 Yamaha Corporation Audio signal processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7590460B2 (en) 2003-10-29 2009-09-15 Yamaha Corporation Audio signal processor

Also Published As

Publication number Publication date
JP3991475B2 (ja) 2007-10-17

Similar Documents

Publication Publication Date Title
CN108242232B (zh) 乐音生成装置、电子乐器、乐音生成方法以及存储介质
JP3324672B2 (ja) リアルタイム・ディジタル音声残響システム
JPH09114462A (ja) 楽音発生方法
JP3744440B2 (ja) ミキシング装置及び楽音発生装置並びにミキシング用の大規模集積回路
JP3991458B2 (ja) 楽音データ処理装置およびコンピュータシステム
JPH0798586A (ja) 電子楽器の音源装置
US6031916A (en) Sound effect adding device using DSP
JP3991475B2 (ja) 音声データ処理装置およびコンピュータシステム
JPH07121181A (ja) 音声情報処理装置
JP3978928B2 (ja) 楽音生成装置
JP3781171B2 (ja) 楽音発生方法
JP3120483B2 (ja) 効果付加装置
JP3572847B2 (ja) コンピュータソフトウェアを用いた音源システム及び方法
JP3347338B2 (ja) 楽音合成装置
JP3036417B2 (ja) 信号処理装置
JP3285137B2 (ja) 楽音発生装置および楽音発生方法、並びに該方法に係るプログラムを記憶した記憶媒体
JP4361628B2 (ja) オーディオ信号生成装置
JP7159583B2 (ja) 楽音生成装置、楽音生成方法、楽音生成プログラム及び電子楽器
JPH05249954A (ja) 効果付与装置
JP3460524B2 (ja) 曲データ加工方法、加工後曲データ再生方法および記憶媒体
JPH10207465A (ja) 楽音発生方法および楽音発生装置
JP3659002B2 (ja) 楽音データ処理装置およびコンピュータシステム
JP2684820B2 (ja) サラウンド回路
JP3223827B2 (ja) 音源波形データ生成方法および装置
JP3918309B2 (ja) エフェクト装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041224

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070123

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070423

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070716

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

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20100803

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20110803

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120803

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130803

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees