JP6531432B2 - プログラム、音源装置及び音響信号生成装置 - Google Patents
プログラム、音源装置及び音響信号生成装置 Download PDFInfo
- Publication number
- JP6531432B2 JP6531432B2 JP2015045479A JP2015045479A JP6531432B2 JP 6531432 B2 JP6531432 B2 JP 6531432B2 JP 2015045479 A JP2015045479 A JP 2015045479A JP 2015045479 A JP2015045479 A JP 2015045479A JP 6531432 B2 JP6531432 B2 JP 6531432B2
- Authority
- JP
- Japan
- Prior art keywords
- sound
- instruction
- sound generation
- sound source
- generation instruction
- 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.)
- Active
Links
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 title claims description 5
- 230000005236 sound signal Effects 0.000 claims description 13
- 238000005070 sampling Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 61
- 230000006870 function Effects 0.000 description 43
- 238000000034 method Methods 0.000 description 39
- 230000008859 change Effects 0.000 description 36
- 230000008569 process Effects 0.000 description 29
- 238000001514 detection method Methods 0.000 description 9
- 230000000694 effects Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
Images
Landscapes
- Electrophonic Musical Instruments (AREA)
Description
このような技術については、例えば特許文献1に記載されている。
図10では、シーケンスデータに、再生開始から9.995秒後にノートオン(発音開始)イベントを実行すべきことが記録されているとする。また、CPUが実行する割り込み処理のタイミングは10ms(ミリ秒)毎であるとする。
しかし、図10の例において、CPUから音源回路への発音開始指示の供給タイミングは、シーケンスデータにおいて設定されている9.995秒よりも5ms遅れている。従って、実際に発音が開始されるタイミングにも、これだけの遅れが生じることになる。
さらに、上記指示供給手段が、上記予め用意されたシーケンスデータに含まれるもの以外の演奏データを検出した場合に、その演奏データと対応する発音指示を、その発音指示を直ちに実行すべき旨の指定と共に上記音源装置に供給する手段を備えるとよい。
また、この発明は、上記の形態の他、装置、システム、方法、プログラム、記録媒体等、任意の態様で実施することができる。
まず、図1に、この発明の音響信号生成装置の一実施形態である電子音楽装置のハードウェア構成を示す。
図1に示すように、電子音楽装置10は、CPU11、ROM12、RAM13、記憶装置14、通信I/F15、検出回路16、表示回路17、音源回路18を備え、これらがシステムバス19により接続されている。また、操作子21を検出回路16に接続して、表示器22を表示回路17に接続して、DAC(デジタルアナログコンバータ)23を音源回路18に接続して、サウンドシステム24をDAC23に接続して、波形メモリ25を音源回路18に接続してそれぞれ設けている。
ROM12は、CPU11が実行するプログラムをはじめ、電源を切っても残しておくべきデータを記憶する書き換え不可能な不揮発性記憶手段である。なお、フラッシュROMのように書き換え可能な不揮発性記憶手段で構成してもよい。
RAM13は、CPU11のワークメモリとして使用する記憶手段である。
表示回路17は、表示器22を接続し、CPU11からの制御により表示器22に表示を行わせるためのインタフェースである。表示器22は、電子音楽装置10の設定状態や動作状態を表示するための表示手段であり、ランプやディスプレイ等を任意に組み合わせて構成することができる。
サウンドシステム24は、アナログ音響信号に基づき音声を出力する発音手段であり、例えばアンプとスピーカにより構成することができる。
より具体的には、波形メモリ25は、図2に示すように、所定のサンプリングレート(例えば44.1kHz)にてサンプリングされた波形サンプル値を、アドレスの進行に従って時系列的に配列されるように記憶する。
以上の電子音楽装置10は、例えば、演奏操作子を備えた電子楽器や、MIDI形式のシーケンスデータを再生するシーケンサとして構成することができる。
これらのうち楽曲データ取得部111は、ユーザによる再生指示に応じて、再生すべきシーケンスデータを取得する機能を備える。シーケンスデータは、記憶装置14から読み出したり、通信I/F15を介して外部装置からダウンロードしたりして取得することができる。
以上のシーケンスデータにより、楽曲や伴奏等の演奏内容を表すことができる。
演奏データ生成部114は、演奏操作検出部113が検出した演奏操作を示す演奏データを生成し、音源制御部116に供給する機能を備える。この演奏データは、シーケンスデータに含まれるイベントと同じ形式であるが、生成後ただちに実行されるべきものであり、実行タイミングの情報は持たない。
なお、発音指示や設定変更指示等の各種指示の供給は、処理の実行時点から所定時間以内に実行すべきイベントについて行う。例えば、ある割り込み処理の実行時刻が再生開始から9.800秒であり、所定時間が5msであれば、9.800秒から9.805秒までの間に実行すべきイベントと対応する発音指示の書き込み供給を行う。
タイマ117は、時間を計測する計時手段である。音源制御部116に専用のものである必要はない。
これらのうちレジスタ181は、音源回路18が行う音響信号生成に関する指示や設定を記憶する記憶手段である。レジスタ181に書き込む情報には、音源制御部116から供給された発音指示に含まれる情報をそのまま書き込むものと、音源制御部116から供給された発音指示と、音源回路18においてなされている設定とに基づき、音源回路18側で書き込む情報を決定すべきものとがある。
音源回路18は、複数の発音ch(チャンネル)を備えるが、図5に示すように、レジスタ181には、発音ch毎に設けた発音制御用レジスタ(A)と、全発音chに共通の設定変更イベント用レジスタ(B)及び設定用レジスタ(C)とがある。
このうち「タイマ値」は、書き込まれている発音指示を実行するタイミングを示す情報である。このタイミングは、タイマ182のカウント値により指定されているとよい。しかし、タイマ182のカウント値と比較を行う際に必要な換算処理を行えるのであれば、マイクロ秒単位など、別の単位で指定されていてもよい。また、音源制御部116がタイマ182のカウント値により発音指示の実行タイミングを供給し、音源回路18がその供給された値をそのままレジスタ181に設定できるようにするとよいが、この構成には限られない。なお、発音指示を直ちに実行すべき場合には、タイマ値として「0」を設定するようにするとよい。このようにすれば、読出回路183が該当の発音指示の実行タイミングを判定する際に、必ず「現時点より過去」であり、実行タイミングが到来していると判定することになるためである。
「波形アドレス」は、発音指示に応じた音響信号生成(発音)のために波形メモリ25から波形データを読み出す際の読出位置を示す情報である。この読出位置は、例えば開始アドレス、終了アドレス、ループの開始及び終了アドレス等により特定される。これらのアドレスは、発音に用いる音色の設定によって定まり、音源制御部116から発音指示が供給された際に、音源回路18がその時の音色の設定と対応する値を設定する。
そして、設定変更イベント用レジスタは、「タイマ値」及び「変更内容」を複数組記憶する領域を備える。
「変更内容」は、音源回路18全体、あるいはMIDIchに対する設定の変更内容を示す情報である。音源回路18は、音色の変更や、信号処理の変更等の情報を、音源制御部116から供給される設定変更指示に従ってここに書き込む。
また、「変更内容」を実行する場合は、読出回路183は、その内容に従って設定用レジスタに記憶されている設定を更新する。
また、読出回路183は、以上の他、音源制御部116からの要求に応じて、タイマ182における現在のカウント値を音源制御部116へ供給する機能も備える。
上述のように、先読み用データは、図4に示したシーケンスデータ中の各タイミング値を、音源回路18のタイマ182において同じ時刻を示すカウント値に置き換えることにより生成できる。
ここでは、1クロック長を四分音符の1/480の長さとし、タイマ182のカウント周期を1/44100秒とする。また、指定されているテンポ値をTとする。
この場合、四分音符の時間長は60/T秒なので、1クロック長は60/480T=1/8T秒である。従って、1クロック長をタイマ182のカウント値に換算すると、(1/8T)/(1/44100)=44100/8Tとなる。
テンポが120の場合、この値は480×44100/(8×120)=22050となる。小数値となった場合、四捨五入、切り捨て、切り上げなどを行って整数値に丸めるとよい。
図7に示すのは、CPU11が起動時に実行を開始するメイン処理のフローチャートである。
CPU11は、電源投入時やリセット時等、電子音楽装置10が起動された場合に、図7のフローチャートに示す処理を開始する。
この処理において、CPU11は、所定の初期化処理(S11)を行った後、ステップS12乃至S22を繰り返し、ユーザの操作あるいは外部装置からのデータ受信を検出する(S12)と共に、その検出した操作やデータに応じた処理を行う。
ステップS22は、ここまで説明したもの以外の操作や受信データに応じた処理である。
この処理において、CPU11は、MIDIシーケンサの動作ステータスが図7のステップS15でオンにされていなければ(S31のNo)、何もせずに処理を終了する。
なお、図8の処理では取得したカウント値以降の所定時間以内に実行すべきイベントを音源回路に供給したが、これに代えて、取得したカウント値以降のタイミングで実行すべきイベントを所定のデータ量(例えば所定のイベント数)分だけ音源回路に供給するようにしてもよい。
また、図8の処理においてステップSXの判断を追加で行うようにしてもよい。必要な発音chを確保できない場合、ステップS34の処理を行うためには、いずれかの発音chで実行中の発音をトランケートさせて、その発音chに、処理対象のイベントに係る発音を予約する設定を行うことになる。しかし、イベントの実行タイミングまで時間の余裕がある場合には、あえて発音を強制的に停止させてまで現時点で予約を行う必要はないと考えられるためである。このことにより、無用な発音の停止を避けることができる。
ステップSXの処理を行うか否かを、これらを考慮してユーザが任意に設定できるようにしてもよい。
以上の図8の処理は、音源制御部116の機能と対応するものである。
図9は、上述した電子音楽装置10におけるシーケンスデータ中のイベントの処理タイミングを示す、図10と対応する図である。
図9の例でも、シーケンスデータに、再生開始から9.995秒後にノートオンイベントを実行すべきことが記録されているとする。また、CPUが実行する割り込み処理のタイミングは10ms毎であるとし、図8のステップS33における所定時間は20msであるとする。
従って、発音開始タイミングの誤差は、シーケンスデータにおいて指定されている時刻から0.022675ms以内であり、CPU11の割り込み処理の周期程度の誤差が生じ得る図10の場合と比べ、極めて高い時間精度で発音を開始することができる。
なお、ノートオン及びノートオフ以外の、設定変更などのイベントについても、同様に実行可能である。
そして、ステップS33の所定時間を、割り込み処理の実行間隔と同じにするだけでも、タイミングずれの防止に一定の効果は得られる。これらを考慮して、この所定時間を設定するとよい。
例えば、上述した実施形態において、CPU11は音源回路18のタイマ182のカウント値を取得し、図8のステップS33でその取得したカウント値をイベントの実行タイミングと比較した。しかし、CPU11のタイマ117と音源回路18のタイマ182との間の計時誤差が許容できるほど少ない(例えば100分で0.2ms)のであれば、CPU11のタイマ117が計時する時刻を用いて、イベントの実行タイミングと比較してもよい。この場合、必要に応じてカウント値の換算を行う。
また、シーケンスデータの記述形式はMIDI形式に限られない。音源回路18等の音源装置に実行させるべき発音指示と、その実行タイミングとを示す情報とを何らかの形で表現可能なデータであれば、任意の形式のものを採用可能である。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
従って、この発明を適用することにより、シーケンスデータに従って生成される音響信号の品質を向上させることができる。
Claims (6)
- コンピュータを、音源装置に発音指示を行う発音制御装置として機能させるためのプログラムであって、
前記コンピュータを、
所定の時間間隔のタイミングでそれぞれ、予め用意されたシーケンスデータに従って該タイミングから所定時間以内に実行すべき発音指示または該タイミング以降に実行すべき所定量の発音指示を、その発音指示の実行タイミングの指定と共に前記音源装置に供給する指示供給手段として機能させるためのプログラム。 - 請求項1に記載のプログラムであって、
前記音源装置に対する前記実行タイミングの指定は、前記所定の時間間隔よりも細かい単位で行われるものであることを特徴とするプログラム。 - 請求項1又は2に記載のプログラムであって、
前記指示供給手段は、前記予め用意されたシーケンスデータに含まれるもの以外の演奏データを検出した場合に、該演奏データと対応する発音指示を、その発音指示を直ちに実行すべき旨の指定と共に前記音源装置に供給する手段を備えることを特徴とするプログラム。 - 音源装置であって、
発音指示と、該発音指示の実行タイミングとを記憶する記憶手段と、
前記記憶手段に記憶されている発音指示に従った音響信号出力を、該発音指示と対応して前記記憶手段に記憶されている実行タイミングに開始する制御手段とを備え、
前記制御手段は、出力する音響信号のサンプリング周期に基づき予め定めた周期で、前記記憶手段に記憶されている発音指示の実行タイミングが到来したか否かを確認し、
前記制御手段の機能は、前記記憶手段に記憶させるべき発音指示及び実行タイミングを供給する機能を実現するプロセッサとは異なるハードウェアにより実現され、
さらに、
タイマと、
前記タイマがカウントする時間の情報を前記プロセッサに提供する手段とを備えることを特徴とする音源装置。 - 音源装置であって、
発音指示と、該発音指示の実行タイミングとを記憶する記憶手段と、
前記記憶手段に記憶されている発音指示に従った音響信号出力を、該発音指示と対応して前記記憶手段に記憶されている実行タイミングに開始する制御手段とを備え、
前記制御手段の機能は、前記記憶手段に記憶させるべき発音指示及び実行タイミングを供給する機能を実現するプロセッサとは異なるハードウェアにより実現されており、
さらに、
タイマと、
前記タイマがカウントする時間の情報を前記プロセッサに提供する手段とを備えることを特徴とする音源装置。 - 音源部に発音指示を行う発音制御部と、前記音源部とを備えた音響信号生成装置であって、
前記発音制御部は、
所定の時間間隔のタイミングでそれぞれ、予め用意されたシーケンスデータに従って該タイミングから所定時間以内に実行すべき発音指示を、その発音指示の実行タイミングの指定と共に前記音源部に供給する指示供給手段を備え、
前記音源部は、
前記発音制御部から供給される発音指示と、該発音指示の実行タイミングとを記憶する記憶手段と、
前記記憶手段に記憶されている発音指示に従った音響信号出力を、該発音指示と対応して前記記憶手段に記憶されている実行タイミングに開始する制御手段とを備えることを特徴とする音響信号生成装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015045479A JP6531432B2 (ja) | 2015-03-09 | 2015-03-09 | プログラム、音源装置及び音響信号生成装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015045479A JP6531432B2 (ja) | 2015-03-09 | 2015-03-09 | プログラム、音源装置及び音響信号生成装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2016166911A JP2016166911A (ja) | 2016-09-15 |
| JP6531432B2 true JP6531432B2 (ja) | 2019-06-19 |
Family
ID=56898319
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015045479A Active JP6531432B2 (ja) | 2015-03-09 | 2015-03-09 | プログラム、音源装置及び音響信号生成装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6531432B2 (ja) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP6597583B2 (ja) * | 2016-12-14 | 2019-10-30 | 京セラドキュメントソリューションズ株式会社 | 攪拌搬送部材及びそれを備えた現像装置並びに画像形成装置 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3138585B2 (ja) * | 1994-01-14 | 2001-02-26 | 株式会社河合楽器製作所 | 電子楽音発生装置 |
| JP3409642B2 (ja) * | 1997-05-20 | 2003-05-26 | ヤマハ株式会社 | 自動演奏装置、自動演奏データ処理方法及び電子的情報記憶媒体 |
| JP3552675B2 (ja) * | 2001-03-27 | 2004-08-11 | ヤマハ株式会社 | 波形生成方法及び装置 |
| JP2007333780A (ja) * | 2006-06-12 | 2007-12-27 | Oki Electric Ind Co Ltd | 多ポリフォニック発音音源システム |
| JP5839156B2 (ja) * | 2010-03-10 | 2016-01-06 | ヤマハ株式会社 | 楽音信号発生装置 |
-
2015
- 2015-03-09 JP JP2015045479A patent/JP6531432B2/ja active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2016166911A (ja) | 2016-09-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN104412320B (zh) | 使用音频波形数据的自动演奏技术 | |
| JP6011064B2 (ja) | 自動演奏装置及びプログラム | |
| US8772618B2 (en) | Mixing automatic accompaniment input and musical device input during a loop recording | |
| JP3744216B2 (ja) | 波形形成装置及び方法 | |
| CN103208296B (zh) | 进行反复再现的录音再现装置及录音再现方法 | |
| JP6252088B2 (ja) | 波形再生を行うためのプログラム、波形再生装置及び方法 | |
| US9396715B2 (en) | Technique for generating audio data for loop reproduction on the basis of performance data | |
| JP5533892B2 (ja) | 演奏装置 | |
| JP4274152B2 (ja) | 楽音合成装置 | |
| JP3878485B2 (ja) | 波形再生装置 | |
| JP6531432B2 (ja) | プログラム、音源装置及び音響信号生成装置 | |
| JP4702160B2 (ja) | 楽音合成装置及びプログラム | |
| JP2010113278A (ja) | 楽曲処理装置およびプログラム | |
| JP7367835B2 (ja) | 録音再生装置、録音再生装置の制御方法及び制御プログラム並びに電子楽器 | |
| JP4802857B2 (ja) | 楽音合成装置及びプログラム | |
| JP3904012B2 (ja) | 波形生成装置及び方法 | |
| JP6528752B2 (ja) | 楽音再生装置、楽音再生方法、プログラムおよび電子楽器 | |
| JP4552769B2 (ja) | 楽音波形合成装置 | |
| JP4236570B2 (ja) | 波形再生装置および波形再生プログラム | |
| JP3407625B2 (ja) | 自動演奏装置、自動演奏方法及びプログラムを記録した媒体 | |
| JP4062193B2 (ja) | 自動伴奏再生位置検出装置、自動伴奏装置及び自動伴奏再生位置検出プログラム並びに自動伴奏制御プログラム | |
| JP4172366B2 (ja) | 自動演奏装置、自動演奏プログラム、自動演奏データ及びそのデータを記録した記録媒体 | |
| JP3757664B2 (ja) | 演奏情報再生装置および演奏情報再生プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
| JP4031308B2 (ja) | 自動演奏プログラム | |
| JP3407563B2 (ja) | 自動演奏装置及び自動演奏方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180125 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20181127 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181204 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181219 |
|
| 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: 20190423 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190506 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 6531432 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
| S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313532 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |