JP2008268468A - 楽音再生装置およびプログラム - Google Patents
楽音再生装置およびプログラム Download PDFInfo
- Publication number
- JP2008268468A JP2008268468A JP2007110146A JP2007110146A JP2008268468A JP 2008268468 A JP2008268468 A JP 2008268468A JP 2007110146 A JP2007110146 A JP 2007110146A JP 2007110146 A JP2007110146 A JP 2007110146A JP 2008268468 A JP2008268468 A JP 2008268468A
- Authority
- JP
- Japan
- Prior art keywords
- signal processing
- callback
- sound signal
- sound
- program
- 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
Links
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Abstract
【解決手段】各々が楽曲の異なるチャネルの音を表す複数の波形トラックからなるシーケンスデータを受け取り、各波形トラックの表す音に互いに異なる音信号処理プラグインを割り当てて音響効果の付与を行う楽音再生装置に、各音信号処理プラグインの1回目のコールバックの実行タイミングをプラグイン毎に異ならせるとともに、2回目以降のコールバックについては所定のサンプル数分のシーケンスデータを受け取る毎に実行する制御を実行させる。
【選択図】図1
Description
この楽音再生装置1は、シーケンスデータにしたがって楽音再生を行う装置である。ここで、シーケンスデータには、音のサンプリング波形を表わす時系列サンプリングデータが書き込まれた波形トラックやMIDIトラックが含まれている。また、ステレオ収録された楽曲のように複数チャネルの音を有する楽曲の場合には、上記シーケンスデータにはその複数チャネルの各々について上記波形トラックやMIDIトラックが含まれている。楽音再生装置1には、前述した音信号処理プラグインが予めインストールされており、音信号処理プラグインを適宜コールバックすることで音響効果の付与を実現しつつ楽音再生を実行する。つまり、楽音再生装置1は、シーケンスデータにしたがった楽音再生をソフトウェア処理で実現する装置であり、図1に示すように、制御部110、外部接続インタフェース(以下、「IF」)群120、サウンドシステム130、揮発性記憶部140、不揮発性記憶部150、および、これら各要素間のデータ授受を仲介するバス160を有している。
Disk-Read Only memory)ドライブなどの外部機器を接続するための外部機器IFや、NIC(Network
Interface Card)などの通信ネットワークIFを含んでいる。本実施形態では、これら外部接続IF群120のうちの適当なものを介して再生対象の楽曲を表すシーケンスデータ(以下、再生対象データ)が楽音再生装置1に与えられる。例えば、インターネットなどの通信回線を介したダウンロードにより再生対象データを与える場合には、上記通信ネットワークIFを介して与えれば良く、USBメモリなどの記録媒体に書き込まれた楽曲データを再生対象として与える場合には、上記外部機器IFにその記録媒体を接続し、その外部機器IFを介してその記録媒体から再生対象データを読み出すようにすれば良い。
以上に説明したように、本実施形態によれば、複数トラックからなるシーケンスデータに基づく楽音再生処理をソフトウェア処理で実現する際に処理負荷の集中を回避することが可能になる。また、本実施形態では、各音信号処理プラグインについての1回目のコールバックの実行タインミングを適宜調整することによって上記処理負荷の集中が回避されるのであるから、既存の音信号処理プラグインに改造を加える必要はなく、また、楽音再生装置に搭載するメモリ量を増加させる必要もないため、楽音再生装置の高価格化を招くこともない。
(1)上述した実施形態では、音信号処理プラグインの処理ブロックサイズが予め判っている場合について説明した。しかしながら、上記処理ブロックサイズが判らない場合(例えば、処理ブロックサイズが公表されていない場合)には、乱数や擬似乱数、素数を利用して上記1回目のコールバックの実行タイミングを音信号処理プラグイン毎に定めることにより、負荷分散を図っても良い。例えば、素数を利用する態様の具体例としては、例えば4つの音信号処理プラグインのコールバック制御を行う場合、1つ目のプラグインについては、最初のコールバック指示の受信時点で1回目のコールバックを行い、2つ目のプラグインについては2回目のコールバック指示の受信時点で1回目のコールバックを行い、3つ目のプラグインについては3回目のコールバック指示の受信時点で1回目のコールバックを行い、4つ目のプラグインについては5回目のコールバック指示の受信時点で1回目のコールバックを行うようにすれば良い。また、各プラグインの1回目のコールバックの実行タイミングを揃えてコールバック制御を行った場合に、何回目のコールバックで制御部110に係る処理負荷が最大になるかを計測する計測手段を設け、その計測結果から上記処理ブロックサイズを推定しても良い。
Claims (5)
- 記憶手段と、音信号のサンプルを示すトラックデータを用いた音信号処理を実行するプログラムであって、コールバックされる毎に、前記記憶手段の読み出し用バッファに処理対象である所定サンプル数分のトラックデータが記憶されている場合にそのトラックデータを前記記憶手段の信号処理用バッファに移動させ、コールバックされたとき、前記信号処理用バッファに前記所定サンプル数よりも多いサンプル数である処理ブロックサイズ分のトラックデータが記憶されている場合のこの処理ブロックサイズ分のトラックデータを用いた音信号処理を実行する音信号処理プログラムを利用して楽音の再生を行う楽音再生装置において、
複数のトラックデータからなるシーケンスデータを受け取って、前記読み出し用バッファに書き込み、前記読み出し用バッファに蓄積されたシーケンスデータの1トラックデータ当たりのサンプル数が所定サンプル数になる毎に、コールバック実行指示を発生する書き込み手段と、
前記シーケンスデータを構成する複数のトラックデータを用いた音信号処理を行う複数の音信号処理プログラムを前記記憶手段のプログラム実行領域に記憶させ、前記コールバック指示が与えられる毎に前記複数の音信号処理プログラムのコールバックを実行する手段であり、1回目のコールバック指示が与えられたときには、前記複数の音信号処理プログラムのコールバックを音信号処理プログラム毎に異なるタイミングで実行し、2回目以降のコールバック指示が与えられたときには、前記複数の音信号処理プログラムのコールバックを同時に実行するコールバック制御手段と、
を有することを特徴とする楽音再生装置。 - 前記コールバック制御手段は、前記処理ブロックサイズ、前記所定サンプル数、および前記シーケンスデータに含まれるトラックの数に応じて定まる間隔ずつ前記各音信号処理プログラムの1回目のコールバックの実行タイミングを異ならせる
ことを特徴とする請求項1に記載の楽音再生装置。 - 前記コールバック制御手段は、乱数または素数を利用して前記1回目のコールバックの実行タイミングを音信号処理プログラム毎に定める
ことを特徴とする請求項1に記載の楽音再生装置。 - 前記各音信号処理プログラムの1回目のコールバックを同時に実行した場合に、何回目のコールバックの実行で処理負荷が最大になるかを計測する計測手段を備え、
前記コールバック制御手段は、前記計測手段による計測結果から前記処理ブロックサイズを求め、その処理ブロックサイズ、前記所定サンプル数、および前記シーケンスデータに含まれるトラックの数に応じて定まる間隔ずつ前記各音信号処理プログラムの1回目のコールバックの実行タイミングを異ならせる
ことを特徴とする請求項1に記載の楽音再生装置。 - コンピュータ装置を、音信号のサンプルを示すトラックデータを用いた音信号処理を実行するプログラムであって、コールバックされる毎に、前記コンピュータ装置の読み出し用バッファに処理対象である所定サンプル数分のトラックデータが記憶されている場合にそのトラックデータを前記コンピュータ装置の信号処理用バッファに移動させ、コールバックされたとき、前記信号処理用バッファに前記所定サンプル数よりも多いサンプル数である処理ブロックサイズ分のトラックデータが記憶されている場合のこの処理ブロックサイズ分のトラックデータを用いた音信号処理を実行する音信号処理プログラムを利用して楽音の再生を行う楽音再生装置として機能させるプログラムにおいて、
前記コンピュータ装置を、
複数のトラックデータからなるシーケンスデータを受け取って、前記読み出し用バッファに書き込み、前記読み出し用バッファに蓄積されたシーケンスデータの1トラックデータ当たりのサンプル数が所定サンプル数になる毎に、コールバック実行指示を発生する書き込み手段と、
前記シーケンスデータを構成する複数のトラックデータを用いた音信号処理を行う複数の音信号処理プログラムを前記コンピュータ装置のプログラム実行領域に記憶させ、前記コールバック指示が与えられる毎に前記複数の音信号処理プログラムのコールバックを実行する手段であり、1回目のコールバック指示が与えられたときには、前記複数の音信号処理プログラムのコールバックを音信号処理プログラム毎に異なるタイミングで実行し、2回目以降のコールバック指示が与えられたときには、前記複数の音信号処理プログラムのコールバックを同時に実行するコールバック制御手段と、
して機能させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007110146A JP5169000B2 (ja) | 2007-04-19 | 2007-04-19 | 楽音再生装置およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007110146A JP5169000B2 (ja) | 2007-04-19 | 2007-04-19 | 楽音再生装置およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008268468A true JP2008268468A (ja) | 2008-11-06 |
JP5169000B2 JP5169000B2 (ja) | 2013-03-27 |
Family
ID=40048074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007110146A Expired - Fee Related JP5169000B2 (ja) | 2007-04-19 | 2007-04-19 | 楽音再生装置およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5169000B2 (ja) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0997064A (ja) * | 1995-09-29 | 1997-04-08 | Yamaha Corp | 自動演奏データ処理装置 |
JP2005215699A (ja) * | 2005-03-24 | 2005-08-11 | Yamaha Corp | 音源装置 |
JP3796752B2 (ja) * | 2003-09-24 | 2006-07-12 | ヤマハ株式会社 | 音楽演奏プログラム |
-
2007
- 2007-04-19 JP JP2007110146A patent/JP5169000B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0997064A (ja) * | 1995-09-29 | 1997-04-08 | Yamaha Corp | 自動演奏データ処理装置 |
JP3796752B2 (ja) * | 2003-09-24 | 2006-07-12 | ヤマハ株式会社 | 音楽演奏プログラム |
JP2005215699A (ja) * | 2005-03-24 | 2005-08-11 | Yamaha Corp | 音源装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5169000B2 (ja) | 2013-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7813514B2 (en) | Apparatus and method for checking loudspeaker | |
US6366971B1 (en) | Audio system for playback of waveform sample data | |
JP5534388B2 (ja) | 楽音生成装置 | |
CN108182930B (zh) | 音效处理方法、设备及音视频点播系统 | |
US8263849B2 (en) | Flash memory based stored sample electronic music synthesizer | |
EP2313827B1 (en) | Method and system for measuring task load | |
JP2976429B2 (ja) | アドレス制御回路 | |
JP5169000B2 (ja) | 楽音再生装置およびプログラム | |
JP4438766B2 (ja) | 楽音発生装置、及びプログラム | |
WO2019093307A1 (ja) | 音響装置および音響制御プログラム | |
JP2019174526A (ja) | 音楽再生システム、端末装置、音楽再生方法、及びプログラム | |
KR20010021575A (ko) | 음 발생 장치 및 방법 | |
CN114363769A (zh) | 数字信号处理装置以及数字信号处理装置的控制方法 | |
US8492635B2 (en) | Music sound generation apparatus, music sound generation system, and music sound generation method | |
US11418883B2 (en) | Audio interface apparatus and recording system | |
KR20040104200A (ko) | 상이한 드라이버의 오디오데이터를 내부 소프트웨어만으로제어하는 장치 및 이를 제어하는 방법 | |
JP4254677B2 (ja) | 楽音発生装置および楽音発生処理のプログラム | |
JP3781171B2 (ja) | 楽音発生方法 | |
JP7557323B2 (ja) | ディジタル信号処理装置及びディジタル信号処理装置の制御方法 | |
US11556303B2 (en) | Digital signal processing device and control method of digital signal processing device | |
JP5510813B2 (ja) | 楽音生成装置 | |
JPS6118995A (ja) | 演奏システム | |
JP2684820B2 (ja) | サラウンド回路 | |
JP4120979B2 (ja) | 波形再生装置 | |
JP3755909B2 (ja) | 信号処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100216 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120110 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120425 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121217 |
|
LAPS | Cancellation because of no payment of annual fees |