JP6531432B2 - プログラム、音源装置及び音響信号生成装置 - Google Patents

プログラム、音源装置及び音響信号生成装置 Download PDF

Info

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
Application number
JP2015045479A
Other languages
English (en)
Other versions
JP2016166911A (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 JP2015045479A priority Critical patent/JP6531432B2/ja
Publication of JP2016166911A publication Critical patent/JP2016166911A/ja
Application granted granted Critical
Publication of JP6531432B2 publication Critical patent/JP6531432B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Electrophonic Musical Instruments (AREA)

Description

この発明は、コンピュータを発音制御装置として機能させるためのプログラム、発音制御装置からの指示に基づき音響信号を出力する音源装置、および、発音制御部と音源部とを備えた音響信号生成装置に関する。
従来から、楽音の発音音高や発音強度等を示すイベントをその実行タイミングと対応付けて記録したシーケンスデータに基づき、各楽音の発音指示をその予め記録されたイベントの実行タイミングで音源回路等に供給する技術が知られている。そして、その供給を受けた音源回路が発音指示に基づく音響信号を出力することにより、シーケンスデータに基づく自動演奏を行うことができる。
このような技術については、例えば特許文献1に記載されている。
特開平8−30269号公報
しかしながら、特許文献1に記載のような従来の技術において、発音指示を音源回路等に供給するタイミングの制御の手法は、一定周期でCPUが割り込み処理を実行し、その割り込み処理のタイミングにおいて、実行タイミングを過ぎているイベントがあれば、そのイベントに従った発音指示を音源回路等に供給する、というものである。
図10に、この処理に従った発音タイミングの概要を示す。
図10では、シーケンスデータに、再生開始から9.995秒後にノートオン(発音開始)イベントを実行すべきことが記録されているとする。また、CPUが実行する割り込み処理のタイミングは10ms(ミリ秒)毎であるとする。
図10の例において、CPUは、シーケンスデータの再生開始から10ms毎に割り込み処理を行い、実行タイミングを過ぎたイベントがないか判断する。経過時間9.99秒の処理までは、該当のイベントはないと判断する。その後、経過時間10.00秒の処理において、ノートオンイベントの実行タイミングが過ぎていると判断し、そのノートオンイベントと対応する発音開始指示を音源回路へ供給する。
音源回路は、CPUよりも短い間隔(例えば出力するオーディオ信号のサンプリング周波数である44.1kHz≒0.022675ms間隔)で発音指示を監視しており、発音開始指示がCPUから供給されると、直ちに(無視できる程度の遅延時間以内で)発音を開始することができる。
しかし、図10の例において、CPUから音源回路への発音開始指示の供給タイミングは、シーケンスデータにおいて設定されている9.995秒よりも5ms遅れている。従って、実際に発音が開始されるタイミングにも、これだけの遅れが生じることになる。
図10からわかるように、割り込み処理が正しく10ms間隔で行われたとしても、各音の発音開始タイミングには、最大で割り込み周期と同じ10msの遅れが生じる。また、CPUの処理負荷が高い場合には、割り込み処理の開始が遅れたり、あるタイミングの割り込み処理が全く実行できなかったりすることも考えられる。このような場合には、割り込み周期よりも大きな遅れが生じる可能性もある。また、再生時の状況に応じて遅れの量が変化してしまうことになる。
この発明は、このような事情に鑑みてなされたものであり、シーケンスデータに従った音響信号の生成を、より高いタイミング精度で行えるようにすることを目的とする。
この発明のプログラムは、上記の目的を達成するため、コンピュータを、音源装置に発音指示を行う発音制御装置として機能させるためのプログラムであって、上記コンピュータを、所定の時間間隔のタイミングでそれぞれ、予め用意されたシーケンスデータに従ってそのタイミングから所定時間以内に実行すべき発音指示またはそのタイミング以降に実行すべき所定量の発音指示を、その発音指示の実行タイミングの指定と共に上記音源装置に供給する指示供給手段として機能させるためのプログラムである。
このようなプログラムにおいて、上記音源装置に対する上記実行タイミングの指定は、上記所定の時間間隔よりも細かい単位で行われるものであるとよい。
さらに、上記指示供給手段が、上記予め用意されたシーケンスデータに含まれるもの以外の演奏データを検出した場合に、その演奏データと対応する発音指示を、その発音指示を直ちに実行すべき旨の指定と共に上記音源装置に供給する手段を備えるとよい。
また、この発明の音源装置は、発音指示と、その発音指示の実行タイミングとを記憶する記憶手段と、上記記憶手段に記憶されている発音指示に従った音響信号出力を、その発音指示と対応して上記記憶手段に記憶されている実行タイミングに開始する制御手段とを設け、上記制御手段が、出力する音響信号のサンプリング周期に基づき予め定めた周期で、上記記憶手段に記憶されている発音指示の実行タイミングが到来したか否かを確認するようにし、上記制御手段の機能が、上記記憶手段に記憶させるべき発音指示及び実行タイミングを供給する機能を実現するプロセッサとは異なるハードウェアにより実現され、さらに、タイマと、上記タイマがカウントする時間の情報を上記プロセッサに提供する手段とを設けたものである。
また、この発明の別の音源装置は、発音指示と、その発音指示の実行タイミングとを記憶する記憶手段と、上記記憶手段に記憶されている発音指示に従った音響信号出力を、その発音指示と対応して上記記憶手段に記憶されている実行タイミングに開始する制御手段とを設け、上記制御手段の機能を、上記記憶手段に記憶させるべき発音指示及び実行タイミングを供給する機能を実現するプロセッサとは異なるハードウェアにより実現し、さらに、タイマと、上記タイマがカウントする時間の情報を上記プロセッサに提供する手段とを設けたものである。
また、この発明の音響信号処理装置は、音源部に発音指示を行う発音制御部と、上記音源部とを備えた音響信号生成装置であって、上記発音制御部に、所定の時間間隔のタイミングでそれぞれ、予め用意されたシーケンスデータに従ってそのタイミングから所定時間以内に実行すべき発音指示を、その発音指示の実行タイミングの指定と共に上記音源部に供給する指示供給手段を設け、上記音源部に、上記発音制御部から供給される発音指示と、その発音指示の実行タイミングとを記憶する記憶手段と、上記記憶手段に記憶されている発音指示に従った音響信号出力を、その発音指示と対応して上記記憶手段に記憶されている実行タイミングに開始する制御手段とを設けたものである。
また、この発明は、上記の形態の他、装置、システム、方法、プログラム、記録媒体等、任意の態様で実施することができる。
以上のような構成によれば、楽曲データに従った音響信号の生成を、より高いタイミング精度で行うことができる。
この発明の音響信号生成装置の一実施形態である電子音楽装置のハードウェア構成を示す図である。 波形メモリに記憶させる波形データの例を示す図である。 図1に示した電子音楽装置が備える音響信号出力機能の構成を示す図である。 シーケンスデータの例を示す図である。 音源回路のレジスタに記憶させるデータの例を示す図である。 先読み用データの生成について説明するための図である。 図1に示した電子音楽装置のCPUが実行するメイン処理のフローチャートである。 同じく割り込み処理のフローチャートである。 本発明の実施形態の効果について説明するための図である。 従来技術の問題点について説明するための図である。
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
まず、図1に、この発明の音響信号生成装置の一実施形態である電子音楽装置のハードウェア構成を示す。
図1に示すように、電子音楽装置10は、CPU11、ROM12、RAM13、記憶装置14、通信I/F15、検出回路16、表示回路17、音源回路18を備え、これらがシステムバス19により接続されている。また、操作子21を検出回路16に接続して、表示器22を表示回路17に接続して、DAC(デジタルアナログコンバータ)23を音源回路18に接続して、サウンドシステム24をDAC23に接続して、波形メモリ25を音源回路18に接続してそれぞれ設けている。
このうち、CPU11は、電子音楽装置10の動作を統括制御する制御手段であり、ROM12あるいは記憶装置14に記憶された所要のプログラムを実行して電子音楽装置10の各部を制御することにより、後述する音源制御部116の機能をはじめとする種々の機能を実現する。
ROM12は、CPU11が実行するプログラムをはじめ、電源を切っても残しておくべきデータを記憶する書き換え不可能な不揮発性記憶手段である。なお、フラッシュROMのように書き換え可能な不揮発性記憶手段で構成してもよい。
RAM13は、CPU11のワークメモリとして使用する記憶手段である。
記憶装置14は、MIDI(Musical Instrument Digital Interface:登録商標)形式のシーケンスデータ(ソングデータや伴奏スタイルデータなど)やオーディオ波形データ(オーディオのソングデータや伴奏スタイルデータなど)を記憶する記憶手段である。ここで、ソングデータは、1曲の楽曲を示すデータである。伴奏スタイルデータは、ユーザの演奏に対して付すための伴奏のフレーズを示すデータである。また、記憶装置14は、ハードディスク、フレキシブルディスク、コンパクトディスク(CD)、デジタル多目的ディスク(DVD)、フラッシュメモリなど、任意の記憶媒体及びその駆動装置により構成することができる。記憶媒体は、着脱可能であっても、電子音楽装置10に内蔵されていてもよい。
通信I/F15は、外部機器を電子音楽装置10に接続するためのインタフェースであり、有線と無線を問わず任意の規格のインタフェースを採用可能である。通信I/F15には、ユーザの操作に応じてあるいは自動的にMIDI形式の演奏データを生成するMIDI機器を接続し、ここからMIDIデータを入力することが考えられる。
検出回路16は、ユーザからの操作を受け付けるための操作子21を接続し、操作子21が受け付けた操作を検出してCPU11に供給するためのインタフェースである。この操作子21は、電子音楽装置10の動作に関する設定や指示を行うためのキー、ボタン、スライダ、タッチパネル等の設定操作子に加え、演奏操作を行うための鍵盤やペダル等の演奏操作子を含んでいてもよい。
表示回路17は、表示器22を接続し、CPU11からの制御により表示器22に表示を行わせるためのインタフェースである。表示器22は、電子音楽装置10の設定状態や動作状態を表示するための表示手段であり、ランプやディスプレイ等を任意に組み合わせて構成することができる。
音源回路18は、CPU11とは異なるハードウェアであるLSIにより構成した波形合成回路であり、電子音楽装置10の音源部として機能する。ここでは、音源回路18はPCM(Pulse Code Modulation)音源の機能を実現するための波形レンダリングの補助回路として構成している。より具体的には、音源回路18は、波形メモリ25に記憶された楽器音等の波形データと、CPU11から供給される発音指示とに基づき音響信号であるオーディオ波形データを生成し、出力する。また、音源回路18は、オーディオ波形形式のソングデータやスタイルデータの再生も可能である。なお、CPU11と音源回路18を、CPUコアと音源コアを1つのパッケージに内蔵したLSIで構成してもよい。
DAC23は、音源回路18が出力するデジタルのオーディオ波形データをアナログ音響信号に変換して、サウンドシステム24へ出力する機能を備える。
サウンドシステム24は、アナログ音響信号に基づき音声を出力する発音手段であり、例えばアンプとスピーカにより構成することができる。
波形メモリ25は、音源回路18がオーディオ波形データの生成に用いる波形データを記憶する記憶手段である。波形メモリ25は例えばROMとして構成でき、ピアノやギターのような自然楽器の楽音を所定周期でサンプリングしたPCM波形や、人工的に合成した楽音、効果音のような非楽音などのPCM波形等の波形データを記憶している。
より具体的には、波形メモリ25は、図2に示すように、所定のサンプリングレート(例えば44.1kHz)にてサンプリングされた波形サンプル値を、アドレスの進行に従って時系列的に配列されるように記憶する。
また、波形メモリ25においては、楽音等の音色の種類毎に、波形データが記憶されているアドレスが管理されており、そのアドレスを指定することで、所望の音色の楽音等の波形データを読み出すことができる。なお、波形メモリ25には、単音の楽音の波形データに限らず、複音や、複数の音からなる音楽的フレーズの波形データを記憶させてもよい。また、波形メモリ25をRAMで構成し、外部の記憶媒体から波形メモリ25へ波形データを読み込んで記憶させることができるようにしてもよい。
以上の電子音楽装置10は、例えば、演奏操作子を備えた電子楽器や、MIDI形式のシーケンスデータを再生するシーケンサとして構成することができる。
次に、図3に、電子音楽装置10が備える音響信号出力機能の構成を示す。なお、図3に示すのは、MIDI形式のシーケンスデータあるいは演奏データに従い、CPU11が音源回路18を制御して音響信号を生成させるための機能と、音源回路18がその制御に従って音響信号を生成して出力するための機能である。またここでは、CPU11側の機能は、CPU11が所要のプログラムを実行することによって実現され、音源回路18側の機能は専用ハードウェアにより実現されるものである。ただし、後述の通り、この構成に限られない。
図3に示すように、CPU11は、楽曲データ取得部111、先読み用データ生成部112、演奏操作検出部113、演奏データ生成部114、演奏データ取得部115、音源制御部116、タイマ117の機能を備える。
これらのうち楽曲データ取得部111は、ユーザによる再生指示に応じて、再生すべきシーケンスデータを取得する機能を備える。シーケンスデータは、記憶装置14から読み出したり、通信I/F15を介して外部装置からダウンロードしたりして取得することができる。
また、シーケンスデータの構成は、例えば図4に示すものである。すなわち、シーケンスデータは、イベントのデータが、そのイベントと対応する処理を実行すべきタイミングを示すタイミング値と対応付けて時系列的に配置されたものである。このイベントには、発音開始を示すノートオン、発音停止を示すノートオフ、音量等の指定を示すコントロールチェンジ、音色の指定を示すプログラムチェンジ、テンポの指定を示すテンポチェンジ等がある。また、タイミング値は、例えば四分音符の1/480を単位とするクロックのカウント値により指定することができる。タイミング値は、前のイベントからの経過時間を示す相対クロック値で表してもよいし、演奏開始からの経過時間を示す絶対クロック値で表してもよい。
以上のシーケンスデータにより、楽曲や伴奏等の演奏内容を表すことができる。
次に、先読み用データ生成部112は、楽曲データ取得部111が取得したシーケンスデータに基づき、シーケンスデータ中のイベントに基づく発音指示や設定変更指示等の各種指示を音源回路18のレジスタ181に書き込むタイミングを検出するための先読み用データを生成する機能を備える。この先読み用データは、シーケンスデータ中の各タイミング値を、音源回路18のタイマ182において同じ時刻を示すカウント値に置き換えたものである。その詳細については後述する。
なお、本明細書において、「発音指示」には、発音開始指示だけでなく、発音停止指示も含む。また、「設定変更指示」には発音指示以外の音量設定指示等、発音に関して音源回路18に書き込む指示は全て含むものとする。なお、「設定変更指示」には、テンポ設定のように、イベントと対応する処理をCPU11側で行い、イベントと直接対応する指示を音源回路18に書き込む必要がない場合もある。
演奏操作検出部113は、操作子21中の演奏操作子に対してなされた演奏操作を検出する機能を備える。
演奏データ生成部114は、演奏操作検出部113が検出した演奏操作を示す演奏データを生成し、音源制御部116に供給する機能を備える。この演奏データは、シーケンスデータに含まれるイベントと同じ形式であるが、生成後ただちに実行されるべきものであり、実行タイミングの情報は持たない。
また、演奏データ取得部115は、通信I/F15を介して外部装置から送信される演奏データを取得し、音源制御部116に供給する機能を備える。この演奏データも、シーケンスデータに含まれるイベントと同じ形式であるが、取得後ただちに実行されるべきものであり、実行タイミングの情報は持たない。演奏データの送信元としては、MIDIシーケンサや、外付けの演奏操作受付装置(キーボード等)が考えられる。
音源制御部116は、タイマ117が計時する時間に従い、所定の時間間隔(例えば2ms間隔)で割り込み処理を行う機能を備える。この割り込み処理は、シーケンスデータ中のイベント及び、演奏データ生成部114あるいは演奏データ取得部115から供給される演奏データに基づく発音指示や設定変更指示等の各種指示を、その実行タイミングの指定と共に音源回路18に供給するための処理である。
なお、発音指示や設定変更指示等の各種指示の供給は、処理の実行時点から所定時間以内に実行すべきイベントについて行う。例えば、ある割り込み処理の実行時刻が再生開始から9.800秒であり、所定時間が5msであれば、9.800秒から9.805秒までの間に実行すべきイベントと対応する発音指示の書き込み供給を行う。
また、演奏データ生成部114あるいは演奏データ取得部115から供給される演奏データ、すなわち再生中のシーケンスデータに含まれるもの以外に検出した演奏データは、直ちに対応する指示を行うべきものである。従って、音源制御部116は、割り込み処理においてこれらの演奏データを検出した場合、対応する指示を、直ちに実行すべき旨の指定と共に、音源回路18に供給する。
タイマ117は、時間を計測する計時手段である。音源制御部116に専用のものである必要はない。
一方、音源回路18は、レジスタ181、タイマ182、読出回路183、楽音制御回路184を備える。
これらのうちレジスタ181は、音源回路18が行う音響信号生成に関する指示や設定を記憶する記憶手段である。レジスタ181に書き込む情報には、音源制御部116から供給された発音指示に含まれる情報をそのまま書き込むものと、音源制御部116から供給された発音指示と、音源回路18においてなされている設定とに基づき、音源回路18側で書き込む情報を決定すべきものとがある。
ここで、図5に、レジスタ181に記憶させるデータの構成を示す。
音源回路18は、複数の発音ch(チャンネル)を備えるが、図5に示すように、レジスタ181には、発音ch毎に設けた発音制御用レジスタ(A)と、全発音chに共通の設定変更イベント用レジスタ(B)及び設定用レジスタ(C)とがある。
このうち発音制御用レジスタは、ノートオンイベント及びノートオフイベントと対応する発音指示を書き込むためのものである。なお、音源制御部116は、ノートオンイベントと対応する発音開始指示を音源回路18に供給する場合、発音に使用中でない発音chを検索して、発見した発音chの1つを、ノートオンイベントと対応する発音に使用する発音chとして指定する。また、音源制御部116は、ノートオフイベントと対応する発音停止指示を音源回路18に供給する場合、対応するノートオンイベントに応じた発音を行っている発音chを、発音停止の対象として指定する。そして、音源回路18は、その指定された発音chと対応する発音制御用レジスタに、音源制御部116から供給された発音指示及び実行タイミングに基づき、必要な情報を書き込む。
また、発音制御用レジスタは、「タイマ値」、「発音指示」、「波形アドレス」及び「その他パラメータ」を記憶する領域を備える。
このうち「タイマ値」は、書き込まれている発音指示を実行するタイミングを示す情報である。このタイミングは、タイマ182のカウント値により指定されているとよい。しかし、タイマ182のカウント値と比較を行う際に必要な換算処理を行えるのであれば、マイクロ秒単位など、別の単位で指定されていてもよい。また、音源制御部116がタイマ182のカウント値により発音指示の実行タイミングを供給し、音源回路18がその供給された値をそのままレジスタ181に設定できるようにするとよいが、この構成には限られない。なお、発音指示を直ちに実行すべき場合には、タイマ値として「0」を設定するようにするとよい。このようにすれば、読出回路183が該当の発音指示の実行タイミングを判定する際に、必ず「現時点より過去」であり、実行タイミングが到来していると判定することになるためである。
「発音指示」は、発音開始と発音停止の区別を示す情報である。この「発音指示」には、音源制御部116から供給された発音指示がノートオン(発音開始)であるかノートオフ(発音停止)であるかを示す値を設定すればよい。
「波形アドレス」は、発音指示に応じた音響信号生成(発音)のために波形メモリ25から波形データを読み出す際の読出位置を示す情報である。この読出位置は、例えば開始アドレス、終了アドレス、ループの開始及び終了アドレス等により特定される。これらのアドレスは、発音に用いる音色の設定によって定まり、音源制御部116から発音指示が供給された際に、音源回路18がその時の音色の設定と対応する値を設定する。
「その他パラメータ」は、発音する楽音のピッチやタイムストレッチの伸縮割合等を指定する読出速さ、音の発音強さ等を指定するベロシティ、波形メモリ25から読み出した波形データに対して付与するエンベロープやエフェクト等を規定する情報である。
一方、設定変更イベント用レジスタは、音源回路18全体あるいは各発音chに対する設定の変更に係る設定変更指示を検出した場合に、その設定変更指示に従って実行すべき設定の変更内容を書き込むためのものである。なお、音源回路18全体に対する設定は、設定用レジスタに記憶される。
そして、設定変更イベント用レジスタは、「タイマ値」及び「変更内容」を複数組記憶する領域を備える。
このうち「タイマ値」は、対応して書き込まれている「変更内容」を実行するタイミングを示す情報であり、発音制御用レジスタ中の「タイマ値」と同趣旨である。
「変更内容」は、音源回路18全体、あるいはMIDIchに対する設定の変更内容を示す情報である。音源回路18は、音色の変更や、信号処理の変更等の情報を、音源制御部116から供給される設定変更指示に従ってここに書き込む。
また、設定用レジスタは、音源回路18全体、あるいは各MIDIchに対する設定の情報を記憶する領域を備える。この設定としては、例えば発音に用いる音色の設定や、楽音制御回路184にて行う信号処理の設定等が考えられる。読出回路183が、設定変更イベント用レジスタに記憶されている情報に従い、「タイマ値」が示す時刻に、対応する「変更内容」をこの設定用レジスタに書き込むことにより、設定用レジスタに記憶されている情報の更新を行う。
図3の説明に戻ると、タイマ182は、音源回路18における発音指示や設定変更指示の実行タイミングを生成し、読出回路183へ供給するための計時手段である。また、タイマ182は、実行タイミングの周期を単位として時間の経過をカウント(ここではカウントアップとするが、カウントダウンでも構わない)する機能も備える。また、タイマ182は、シーケンスデータの再生開始時に音源制御部116からの指示によりリセットされる。
なお、音源回路18における発音指示や設定変更指示の実行タイミングは、CPU11において音源制御部116が実行する上述した割り込み処理の間隔よりも十分に短い間隔で周期的に発生するものである。例えばDAC23におけるDA変換処理のサイクル(DACサイクル)である44.1kHzと同じ周期(0.022675ms周期)とすることが考えられる。
このようにすれば、音源回路18が出力するオーディオ波形の処理周期と完全に同期したタイミングでシーケンスデータの処理を行うことができる。しかし、この周期に限らず、他の周期を採用しても構わない。ただし、DACサイクルとの自然数倍、1/自然数倍、例えば2倍、1/2倍など、DACサイクルとの関係性が明確な周期であることが望ましい。DACサイクルとは無関係の周期を採用する場合、整数より細かい時刻を発音時刻として指定し、補間器を用いて整数より細かい値を求めながら再生することで、より時間精度の高いシーケンスデータの処理を行うことができる。
読出回路183は、タイマ182から供給される各実行タイミングにおいて、レジスタ181に記憶されている発音指示や設定変更指示の実行に係る処理を行う制御手段の機能を備える。より具体的には、読出回路183は、各発音chの発音制御用レジスタ及び制御イベント用レジスタに記憶されている「タイマ値」と、タイマ182のカウント値とを(必要に応じて換算処理を行った上で)比較する。そして、記憶されているタイマ値(あるいは換算値)がタイマ182のカウント値以下であれば、そのタイマ値と対応する「発音指示」あるいは「制御内容」を実行する。
「発音指示」が発音開始である場合には、読出回路183は、対応する「波形アドレス」に記憶されている読出開始アドレスから、波形メモリ25に記憶されている波形データの読み出しを開始し、終了アドレスに達したら読み出しを終了する。必要に応じて、ループ開始アドレスからループ終了アドレスの間の読み出しを繰り返したり、「その他パラメータ」に含まれるピッチに応じた速さで読み出しアドレスを進行させたり、補間処理を行ったり、読み出し速さパラメータに応じて波形データのタイムストレッチを行ったりする。
なお、読出回路183は、一旦波形データの読み出しを開始すると、発音停止指示があるか、又は音量が低下した等の理由により強制的に発音を停止されるまで、DACサイクル毎に波形データの読み出しを繰り返す。従って、発音指示の実行タイミングとDACサイクルとが同じ周期であると、これらのタイミング管理を共通化できるため、音源回路18の回路構成を簡略化できて好ましい。なお、波形データの読み出しをDACサイクル毎に行うものに限らず、数DACサイクルに一回、バースト読み出しをして波形データをキャッシュし、そのキャッシュされた波形データからDACサイクル毎に、ピッチアップに応じて必要なサンプル数を読み出すようにしてもよい。
また、「発音指示」が発音停止である場合には、読出回路183は、対応する発音chに関する波形データの読み出しを停止する、あるいは、波形データに付与するエンベロープをリリース状態に移行させる等、発音停止に必要な動作を行う。
また、「変更内容」を実行する場合は、読出回路183は、その内容に従って設定用レジスタに記憶されている設定を更新する。
この読出回路183の機能により、再生中のシーケンスデータに基づき音源制御部116から供給されレジスタ181に書き込まれた発音指示は、CPU11における割り込み処理よりも遥かに間隔の短い、音源回路18における発音指示の実行タイミングの精度で、シーケンスデータにおいて指定されていたタイミングで実行されることになる。
また、読出回路183は、以上の他、音源制御部116からの要求に応じて、タイマ182における現在のカウント値を音源制御部116へ供給する機能も備える。
楽音制御回路184は、読出回路183が読み出した波形データに対し、所定の演算を施すことにより音楽的な効果を付与したり、エンベロープに従って音量を制御したりする信号処理を行う機能を備える。楽音制御回路184が行う信号処理は、設定用レジスタに記憶されている設定に従って制御される。また、全発音chについて共通の処理であっても、発音ch毎に異なる処理であっても、それらの両方が含まれていてもよい。楽音制御回路184は、専用の処理回路により構成する他、汎用のDSP(デジタルシグナルプロセッサ)により構成してもよい。また、楽音制御回路184を省略することも考えられる。
DAC23は、音源回路18から出力される楽音制御回路184による処理後のオーディオ波形データを、DACサイクル毎にDA変換してアナログの楽音信号に変換する機能を備える。
次に、図6を用いて、先読み用データ生成部112が実行する先読み用データの生成について説明する。
上述のように、先読み用データは、図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となる。
従って、図6に示すように、シーケンスデータ中の各タイミング値に44100/8Tを乗じることにより、対応するカウント値を求めることができる。例えば、イベントBの発生タイミングは、480×44100/8Tのカウント値で表すことができる。
テンポが120の場合、この値は480×44100/(8×120)=22050となる。小数値となった場合、四捨五入、切り捨て、切り上げなどを行って整数値に丸めるとよい。
なお、この先読み用データは、シーケンスデータの再生開始時に、シーケンスデータの末尾まで用意してしまってもよい。シーケンスデータ中にテンポの変更指示が含まれる場合の、その後ろについては変更後のテンポ値を用いて、前のイベントからのカウント値の増分を計算すればよい。
しかし、ユーザの操作に従って随時テンポを変更可能である場合、テンポの変更がある度に、現在再生中の箇所より後ろについては、変更後のテンポに基づき先読み用データを作り直す必要がある。このことを考慮すると、あまり先の方まで先読み用データを作成しても無駄になってしまう可能性がある。そこで、再生の進行に応じて順次シーケンスデータを読み出し、再生に間に合う程度の短い時間分ずつ先読み用データを作成していくことが望ましい。
次に、図7及び図8を用いて、CPU11が実行する、図3に示した機能と対応する処理について説明する。
図7に示すのは、CPU11が起動時に実行を開始するメイン処理のフローチャートである。
CPU11は、電源投入時やリセット時等、電子音楽装置10が起動された場合に、図7のフローチャートに示す処理を開始する。
この処理において、CPU11は、所定の初期化処理(S11)を行った後、ステップS12乃至S22を繰り返し、ユーザの操作あるいは外部装置からのデータ受信を検出する(S12)と共に、その検出した操作やデータに応じた処理を行う。
まず、MIDIシーケンサのスタート指示(シーケンスデータの再生指示)を検出した場合(S13のYes)、図6を用いて説明した先読み用データの生成を行う(S14)と共に、MIDIシーケンサの動作ステータスをオン(S15)にし、音源回路18のタイマ182のカウント値を「0」にリセットする(S16)。ステップS14の処理は、楽曲データ取得部111及び先読み用データ生成部112の機能と対応するものである。ステップS15及びS16の処理は、音源制御部116の機能と対応するものである。
また、演奏操作子の操作を検出した場合(S17のYes)、検出した操作と対応する演奏データを生成(S18)し、その演奏データに基づく発音指示をタイマ値「0」と共に音源回路18へ供給する(S19)。外部装置からの演奏データの受信を検出した場合(S20のYes)も、同様にその演奏データに基づく発音指示をタイマ値「0」と共に音源回路18へ供給する(S21)。音源回路18側では、この供給された発音指示及びタイマ値に基づき、レジスタ181へ必要な情報を設定する。
これらの処理により、再生中のシーケンスデータに含まれるもの以外の演奏データを検出した場合に、その演奏データと対応する発音指示を、その発音指示を直ちに実行すべき旨の指定と共に音源回路に供給することができる。ステップS18、S19及びS20の処理は、それぞれ演奏操作検出部113、演奏データ生成部114及び演奏データ取得部115の機能と対応する。
ステップS22は、ここまで説明したもの以外の操作や受信データに応じた処理である。
図8に示すのは、CPU11が所定の時間間隔で実行する割り込み処理のフローチャートである。
この処理において、CPU11は、MIDIシーケンサの動作ステータスが図7のステップS15でオンにされていなければ(S31のNo)、何もせずに処理を終了する。
しかし、オンにされていれば、CPU11は、音源回路18のタイマ182のカウント値を取得する(S32)。そして、ステップS14で作成した先読みデータ中に、ステップS32で取得したカウント値以降の所定時間内に実行すべきイベントがあれば(S33のYes)、該当のイベントに基づく発音指示を、該当のイベントと対応するタイマ値と共に音源回路18へ供給する(S34)。そして、CPU11は、先読み用データから該当のイベントを削除して(S35)、処理を終了する。ステップS35での削除は、次の処理タイミングで同じイベントに基づく発音指示を再度行ってしまわないようにするためである。音源回路18側では、ステップS34で供給された発音指示及びタイマ値に基づき、レジスタ181へ必要な情報を設定する。
なお、図8の処理では取得したカウント値以降の所定時間以内に実行すべきイベントを音源回路に供給したが、これに代えて、取得したカウント値以降のタイミングで実行すべきイベントを所定のデータ量(例えば所定のイベント数)分だけ音源回路に供給するようにしてもよい。
以上の処理において、ステップS32でタイマ182のカウント値を取得するので、CPU11は、音源回路18にて実際に進行中の経過時間を用いて実行タイミングの判定を行うことができる。このため、CPU11の過負荷等によりCPU11側のタイマ117が計時する時間に狂いが生じた場合でも、イベントの実行タイミングを正しく判定することができる。
なお、ステップS33の条件を満たすイベントが複数あった場合、ステップS33より後の処理は、そのイベント毎に実行する。
また、図8の処理においてステップSXの判断を追加で行うようにしてもよい。必要な発音chを確保できない場合、ステップS34の処理を行うためには、いずれかの発音chで実行中の発音をトランケートさせて、その発音chに、処理対象のイベントに係る発音を予約する設定を行うことになる。しかし、イベントの実行タイミングまで時間の余裕がある場合には、あえて発音を強制的に停止させてまで現時点で予約を行う必要はないと考えられるためである。このことにより、無用な発音の停止を避けることができる。
しかし、ステップSXの判断は行わなくてよい。この場合、必要な発音chを確保できないと、実際に発音を開始するよりも、「所定時間」だけ前にトランケートを開始できることになる。このことにより、トランケートに起因する楽曲へのダメージを軽減できる場合もある。
ステップSXの処理を行うか否かを、これらを考慮してユーザが任意に設定できるようにしてもよい。
以上の図8の処理は、音源制御部116の機能と対応するものである。
次に、図9を用いて以上説明してきた実施形態の効果について説明する。
図9は、上述した電子音楽装置10におけるシーケンスデータ中のイベントの処理タイミングを示す、図10と対応する図である。
図9の例でも、シーケンスデータに、再生開始から9.995秒後にノートオンイベントを実行すべきことが記録されているとする。また、CPUが実行する割り込み処理のタイミングは10ms毎であるとし、図8のステップS33における所定時間は20msであるとする。
図9の例において、CPU11は、シーケンスデータの再生開始から10ms毎に割り込み処理を行い、処理時点から20ms以内に実行タイミングが来るイベントがないか判断する(S33)。9.97秒の処理までは、該当のイベントはないと判断する。その後、9.98秒の処理において、20ms以内にノートオンイベントの実行タイミングが来ると判断し、そのノートオンイベントと対応する発音開始指示を、実行タイミングである9.995秒を示すカウント値と共に音源回路18へ供給する(S34)。
音源回路18は、この発音開始指示及び実行タイミングをレジスタ181に設定し、読出回路183が、0.022675ms周期の処理タイミング毎に、その設定した実行タイミングが来たか否か判断する。そして、9.995秒を過ぎた最初の処理タイミングで、実行タイミングが来たと判断し、発音開始指示と対応する発音を開始する。
従って、発音開始タイミングの誤差は、シーケンスデータにおいて指定されている時刻から0.022675ms以内であり、CPU11の割り込み処理の周期程度の誤差が生じ得る図10の場合と比べ、極めて高い時間精度で発音を開始することができる。
なお、ノートオン及びノートオフ以外の、設定変更などのイベントについても、同様に実行可能である。
また、図9の例では、9.99秒の時点ではCPU11の処理負荷が大きかったため割り込み処理のタイミングに遅れが生じているが、この時点では発音開始指示を既に音源回路18へ供給済みであるので、この遅れの影響もない。図8のステップS33における所定時間としてある程度長い時間を取っておけば、いくつかの割り込み周期において割り込み処理の実行タイミングが遅れたり、処理を実行できなかったりしても、その影響を受けることなく、シーケンスデータ中の各イベントを、シーケンスデータにおいて指定されている実行時刻に実行することができる。
また、自動伴奏のスタイルデータの再生のように、小節の先頭など特定のタイミングで大量のノートオンイベントが集中するような場合でも、CPU11は、時間に余裕を持ってこれと対応する発音指示を音源回路18に設定することができる。従って、イベントの集中による処理遅れも避けることができる。もしCPU11側の処理に遅れが生じたとしても、よほど大きな遅れでない限り、音源回路18における発音指示の実行タイミングに影響を与えることはない。
なお、ステップS33の所定時間を長くするほど、発音指示の実行タイミングずれの防止効果は大きくなる。しかし、あまり長くしすぎると、実行予約状態の発音開始指示によって多くの発音chを占有してしまうことになる。また、一旦音源回路18に発音開始を設定してしまった後で、テンポが変更され、事後的に設定内容が実際に発音すべきタイミングとずれてしまったりすることも考えられる。
一方、所定時間が短すぎると、CPU11における割り込み処理タイミングの遅れや飛びが頻発した場合に、発音指示を実行すべきタイミングまでに音源回路18への設定を行えない事態も生じ得る。しかし、このような事態が生じても、図10に示したような従来の処理との場合と同様なタイミングずれが生じるだけで、それ以上の不具合はないと捉えることもできる。
そして、ステップS33の所定時間を、割り込み処理の実行間隔と同じにするだけでも、タイミングずれの防止に一定の効果は得られる。これらを考慮して、この所定時間を設定するとよい。
なお、音源回路18は、シーケンスデータに基づき発音指示及びその実行タイミングを音源回路18に供給する機能を担うCPU11と異なるハードウェアにより実現している。このため、音源回路18は、波形データの生成及び出力専用のハードウェアとして構成できるため、処理タイミングのずれを起こすことなく、一定周期での処理実行が可能となる。このことにより、発音指示の実行タイミングにも、ずれを生じないようにすることができる。
なお、音源回路18は、必ずしも波形データの生成専用のワイヤロジックを備えたものでなくてもよい。他の処理に影響を受けることなく必要な周期で波形データ生成に係る処理を実行することができるのであれば、例えば、マルチコアCPUのうち1コアを音源回路18の機能の実現のみに用いるといった構成も採用可能である。音源回路18の機能の実現のみに用いる専用のCPUを設けることも考えられる。
以上で実施形態の説明を終了するが、装置及び機能の構成、具体的な処理の手順などが、上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述した実施形態において、CPU11は音源回路18のタイマ182のカウント値を取得し、図8のステップS33でその取得したカウント値をイベントの実行タイミングと比較した。しかし、CPU11のタイマ117と音源回路18のタイマ182との間の計時誤差が許容できるほど少ない(例えば100分で0.2ms)のであれば、CPU11のタイマ117が計時する時刻を用いて、イベントの実行タイミングと比較してもよい。この場合、必要に応じてカウント値の換算を行う。
また、図7のステップS19及びS21において、CPU11は、発音指示を直ちに実行するべき旨の指定として、タイマ値の最小値である「0」を音源回路18に供給するようにした。このようにすれば、音源回路18側では、現在のタイマ182のカウント値と、レジスタ181に設定されたカウント値とを比較するだけで、直ちに実行すべき発音指示を特定できるため、処理のロジックを容易なものとすることができる。しかし、この構成に限られることはなく、特定のフラグ等を用いて、発音指示を直ちに実行すべき旨を示すようにしてもよい。
また、上述した実施形態ではシーケンスデータの再生開始時にタイマ182をリセットするようにしていたが、これは必須ではない。シーケンスデータの再生開始時のタイマ182のカウント値を記憶しておき、現在のカウント値との差分を取れば、リセットした場合と実質的に同じカウント値を得ることができる。
また、音源回路18において、1つの発音chと対応する発音制御用レジスタに、制御イベント用レジスタの場合と同様、複数の発音指示を設定できるようにしてもよい。この場合、各発音指示と対応するタイマ値が示すタイミングで、該当の発音指示に係る処理を実行することになる。前の発音指示に応じた発音の継続中に次の発音指示に応じた発音を実行することとなった場合、前の発音を直ちに中止して次の発音を実行すればよい。
また、図6の例では、先読み用データにおいて、タイマ値をシーケンスデータの先頭からの経過時間を示す絶対値で記録するようにしたが、前のイベントからの経過時間を示す相対値で記録するようにしてもよい。この場合、音源回路18のタイマ182もこれに合わせて相対経過時間が得られるようにイベント(発音指示)の処理毎にリセットするようにしてもよいし、前のイベントの処理時のカウント値と現在のカウント値との差分により、相対経過時間を求めるようにしてもよい。
また、音源回路18は、シーケンスデータに従った音響信号の生成だけでなく、同時にオーディオ波形データ(ソングデータ、伴奏スタイルデータ、短いオーディオフレーズデータ等)の再生を行ってもよい。その場合、オーディオ波形データの生成周期(DACサイクルと同じ)と、シーケンスデータに基づく発音指示の処理周期とを一致させれば、再生の都度、シーケンスデータに従って生成した音響信号と再生するオーディオ波形データとが完全に同期した再生を実現できる。
また、シーケンスデータの記述形式はMIDI形式に限られない。音源回路18等の音源装置に実行させるべき発音指示と、その実行タイミングとを示す情報とを何らかの形で表現可能なデータであれば、任意の形式のものを採用可能である。
また、音源回路18における音響信号の生成方式は、波形メモリ方式に限らず、FM(Frequency Modulation)方式、物理モデル方式、アナログモデリング方式等、どのような方式であってもよい。波形メモリ方式以外の場合、レジスタ181中の発音制御用レジスタに波形アドレスを記憶させる必要はなく、代わりに楽音生成のための各種パラメータを記憶させればよい。
また、波形メモリ方式の場合、波形メモリ25に記憶されている波形データは非圧縮のデータであってもよいし、所定の圧縮方式に従って圧縮されたデータでもよい。また、ピッチを変化させたりタイムストレッチをして再生する場合は、複数の波形サンプルを補間したり読み飛ばし又は繰り返して読み出しをする等により、DACサイクルにあった波形データを用意するようにしてもよい。すなわち、もともと記憶されていた波形サンプル値をDACサイクル毎に読み出す構成には限られない。また、ピッチ変化やタイムストレッチの有無にかかわらず、読出回路183が、DACサイクルとは別の周期(例えばDACサイクルの4倍の周期)で波形データを読み出して、必要に応じて補間等の処理を行った後、上記別の周期毎にDAC23のバッファにその波形データを供給するようにしてもよい。
また、この発明は、電子音楽装置10のように、図3に示したCPU11及び音源回路18の機能を合わせ持つ音響信号生成装置として実施することができる他、CPU11の機能のみを持つ発音制御装置や、音源回路18の機能のみ持つ音源装置として実施することも可能である。また、コンピュータに、CPU11の機能や音源回路18の機能を実現させるためのプログラムとしても実施可能である。
このようなプログラムは、はじめからコンピュータに備えるROMや他の不揮発性記憶媒体(フラッシュメモリ,EEPROM等)などに格納しておいてもよい。しかし、メモリカード、CD、DVD、ブルーレイディスク等の任意の不揮発性記録媒体に記録して提供することもできる。それらの記録媒体に記録されたプログラムをコンピュータにインストールして実行させることにより、必要な処理をコンピュータに実行させることができる。
さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部装置あるいはプログラムを記憶手段に記憶した外部装置からダウンロードし、コンピュータにインストールして実行させることも可能である。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
以上の説明から明らかなように、この発明によれば、シーケンスデータに従った音響信号の生成を、より高いタイミング精度で行えるようにすることができる。
従って、この発明を適用することにより、シーケンスデータに従って生成される音響信号の品質を向上させることができる。
10…電子音楽装置、11…CPU、12…ROM、13…RAM、14…記憶装置、15…通信I/F、16…検出回路、17…表示回路、18…音源回路、19…システムバス、21…操作子、22…表示器、23…DAC、24…サウンドシステム、25…波形メモリ、111…楽曲データ取得部、112…先読み用データ生成部、113…演奏操作検出部、114…演奏データ生成部、115…演奏データ取得部、116…音源制御部、117…タイマ、181…レジスタ、182…タイマ、183…読出回路、184…楽音制御回路

Claims (6)

  1. コンピュータを、音源装置に発音指示を行う発音制御装置として機能させるためのプログラムであって、
    前記コンピュータを、
    所定の時間間隔のタイミングでそれぞれ、予め用意されたシーケンスデータに従って該タイミングから所定時間以内に実行すべき発音指示または該タイミング以降に実行すべき所定量の発音指示を、その発音指示の実行タイミングの指定と共に前記音源装置に供給する指示供給手段として機能させるためのプログラム。
  2. 請求項1に記載のプログラムであって、
    前記音源装置に対する前記実行タイミングの指定は、前記所定の時間間隔よりも細かい単位で行われるものであることを特徴とするプログラム。
  3. 請求項1又は2に記載のプログラムであって、
    前記指示供給手段は、前記予め用意されたシーケンスデータに含まれるもの以外の演奏データを検出した場合に、該演奏データと対応する発音指示を、その発音指示を直ちに実行すべき旨の指定と共に前記音源装置に供給する手段を備えることを特徴とするプログラム。
  4. 音源装置であって、
    発音指示と、該発音指示の実行タイミングとを記憶する記憶手段と、
    前記記憶手段に記憶されている発音指示に従った音響信号出力を、該発音指示と対応して前記記憶手段に記憶されている実行タイミングに開始する制御手段とを備え、
    前記制御手段は、出力する音響信号のサンプリング周期に基づき予め定めた周期で、前記記憶手段に記憶されている発音指示の実行タイミングが到来したか否かを確認し、
    前記制御手段の機能は、前記記憶手段に記憶させるべき発音指示及び実行タイミングを供給する機能を実現するプロセッサとは異なるハードウェアにより実現され、
    さらに、
    タイマと、
    前記タイマがカウントする時間の情報を前記プロセッサに提供する手段とを備えることを特徴とする音源装置。
  5. 音源装置であって、
    発音指示と、該発音指示の実行タイミングとを記憶する記憶手段と、
    前記記憶手段に記憶されている発音指示に従った音響信号出力を、該発音指示と対応して前記記憶手段に記憶されている実行タイミングに開始する制御手段とを備え、
    前記制御手段の機能は、前記記憶手段に記憶させるべき発音指示及び実行タイミングを供給する機能を実現するプロセッサとは異なるハードウェアにより実現されており、
    さらに、
    タイマと、
    前記タイマがカウントする時間の情報を前記プロセッサに提供する手段とを備えることを特徴とする音源装置。
  6. 音源部に発音指示を行う発音制御部と、前記音源部とを備えた音響信号生成装置であって、
    前記発音制御部は、
    所定の時間間隔のタイミングでそれぞれ、予め用意されたシーケンスデータに従って該タイミングから所定時間以内に実行すべき発音指示を、その発音指示の実行タイミングの指定と共に前記音源部に供給する指示供給手段を備え、
    前記音源部は、
    前記発音制御部から供給される発音指示と、該発音指示の実行タイミングとを記憶する記憶手段と、
    前記記憶手段に記憶されている発音指示に従った音響信号出力を、該発音指示と対応して前記記憶手段に記憶されている実行タイミングに開始する制御手段とを備えることを特徴とする音響信号生成装置。
JP2015045479A 2015-03-09 2015-03-09 プログラム、音源装置及び音響信号生成装置 Active JP6531432B2 (ja)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6597583B2 (ja) * 2016-12-14 2019-10-30 京セラドキュメントソリューションズ株式会社 攪拌搬送部材及びそれを備えた現像装置並びに画像形成装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
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 ヤマハ株式会社 楽音信号発生装置

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