(57)【要約】【課題】帯域制限されたデジタル信号を生成する方法を提供する。【解決手段】本発明では、基本周波数を有し、いずれかのサンプル間不連続点を有するアナログ波形に対応したデジタルサンプル列を生成する。前記不連続点の位相を検出し、前記位相に基づいて前記エイリアス低減パルスのデジタルサンプル列を求める。そして、あらかじめ定めた範囲の前記不連続点の周囲のデジタルサンプル列を、前記不連続点の位相に基づき、かつ本質的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列と加算してデジタル出力波形を出力する。【選択図】図２
2006191598.tif 000002
【特許請求の範囲】
【請求項１】
帯域制限されたデジタル信号を生成するデジタル信号生成方法であって、
第１の基本周波数を有し、いずれかのサンプル間不連続点を有するアナログ波形に対応したデジタルサンプル列を生成するサンプル列生成ステップと、
あらかじめ定めた範囲の前記不連続点の周囲のデジタルサンプル列を、前記不連続点の位相に基づき、かつ本質的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列と加算してデジタル出力波形を出力する加算ステップ
を有するデジタル信号生成方法。
【請求項２】
請求項１記載のデジタル信号生成方法であって、
前記不連続点の位相を検出し、前記位相に基づいて前記エイリアス低減パルスのデジタルサンプル列を求めるエイリアス低減パルス決定ステップ
も有するデジタル信号生成方法。
【請求項３】
請求項１記載のデジタル信号生成方法であって、
前記不連続点直前の前記アナログ波形の値（以下、「第１の値」という。）と、前記不連続点直後の前記アナログ波形の値（以下、「第２の値」という。）を求め、前記第１の値と第２の値の差に基づいて前記エイリアス低減パルスのデジタルサンプル列を求めるエイリアス低減パルス決定ステップ
も有するデジタル信号生成方法。
【請求項４】
帯域制限されたデジタル信号を生成するデジタル信号生成方法であって、
第１の基本周波数を有し、いずれかのサンプル間に波形イベントを有する第１のアナログ波形に対応した第１のデジタルサンプル列を生成する第１のサンプル列生成ステップと、
第２の基本周波数を有し、いずれかのサンプル間に不連続点を有する第２のアナログ波形に対応した第２のデジタルサンプル列を生成する第２のサンプル列生成ステップと、
前記不連続点直前の前記第２のアナログ波形の値（以下、「第１の値」という。）と、前記不連続点直後の前記第２のアナログ波形の値（以下、「第２の値」という。）を求める検出ステップと、
前記不連続点の位相と前記第１および第２の値に基づいて、本質的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列を求めるエイリアス低減パルス決定ステップと、
前記第２の不連続の前後の第２のデジタルサンプル列を、エイリアス低減パルスのデジタルサンプル列と加算して、デジタル出力波形を出力する加算ステップとを有し、
前記第２のアナログ波形の不連続点の位相は、前記第１の波形イベントの位相の関数である
ことを特徴とするデジタル信号生成方法。
【請求項５】
請求項４記載のデジタル信号生成方法であって、
前記第１のアナログ波形の波形イベントが存在するサンプル間と、前記第２のアナログ信号の不連続点が存在するサンプル間が一致する
ことを特徴とするデジタル信号生成方法。
【請求項６】
請求項４または５記載のデジタル信号生成方法であって、
前記第１のアナログ波形の波形イベントは不連続点であり、
前記第１のアナログ波形の不連続点の位相に基づいて、本質的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列を出力する追加的エイリアス低減パルス決定ステップと、
あらかじめ定めた範囲の前記第１の不連続点の周囲の第１のデジタルサンプル列に、前記エイリアス低減パルスのデジタルサンプル列を加算する追加的加算ステップ
も有するデジタル信号生成方法。
【請求項７】
請求項４から６のいずれかに記載のデジタル信号生成方法であって、
前記第１のアナログ波形の波形イベントの位相と第２のアナログ波形の不連続点の位相との相対的なタイミングを検出するタイミング検出ステップも有し、
前記エイリアス低減パルス決定ステップは、前記相対的なタイミングにも基づいて、エイリアス低減パルスのデジタルサンプル列を求める
ことを特徴とするデジタル信号生成方法。
【請求項８】
請求項２から７記載のデジタル信号生成方法であって、
前記エイリアス低減パルス決定ステップは、前記不連続点が複数ある場合には、当該複数の不連続点の位相に基づいて、複数の本質的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列を組み合わせたデジタルサンプル列を求める
ことを特徴とするデジタル信号生成方法。
【請求項９】
請求項１から８のいずれかに記載のデジタル信号生成方法であって、
前記エイリアス低減パルスの波形は、実質的に、前記不連続点の位相に対して奇対称である
ことを特徴とするデジタル信号生成方法。
【請求項１０】
請求項１から９のいずれかに記載のデジタル信号生成方法であって、
前記アナログ波形が鋸歯状波形であること
ことを特徴とするデジタル信号生成方法。
【請求項１１】
請求項１から９のいずれかに記載のデジタル信号生成方法であって、
前記アナログ波形が矩形波であること
ことを特徴とするデジタル信号生成方法。
【請求項１２】
請求項１から９のいずれかに記載のデジタル信号生成方法であって、
前記アナログ波形がパルス波形であること
ことを特徴とするデジタル信号生成方法。
【請求項１３】
請求項１から１２のいずれかに記載のデジタル信号生成方法であって、
複数の異なる位相での不連続点に対応するエイリアス低減パルスのデジタルサンプル列を、テーブルに記録するテーブル作成ステップと、
アナログ波形の不連続点の位相に基づいて、前記テーブルからデジタルサンプル列を選択して出力する選択ステップ
も有するデジタル信号生成方法。
【請求項１４】
請求項１から１２のいずれかに記載のデジタル信号生成方法であって、
複数の異なる位相での不連続点に対応するエイリアス低減パルスのデジタルサンプル列を、テーブルに記録するテーブル作成ステップと、
アナログ波形の不連続点の位相に基づいて、前記テーブルから複数種類のデジタルサンプル列を選択し、選択したデジタルサンプル列を補間して新しいデジタルサンプル列を生成する選択・補間ステップ
も有するデジタル信号生成方法。
【請求項１５】
請求項１から１４のいずれかに記載のデジタル信号生成方法であって、
前記加算ステップは、あらかじめ定めた範囲の前記不連続点の周囲のデジタルサンプル列をバッファに記録し、当該バッファを利用して、前記デジタルサンプル列にエイリアス低減パルスのデジタルサンプル列を加える
ことを特徴とするデジタル信号生成方法。
【請求項１６】
請求項１から１４のいずれかに記載のデジタル信号生成方法であって、
前記エイリアス低減パルスのデジタルサンプル列がＮ個のサンプルを含む場合に、
前記加算ステップは、少なくともＮ−１の長さのＦＩＦＯバッファに前記不連続点の周囲のデジタルサンプル列のＮ−１サンプルをシフトし、前記ＦＩＦＯバッファを使用して、前記デジタルサンプル列に、前記エイリアス低減パルスのデジタルサンプル列を加える
ことを特徴とするデジタル信号生成方法。
【請求項１７】
請求項１から１６のいずれかに記載のデジタル信号生成方法であって、
前記アナログ波形は、前記不連続点の両側で実質的に等しい勾配を有する
ことを特徴とするデジタル信号生成方法。
【請求項１８】
請求項１から１７のいずれかに記載のデジタル信号生成方法であって、
前記デジタル出力波形を音に変換するステップ
も有するデジタル信号生成方法。
【請求項１９】
請求項１から１７のいずれかに記載のデジタル信号生成方法であって、
前記デジタル出力波形をアナログ波形に変換するステップ
も有するデジタル信号生成方法。
【請求項２０】
帯域制限されたデジタル信号を生成するデジタル信号生成装置であって、
第１の基本周波数を有し、かつ特定のサンプリング間隔内で位相の不連続点を有するアナログ波形に対応したデジタルサンプル列を生成するサンプル列生成手段と、
あらかじめ定めた範囲の前記不連続点の周囲のデジタルサンプル列を、前記不連続点の位相に基づき、かつ本質的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列の集合と加算してデジタル出力波形を求める加算手段
を備えるデジタル信号生成装置。
【請求項２１】
請求項２０記載のデジタル信号生成装置であって、
前記不連続の位相を検出し、前記位相に基づいて前記エイリアス低減パルスのデジタルサンプル列の各サンプル値を求めるエイリアス低減パルス決定手段
も備えるデジタル信号生成装置。
【請求項２２】
請求項２０記載のデジタル信号生成装置であって、
前記不連続点直前の前記アナログ波形の第１の値（以下、「第１の値」という。）と、前記不連続点直後の前記アナログ波形の第２の値（以下、「第２の値」という。）を求め、前記第１の値と第２の値の差に基づいて前記エイリアス低減パルスのデジタルサンプル列を求めるエイリアス低減パルス決定手段
も備えるデジタル信号生成装置。
【請求項２３】
帯域制限されたデジタル信号を生成するデジタル信号生成装置であって、
第１の基本周波数を有し、いずれかのサンプル間に波形イベントを有する第１のアナログ波形に対応した第１のデジタルサンプル列を生成する第１のサンプル列生成手段と、
第２の基本周波数を有し、いずれかのサンプル間に不連続点を有する第２のアナログ波形に対応した第２のデジタルサンプル列を生成する第２のサンプル列生成手段と、
前記不連続点直前の前記第２のアナログ波形の値（以下、「第１の値」という。）と、
前記不連続点直後の前記第２のアナログ波形の値（以下、「第２の値」という。）を求める検出手段と、
前記不連続点の位相と前記第１および第２の値に基づいて、本質的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列を求めるエイリアス低減パルス決定手段と、
前記第２の不連続の前後の第２のデジタルサンプル列を、エイリアス低減パルスのデジタルサンプル列と加算して、デジタル出力波形を出力する加算手段とを有し、
前記第２のアナログ波形の不連続点の位相は、前記第１の波形イベントの位相の関数である
ことを特徴とするデジタル信号生成装置。
【請求項２４】
請求項２３記載のデジタル信号生成装置であって、
前記第１のアナログ波形の波形イベントが存在するサンプル間と、前記第２のアナログ信号の不連続点が存在するサンプル間が一致する
ことを特徴とするデジタル信号生成装置。
【請求項２５】
請求項２３または２４記載のデジタル信号生成装置であって、
前記第１のアナログ波形の波形イベントは不連続点であり、
前記第１のアナログ波形の不連続点の位相に基づいて、本質的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列を出力する追加的エイリアス低減パルス決定手段と、
あらかじめ定めた範囲の前記第１の不連続点の周囲の第１のデジタルサンプル列に、前記エイリアス低減パルスのデジタルサンプル列を加算する追加的加算手段
も備えるデジタル信号生成装置。
【請求項２６】
請求項２３から２５のいずれかに記載のデジタル信号生成装置であって、
前記第１のアナログ波形の波形イベントの位相と第２のアナログ波形の不連続点の位相との相対的なタイミングを検出するタイミング検出手段も有し、
前記エイリアス低減パルス決定手段は、前記相対的なタイミングにも基づいて、エイリアス低減パルスのデジタルサンプル列を求める
ことを特徴とするデジタル信号生成装置。
【請求項２７】
請求項２１から２６記載のデジタル信号生成装置であって、
前記エイリアス低減パルス決定手段は、前記不連続点が複数ある場合には、当該複数の不連続点の位相に基づいて、複数の本質的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列を組み合わせたデジタルサンプル列を求める
ことを特徴とするデジタル信号生成装置。
【請求項２８】
請求項２０から２７のいずれかに記載のデジタル信号生成装置であって、
前記エイリアス低減パルスの波形は、実質的に、前記不連続点の位相に対して奇対称である
ことを特徴とするデジタル信号生成装置。
【請求項２９】
請求項２０から２８のいずれかに記載のデジタル信号生成装置であって、
前記アナログ波形が鋸歯状波形であること
ことを特徴とするデジタル信号生成装置。
【請求項３０】
請求項２０から２８のいずれかに記載のデジタル信号生成装置であって、
前記アナログ波形が矩形波であること
ことを特徴とするデジタル信号生成装置。
【請求項３１】
請求項２０から２８のいずれかに記載のデジタル信号生成装置であって、
前記アナログ波形がパルス波形であること
ことを特徴とするデジタル信号生成装置。
【請求項３２】
請求項２０から３１のいずれかに記載のデジタル信号生成装置であって、
前記エイリアス低減パルス決定手段が、
あらかじめ複数の異なる位相での不連続点に対応するエイリアス低減パルスのデジタルサンプル列を、テーブルに記録しておき、
アナログ波形の不連続点の位相に基づいて、前記テーブルからデジタルサンプル列を選択して出力する
ことを特徴とするデジタル信号生成装置。
【請求項３３】
請求項２０から３１のいずれかに記載のデジタル信号生成装置であって、
前記エイリアス低減パルス決定手段が、
あらかじめ複数の異なる位相での不連続点に対応するエイリアス低減パルスのデジタルサンプル列を、テーブルに記録しておき、
アナログ波形の不連続点の位相に基づいて、前記テーブルから複数種類のデジタルサンプル列を選択し、選択したデジタルサンプル列を補間して新しいデジタルサンプル列を生成して出力する
ことを特徴とするデジタル信号生成装置。
【請求項３４】
請求項２０から３３のいずれかに記載のデジタル信号生成装置であって、
前記加算手段が、
あらかじめ定めた範囲の前記不連続点の周囲のデジタルサンプル列をバッファに記録し、
当該バッファを利用して、前記デジタルサンプル列にエイリアス低減パルスのデジタルサンプル列を加える
ことを特徴とするデジタル信号生成装置。
【請求項３５】
請求項２０から３３のいずれかに記載のデジタル信号生成装置であって、
前記エイリアス低減パルスのデジタルサンプル列がＮ個のサンプルを含む場合に、
前記加算ステップが、
少なくともＮ−１の長さのＦＩＦＯバッファに前記不連続点の周囲のデジタルサンプル列のＮ−１サンプルをシフトし、
前記ＦＩＦＯバッファを使用して、前記デジタルサンプル列に、前記エイリアス低減パルスのデジタルサンプル列を加える
ことを特徴とするデジタル信号生成装置。
【請求項３６】
請求項２０から３５のいずれかに記載のデジタル信号生成装置であって、
前記アナログ波形は、前記不連続点の両側で実質的に等しい勾配を有する
ことを特徴とするデジタル信号生成装置。
【請求項３７】
請求項２０から３６のいずれかに記載のデジタル信号生成装置であって、
前記デジタル出力波形を音に変換する手段
も有するデジタル信号生成装置。
【請求項３８】
請求項２０から３６のいずれかに記載のデジタル信号生成装置であって、
前記デジタル出力波形をアナログ波形に変換する手段
も有するデジタル信号生成装置。
【請求項３９】
帯域制限されたデジタル信号を生成するデジタル信号生成方法であって、
第１の基本周波数を有し、いずれかのサンプル間に波形イベントを有する第１のアナログ波形に対応した第１のデジタルサンプル列を生成する第１のサンプル列生成ステップと、
第２の基本周波数を有し、いずれかのサンプル間に不連続点を有する第２のアナログ波形に対応した第２のデジタルサンプル列を生成する第２のサンプル列生成ステップと、
前記不連続点直前の前記第２のアナログ波形の値（以下、「第１の値」という。）と、前記不連続点直後の前記第２のアナログ波形の値（以下、「第２の値」という。）を求める検出ステップと、
前記不連続点の位相と前記第１および第２の値に基づいて、エイリアス低減パルスのデジタルサンプル列を求めるエイリアス低減パルス決定ステップと、
前記第２の不連続の前後の第２のデジタルサンプル列を、エイリアス低減パルスのデジタルサンプル列と加算して、デジタル出力波形を出力する加算ステップとを有し、
前記第２のアナログ波形の不連続点の位相は、前記第１の波形イベントの位相の関数である
ことを特徴とするデジタル信号生成方法。
【請求項４０】
帯域制限されたデジタル信号を生成するデジタル信号生成装置であって、
第１の基本周波数を有し、いずれかのサンプル間に波形イベントを有する第１のアナログ波形に対応した第１のデジタルサンプル列を生成する第１のサンプル列生成手段と、
第２の基本周波数を有し、いずれかのサンプル間に不連続点を有する第２のアナログ波形に対応した第２のデジタルサンプル列を生成する第２のサンプル列生成手段と、
前記不連続点直前の前記第２のアナログ波形の値（以下、「第１の値」という。）と、前記不連続点直後の前記第２のアナログ波形の値（以下、「第２の値」という。）を求める検出手段と、
前記不連続点の位相と前記第１および第２の値に基づいて、エイリアス低減パルスのデジタルサンプル列を求めるエイリアス低減パルス決定手段と、
前記第２の不連続の前後の第２のデジタルサンプル列を、エイリアス低減パルスのデジタルサンプル列と加算して、デジタル出力波形を出力する加算手段とを有し、
前記第２のアナログ波形の不連続点の位相は、前記第１の波形イベントの位相の関数である
ことを特徴とするデジタル信号生成装置。
【請求項４１】
請求項１から１９、もしくは３９のいずれかに記載のデジタル信号生成方法をコンピュータにより実行させるデジタル信号生成プログラム。
【請求項４２】
請求項４１記載のデジタル信号生成プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば音楽の合成で用いられるアナログ波形の帯域制限合成を行うデジタル信号生成方法、この方法を用いた装置、プログラム、および記録媒体に関する。
【背景技術】
【０００２】
非特許文献１および非特許文献２で論じられるように、アナログ波形のデジタル合成は、帯域制限されなければならず、そうでないと得られる信号にエイリアシングが生じる。非特許文献１は、従来のアナログシンセサイザ波形を生成するいくつかの既知の方法を概観し、帯域制限されたインパルス列を積分することに基づいて鋸歯状波形およびパルス波形を生成する方法を提案している（非特許文献１の図１２、図１３）。実際には、非特許文献１の方法に必要とされる積分器は、開始時のＤＣオフセットなどの問題を発生させる可能性がある。したがって、積分ステップを回避する方法を見出すことが望ましい。また、非特許文献１は、ハードシンクや他の変調など、音楽合成における重要な技術を論じていない。
【０００３】
非特許文献２は、MinBLEPと呼ばれる最小位相の帯域制限された段差を加えて、帯域制限された不連続を波形に取りこむ、理論的な方法を記載する。非特許文献２の方法の実際的な実施についての重要な詳細は、記載されない。例えば、最小位相帯域制限された段差は、不連続の適正な位相と振幅が求められているときにしか適用されることができない。非特許文献２は、そのような適正な位相と振幅を求める技術を開示していない。基本的に、最小位相帯域制限された段差は、ＤＣバイアスを有し、そのため、周波数に依存するＤＣエラーを生じさせる（非特許文献２の図７）。
【０００４】
ハードシンク技術では、異なる基本周波数を有するマスター波形に応答して、基本周波数を有するスレーブ波形がリセットされる。これは、各種の振幅を有し、個々のサンプリング間隔内の様々な時に発生するスレーブ波形の不連続を生じさせる。そのような不連続は、アナログ波形のサンプリングデータ表現にエイリアシングを生じさせる。特許文献１は、非線形波形形成フィルタに基づいて鋸歯状波形を合成する方法を記載する（特許文献１の図１の番号１２）。特許文献１のはさらに、マスター波形および不連続の位相の関数である窓関数と、スレーブ波形とを乗算するハードシンク技術を記載する（特許文献１の図５）。特許文献１に記載されるような非線形波形形成方法と窓処理方法は、エイリアシングは低減するが、実際にはなおエイリアスがかかって聞こえる。
【特許文献１】特許第３３９９２７２号公報
【非特許文献１】Stilson et al., ”Alias-free digital synthesis of classic analog waveforms,” Proc.1996 International Computer Music Conference, ICMA.
【非特許文献２】Brandt, “Hard sync without aliasing,” Proc.2001 International Computer Music Conference, International Computer Music Association(ICMA), pp. 365-368.
【発明の開示】
【発明が解決しようとする課題】
【０００５】
帯域制限波形と帯域制限ハードシンク波形を生成する。また、改良された手順を提供する。
【課題を解決するための手段】
【０００６】
方法の実施形態では、サンプル間での位相に対応したエイリアス低減パルスのデジタルサンプル列を記録したテーブルを作成してもよい。この場合、テーブル参照ステップによって、不連続点を有するサンプル間での不連続点の位相に基づいてデジタルサンプル列が提供される。一部の実施形態では、不連続点の位相に基づくエイリアス低減パルスのデジタルサンプル列を生成するために、テーブル参照プロセスと組み合わせて補間が行なわれる。
ハードシンクの場合は、マスター波形とスレーブ波形の両方、あるいは、マスターまたはスレーブとして機能することができる第１の波形と第２の波形のどちらかまたは両方における不連続が、上記の手順によって帯域制限される。また、スレーブ波形は、マスター波形がリセットすると必ずリセットする。スレーブ波形の追加的な同期リセットは、同じく帯域制限されなければならない不連続点を生じさせる。同期リセットの不連続点の周囲のスレーブ波形のサンプル列は、同期リセットの不連続点の位相と大きさに基づくエイリアス低減パルスのサンプル列と加算される。不連続の大きさは、「理想的な」アナログ信号を参照することによって計算される。スレーブ波形の同期リセットの不連続に近い理想的なアナログ信号は、不連続点の前と後にそれぞれ第１の大きさと第２の大きさを有する。これらの大きさは、同期リセットイベントの位相の関数である。基本的にＤＣバイアスのないエイリアス低減パルスのデジタルサンプル列を提供する際には、第１および第２の大きさと、同期リセットの位相が用いられる。デジタルサンプル列が、同期リセットの不連続点の周囲のスレーブ波形のデジタルサンプル列と加算され、エイリアシングが低減される。
【０００７】
スレーブ波形は、マスター波形のイベントに応答して生じる不連続に加えて、他の不連続も含む場合がある。例えば、同じ特定のサンプル間に同期リセットイベントより前に別の不連続点が発生する場合は、その同じサンプル間の別の不連続の位相に基づいて、追加的なエイリアス低減パルスが求められる。そこで、エイリアシングを低減するために当該サンプル間で適用されるデジタルサンプル列は、２つのエイリアス低減パルスの組み合わせに基づく。第１の波形のイベントに応答して、本質的にＤＣバイアスのない１つのエイリアス低減パルスが提供され、第２の波形の別の不連続に応答して、同じく本質的にＤＣバイアスのない追加的なエイリアス低減パルスが提供される。
【０００８】
ここに記載される方法の実施形態では、波形のデジタルサンプル列と、エイリアス低減パルスに相当するデジタルサンプル列と加算する目的で、エッジバッファを使用してもよい。エイリアス低減パルスに相当するデジタルサンプル列がＮ個のサンプルを有する一実施形態では、デジタルサンプル列と加算するプロセスは、少なくともＮ−１の長さのＦＩＦＯバッファにデジタルサンプル列の部分列をシフトし、そのバッファを使用してサンプルを加算する。
【発明の効果】
【０００９】
本発明によれば、帯域制限されていない不連続を有する波形を、不連続点を無くした波形（帯域制限された波形）に変形し、デジタルサンプル列を生成した場合と等価なデジタルサンプル列を生成できる。したがって、エイリアスのない音を生成することができる。
【発明を実施するための最良の形態】
【００１０】
本発明は、鋸歯状波形、矩形波形、パルス波形など、不連続のあるアナログ波形の帯域制限合成のシステムおよび方法を提供する。本方法の実施形態は、ハードシンクの鋸歯状波形、矩形波形、パルス波形の帯域制限合成に適用される。この方法は、ソフトシンク、リング変調、振幅変調（ＡＭ）、パルス幅変調などの他の合成および変調技術にも適用できる。
一般に、この方法の実施は、鋸歯状波形、矩形波形、パルス波形などの波形の帯域制限されたデジタル信号を生成するために用いられる。デジタルサンプルは、各サンプル間のアナログ信号の値を表す。鋸歯状波形、矩形波形、パルス波形のサンプル列では、波形は、いくつかのサンプル間に不連続点がある。不連続点の周辺の波形のサンプル列と、エイリアス低減パルスのデジタルサンプル列とを加算する。エイリアス低減パルスは、不連続の位相と大きさに基づく。
【００１１】
ここに記載される一部の実施では、エイリアス低減パルスは、基本的にＤＣバイアスがない。一部の実施形態では、エイリアス低減パルスは、実質的に、不連続の位相に対して奇対称である。
以下に、図１〜１４を参照して本発明の実施形態の詳細な説明を提供する。
［第１実施形態］
図１は、音声シンセサイザとして構成された基本コンピュータシステム１００を表すブロック図である。コンピュータシステム１００は、データ処理手段による実行に適合されたプログラムを記録するメモリを含む。コンピュータシステム１００のデータ処理手段には、１つまたは複数の中央演算処理部ＣＰＵ１１０、プログラム記録部１０１、データ記録部１０２、オーディオ部１０３、英数文字キーボードやマウス、音楽用キーボードなどのユーザ入力部１０４、グラフィカルユーザインタフェースや他のユーザ対話に対応するディスプレイ１０５、および、コンピュータおよび音楽シンセサイザの技術でよく知られる他のコンポーネント１０６が含まれる。プログラム記録部１０１は、ランダムアクセスメモリ、不揮発性フラッシュメモリ、磁気ディスクドライブメモリ、磁気テープメモリ、他のデータ記録媒体、または各種の取り外し可能および取り外し不能の記録媒体の組み合わせなどの、機械可読のデータ記録媒体からなる。プログラム記録部１０１は、ＣＰＵ１１０によって実行されるコンピュータプログラムを記録する。例示される実施形態では、プログラム記録部１０１は、シンセサイザインタフェースのためのコンピュータプログラム、および他のシンセサイザ処理、すなわち合成処理で生成されたデジタル出力波形をアナログ波形および／または音声に変換すること、デジタル出力波形を他の波形と混合すること、デジタル出力波形、オーディオ部１０３を管理するためのコンピュータプログラムを記録する。さらに、プログラム記録部１０１は、帯域制限シンクのためのコンピュータプログラム、および、知覚可能なエイリアシングが解消された、あるいは大幅に低減されたデジタルサンプリング波形を生成する処理で基本的にＤＣバイアスのないエイリアス低減パルスを適用するなど、下記でより詳細に説明する他の合成処理のためのコンピュータプログラムを記録する。ここに記載される処理を実行するためのコンピュータシステム中の処理には、システム中の他のデータ処理部にあるＣＰＵ１１０、特殊目的回路、およびプロセッサの実行による処理、および、ＣＰＵ１１０と特殊目的回路とプロセッサを実行の組み合わせによる処理が含まれる。ここに記載される実施形態は、サンプルレートが一般には１００キロヘルツ（ＫＨｚ）未満であるオーディオ波形の合成に関するが、本発明の実施形態は、可聴範囲外の周波数を含む、より高い周波数での波形合成に適用することができる。
【００１２】
図２に、基本的な帯域制限鋸歯発振装置の機能構成を示す。図２の帯域制限鋸歯発振装置の処理を説明するために、帯域制限されない鋸歯状波形のサンプリングを説明する。図３に帯域制限されない鋸歯状波形と、波形のデジタルサンプル列を示す図を示す。基本的に、鋸歯状波形の１周期は、値が０から１まで一定の勾配の傾斜３００（値は、０や１でなくてもよい）と、その値が０にリセットされる段差３０１とからなる。段差３０１は、波形の不連続点である。鋸歯状波形の次の周期は、同じ一定の勾配を有する傾斜３０２から開始し、この傾斜と段差が周期的に続いて鋸の歯の形のようになる。任意の周波数の鋸歯状波形を合成する場合には、波形の周波数に依存しないサンプルレートを使用して、デジタルサンプル列が提供される。例えば、音楽の合成では４８ＫＨｚのサンプルレートが多く使用される。音声出力に変換するときには、多くの場合、約２０ＫＨｚまでの周波数成分を有する波形が生成される。このように、通常は、予想される出力波形の最も高い周波数成分の２倍以上になるようにサンプリング周波数が選択される。図３では、この説明での現在のサンプルをサンプルＳ０とする。過去に生成されたサンプルが左に示され、サンプルｓ−１、ｓ−２、ｓ−３、・・・である。未来に生成されるサンプルは右に示され、サンプルｓ１、ｓ２、・・・である。図３では、位相の増分、すなわちデジタル周波数（サンプリング間隔に対する波形の周波数）は、０．３である。したがって、サンプルｓ−３の値は０．３、サンプルｓ−２の値は０．６、サンプルｓ−１の値は０．９である。波形は、サンプルｓ−１とサンプルｓ０の間の段差３０１で、リセットされる。リセットされた点は、サンプルｓ−１とサンプルｓ０の間の点であって、サンプルｓ０よりも位相ｔｍだけ過去である。以下では、サンプルｓ−１とサンプルｓ０の間を、サンプルｓ０の値で示されるサンプル間という。これは、サンプルｓ０が、サンプルｓ−１とサンプルｓ０の間の波形の値を代表する値だからである。サンプルｓ０の値は、位相ｔｍの関数といえる。図の例では、リセットの段差３０１の位相ｔｍは、サンプリング間隔の２／３である。サンプルｓ０の値も、同じように位相の増分の２／３、すなわち０．２となる。波形が生成されると、サンプルレートが波形の周波数の整数倍数でない限り、対応するサンプリング間隔内のリセットの位相ｔｍが変化する。
【００１３】
段差３０１と以後の段差は、ナイキスト周波数より下に帯域制限されない高周波数成分を有する。そのような帯域制限されない信号をサンプリングすると、波形中の不連続が最も近いサンプリング間のみに量子化されるので、エイリアシングが生じる。音声のコンテクストにおけるエイリアシングは、得られるデジタルサンプル列に耳障りな音を生じさせる。図２の装置構成は、エイリアシングを低減する。また、一部の実施形態では知覚可能なエイリアシングをすべて解消することができる。
図２に示す装置構成は、基本的な位相累算タイプであり、鋸歯発振手段を含んでいる。この装置では、線２００から入力位相増分ｐｈａｓｅＩｎｃＭを受け取り、それをサンプリング間隔ごとに加算部２０１に入力する。加算部２０１は、累算された値が１．０になるとリセットする。そのため、次のサンプルの大きさは、サンプル間のリセットの位相によって決まる。加算部２０１の出力は、線２０２の位相累算器出力ｐｈａｓｅＡｃｃＭとして出力される。遅延部２０３は、位相累算器出力ｐｈａｓｅＡｃｃＭに遅延を与え、加算部２０１への第２の入力として、１つ前のサンプルｓ−１をフィードバックする。位相累算器の出力ｐｈａｓｅＡｃｃＭは、帯域制限されない鋸歯状波形のデジタルサンプル列となる。サンプリング周波数が固定され、１．０で折り返す場合、位相増分ｐｈａｓｅＩｎｃＭは、鋸歯状波形の基本周波数を決定する。
【００１４】
線２０２の位相累算器出力ｐｈａｓｅＡｃｃＭは、線２００からの位相増分ｐｈａｓｅＩｎｃＭとともにモジュール２０４にも入力される。モジュール２０４は、リセット段差の位相ｔｍを計算する。リセット検出部２２４は、加算部２０１がリセットすると、そのことをモジュール２０４に通知する。リセット段差の位相ｔｍは、エイリアス低減パルスを生成するパルス生成部２０５に入力される。この例では、リセット段差の大きさは常に１．０であり、パルス生成部２０５で提供されるエイリアス低減パルスの大きさは、その値と一致する。パルス生成部２０５の出力は、エイリアス低減パルスのサンプル列である。このサンプル列は、Ｎ個のサンプルを有する。図の手順ではＰ０、Ｐ１、・・・、ＰＮ／２、・・・、ＰＮ−１と表される。線２０２の帯域制限されない波形のデジタルサンプル列と、エイリアス低減パルスのサンプル列（Ｐ０、Ｐ１、・・・、ＰＮ／２、・・・、ＰＮ−１）は、エッジバッファ２０６に適用される。
【００１５】
エッジバッファ２０６は、加算部２１１、２１２、２１３と遅延部２０８、２０９、２１０からなる。線２０２の帯域制限されない波形のデジタルサンプル列の現在のサンプルｓ０は、エイリアス低減パルスのサンプル列にある対応するサンプルＰＮ／２とともに、加算部２１１でエッジバッファ２０６に供給される。得られる和は、現在のタイミングの処理（現在のサンプリングに対応した処理）で、遅延部２０９に記録される。次のタイミングの処理（次のサンプリングに対応した処理）で、線２０２の帯域制限されない波形のデジタルサンプル列のサンプルｓ１が、エイリアス低減パルスのサンプル列にあるサンプルＰＮ／２＋１とともに、加算部２１１でエッジバッファ２０６に供給される。以下同様に続き、最終的には、サンプルＰＮ−１が、線２０２の帯域制限されない波形の対応するサンプルと合計される。現在のサンプルｓ０より前の、線２０２からのデジタルサンプルの連続にあるサンプルｓ−１、ｓ−２は、１つ前の遅延部からシフトされて、現在のタイミングの処理では、遅延部２０９および２１０に記録される。加算部２１２は、遅延部２０９の出力をサンプルＰ１と合計する。加算部２１３は、遅延部２１０の出力をサンプルＰ０と合計する。このようにして、エイリアス低減パルスのサンプル列が、加算部２０１がリセットした時に生じる不連続の周囲（この例ではＮ個分）の波形のデジタルサンプル列のサンプル値と組み合わせられる。
【００１６】
エッジバッファ２０６は、単に構成部から次の構成部へのコピー動作を実行することにより実現できる。または、ポインタを使用して循環バッファのデータをアドレス指定し、既存の手順を用いて適宜ポインタを増分する、Circular buffe技術を使用することにより、実現できる。
エッジバッファ２０６の長さは、エイリアス低減パルスのサンプル列のサンプルの数に応じて変えることができる。例えば、４つのサンプルからなるエイリアス低減パルスのサンプル列のエッジバッファ２０６は、３つの記録場所（遅延部）と３つの加算部を備える。
【００１７】
図４Ａ〜４Ｃに、図２の帯域制限鋸歯発振装置で生成される、帯域制限されない鋸歯状波形とサンプル列、エイリアス低減パルスの波形とサンプル列、および帯域制限された波形とサンプル列を示す。図４Ａは、水平軸に沿った時間ｔ＝０からｔ＝１４におけるサンプルを有する鋸歯状波形を示す。各サンプル値は、波形のトレース上の丸で示す。リセットは、時間ｔ＝（４−０．７５）とｔ＝（１１−０．２５）に発生する。図４Ｂは、時間ｔ＝（４−０．７５）とｔ＝（１１−０．２５）の周囲のエイリアス低減パルスを示す。
エイリアス低減パルスの形状は、不連続点での帯域制限されない鋸歯状波形の高周波数成分をキャンセルできるように決定される。また、高周波成分のキャンセルを目的としているので、本質的にＤＣバイアスはない。ここで、「本質的にＤＣバイアスがないエイリアス低減パルス」とは、エイリアス低減パルスの波形には、無視できる雑音レベルのＤＣバイアスを除き、ＤＣバイアスがないことを意味する。ただし、サンプリングやノイズのため、エイリアス低減パスルのサンプル列の各サンプルの値を合計しても、０とはならない。また、鋸歯状波リセットに対するエイリアス低減パルスは、リセット時を中心として実質的に奇対称であり、図４Ｂに示す形状を有する。ここで、「エイリアス低減パルスは実質的に奇対称」とは、エイリアス低減パルスの波形は、雑音レベルとして無視できない程度の誤差を除き、奇対称であることを意味する。ただし、サンプリングにより、高周波の情報が失われるため、エイリアス低減パルスのサンプル列の各サンプル値のみを見ても、奇対称と判別できない場合もあり得る。
【００１８】
波形のサンプルの連続と合計されるエイリアス低減パルスのサンプル列は、リセットの位相に依存する。例示として、サンプル時間ｔ＝４−０．７５でのリセットと一致するエイリアス低減パルスのサンプル列では、値がほぼ０のサンプル時間２におけるサンプル、値が約−０．３５のサンプル時間３におけるサンプル、値が約＋０．１のサンプル時間４におけるサンプル、および、値がほぼ０のサンプル時間５におけるサンプルから構成される。例示としてサンプル数が４のエイリアス低減パルスのサンプル列を示したが、異なる長さＮが使用されてよい。エイリアス低減パルスは、波形の周期より長くてもよい。サンプル時間ｔ＝１１−０．２５でのリセットを補正するために提供されるサンプル列は、値がほぼ０のサンプル時間９におけるサンプル、値が約−０．１のサンプル時間１０におけるサンプル、値が約＋０．３５のサンプル時間１１におけるサンプル、および、値がほぼ０のサンプル時間１２におけるサンプルから構成される。
【００１９】
エイリアス低減パルスの形状は、シンク関数と呼ばれる帯域制限されたインパルス信号を使用することによって決定することができる。窓関数が、帯域制限されたインパルスの中心前後のＮ個のサンプルを選択する。窓関数と窓の長さを変えて、様々なエイリアス低減関数を得ることができる。デジタル積分フィルタを使用して、窓処理されたサンプルを積分して帯域制限されたステップ関数を生成する。この関数はゼロから開始し、（Ｎ個のサンプルにわたって）１まで増大する。帯域制限されたステップ関数から理想的な（帯域制限されない）ステップ関数を減算すると、不連続が信号の終わりから始めに移動する。これは、ゼロで開始し、ゼロで終わり、中心に不連続を有し、基本的にＤＣバイアスのないエイリアス低減パルスを生成する。
【００２０】
パルス生成部２０５は、エイリアス低減パルスを、位相シフトして複数種類のサンプル列を作成し、参照用テーブルに記録することよって実現できる。例えば、参照用テーブルに１０個の記録場所を用意し、各記録場所がサンプル周期の１／１０ずつ位相シフトされたサンプル列を記録する。記録場所の大きさは、帯域制限されない波形の大きさに一致する適切な値に調整することができる。あるいは、記録場所の大きさは、波形の不連続の大きさを示す信号に基づいて、テーブルから読み出される際にその場で調整することもできる。不連続が、テーブルに記録された位相シフトと位相シフトの間にある位相で生じる場合は、精度を向上するために補間を使用して、値を計算することができる。
【００２１】
得られた波形と、その波形のサンプル列を図４Ｃに示す。この図は、このシステムのサンプル周波数で再現でき、エイリアスが実質的にない帯域制限波形を示す。帯域制限された波形は、テーブル参照と加算動作とともに、簡潔なエッジバッファを使用して生成される。これらは、すぐれた結果を得ることができる、非常に効率的な構成部である。
［第２実施形態］
図５に、マスター鋸歯発振手段とスレーブ鋸歯発振手段を使用したハードシンクシステムの機能構成を示す。このシステムは、線５００のマスター帯域制限波形ＭａｓｔｅｒＯｕｔと、線５０１のスレーブ帯域制限波形ＳｌａｖｅＯｕｔを生成する。線５００のマスター波形ＭａｓｔｅｒＯｕｔは、図２を参照して説明したような位相累算手段を使用して生成される。位相増分値ｐｈａｓｅＩｎｃＭが、線５５０から加算部５１０に入力される。加算部５１０の出力ｐｈａｓｅＡｃｃＭは、遅延部５０３を通じて加算部５１０の第２の入力にフィードバックされる。加算部５１０は、値が１．０になると、出力ｐｈａｓｅＡｃｃＭをリセットする。リセット検出部５２４は、加算部５１０がリセットしたことを通知する制御信号ｒｅｓｅｔＭを生成する。パルス生成部５５１は、信号ｐｈａｓｅＩｎｃＭ、ｐｈａｓｅＡｃｃＭ、およびｒｅｓｅｔＭに応答して、マスター波形のためのエイリアス低減パルスのサンプル列Ｍｐ０、Ｍｐ１、・・・、ＭｐＮ／２、・・・、ＭｐＮ−１を出力する。エッジバッファ５０６は、線５０２のデジタルサンプル列と、エイリアス低減パルスのサンプル列を組み合わせるために使用される。エッジバッファ５０６は、図２のエッジバッファ２０６と同様に実装される。エッジバッファ５０６の出力波形ＭａｓｔｅｒＯｕｔは、帯域制限波形のデジタルサンプル列となる。
【００２２】
線５０１のスレーブ波形ＳｌａｖｅＯｕｔは、マスター波形のイベントにも応答してリセットするように変更が加えられた位相累算手段を使用して生成される。位相増分値ｐｈａｓｅＩｎｃＳは、線５３０から加算部５３１に入力される。加算部５３１の出力は、スイッチ５３２に入力される。スイッチ５３２は通常、加算部５３１の出力を選択する。スイッチ５３２の出力ｐｈａｓｅＡｃｃＳは、遅延部５３３を通じて加算部５３１の第２の入力にフィードバックされる。加算部５３１も、値が１．０になると、出力ｐｈａｓｅＡｃｃＳをリセットする。リセット検出部５３７は、加算部５３１がリセットしたことを知らせる制御信号ｒｅｓｅｔＳを生成する。
【００２３】
スイッチ５３２は、マスター側の加算部５１０を監視するリセット検出部５２４からの出力ｒｅｓｅｔＭによって制御される。マスター側の加算部５１０がリセットすると、スイッチ５３２は、乗算部５３９の出力を選択する。乗算部５３９は、線５３０からの位相増分値ｐｈａｓｅＩｎｃＳと、ブロック５３８で計算されたスケール係数とを乗算して、マスター波形がリセットした後のサンプル値を求める。ブロック５３８で計算されるスケール係数は、加算部５１０の出力ｐｈａｓｅＡｃｃＭの値を、線５５０からの位相増分値ｐｈａｓｅＩｎｃＭ（１．０を法とする）で除算した値である。つまり、スケール係数は、マスター波形でリセットイベントが発生したサンプル間のリセットの位相に対応する、サンプリング周期の分数値を示す。線５３０からのｐｈａｓｅＩｎｃＳで乗算されると、リセット後のｐｈａｓｅＡｃｃＳのサンプル値が求められる。
【００２４】
図５の例では、スレーブ波形は、加算部５３１のリセットによって生じる第１のタイプの不連続と、加算部５１０のリセットによって生じる第２のタイプの不連続を有する。エイリアス低減パルスは、両タイプの不連続についてのエイリアシングを減らすために用いられる。典型的な実施形態では、第１のタイプの不連続は、一定の大きさを有し、エイリアス低減パルスは、マスター波形に適用されるエイリアス低減パルスに関して上記で述べたように生成されることができる。マスター波形のイベントに応答した不連続は、様々に異なる大きさを有する可能性がある。したがって、マスター波形のイベントに応答した不連続のためのエイリアス低減パルスは、不連続の大きさにしたがって調整されなければならない。
【００２５】
パルス生成部５５１は、信号ｐｈａｓｅＩｎｃＭ、ｐｈａｓｅＡｃｃＭ、およびｒｅｓｅｔＭ、ｐｈａｓｅＩｎｃＳ、ｐｈａｓｅＡｃｃＳ、ｒｅｓｅｔＳに応答して、両タイプの不連続についての、スレーブ波形のエイリアス低減パルスのサンプル列Ｓｐ０、Ｓｐ１、・・・、ＳｐＮ／２、・・・、ＳｐＮ−１を出力する。エッジバッファ５３６は、線５３４のデジタルサンプル列と、エイリアス低減パルスのサンプル列を組み合わせるために使用される。エッジバッファ５３６は、図２のエッジバッファ２０６と同様に実装される。エッジバッファ５３６の出力波形ＳｌａｖｅＯｕｔは、帯域制限された鋸歯状波形のデジタルサンプル列となる。
【００２６】
図６〜８に、マスター波形およびスレーブ波形の３つのリセットのタイミングでの、図５のハードシンクシステムの動作を示す。図６は、マスター波形６００が時間ＢとＤでリセットし、スレーブ波形６０１が時間ＡとＣでリセットする事例を示す。この場合、時間ＡおよびＣでの第１のタイプのスレーブのリセットと、時間ＢおよびＤでの第１のタイプのマスターのリセットは、図２で説明したように、パルス生成部５５１によって処理される。しかし、時間ＢおよびＤのスレーブリセットは、マスターリセットが発生するサンプル間でリセットの位相ｔｍの関数である大きさを有する。大きさの値は、図５のシステムのブロック５３８と乗算部５３９で生成される。時間Ｂでのリセットは、時間ｎからサンプリング間隔の２／３にずれた位相で発生している。したがって、時間ｎにおけるスレーブ波形のサンプル値６０３は、ｓｌａｖｅＩｎｃＳの２／３に等しくなる。図の例では、ｐｈａｓｅＩｎｃＳは０．４、ｐｈａｓｅＩｎｃＭは０．３になる。したがって、乗算部５３９の出力は、約０．２６６である。時間Ｄのリセット後のスレーブ波形のサンプル値６０４は、１／３ずれた位相で発生したマスターリセットに対応し、約０．１３３になる。
【００２７】
エイリアス低減パルスは、段差６０２の大きさ６０５に応じて調整される。段差６０２の大きさ６０５は、単に、ハードシンクリセットがない場合にリセット後のサンプル時間にスレーブ波形が達成するはずの大きさと、リセットの結果得られたスレーブ波形の大きさとの差６０６になる。時間Ｂのリセット後のサンプルで、スレーブ波形６０１の段差６０２の大きさは、（０．８−０．２６６）＝０．５３４になる。したがって、時間Ｂのリセットの位相と位置合わせされるスレーブ波形のエイリアス低減パルスのサンプル列を生成するパルス生成部５５１は、スケール係数０．５３４だけサンプル値を調整する。時間Ｄのリセットの位相と位置合わせされるスレーブ波形のエイリアス低減パルスのサンプル集合を生成するパルス生成部５５１は、スケール係数（０．４６６−０．１３３）＝０．３３３だけサンプル値を調整する。
【００２８】
図７は、図６と同じｐｈａｓｅＩｎｃＭ、ｐｈａｓｅＩｎｃＳであって、異なる事象を説明するための図である。図７では、図中のサンプルｎ−１とサンプルｎとの間で、マスターとスレーブの両方が、それぞれリセットの位相ｔｍとｔｓでリセットしている。ここでは、マスターのリセットが初めに（ｔｍ＞ｔｓ）発生する場合のハードシンク手順を示す。加算部５１０は、サンプルｎに対応するサンプリング期間の位相ｔｍ＝２／３である時間Ａにリセットする。一方、加算部５３１は、同じサンプリング間隔の位相ｔｓ＝１／４の時間Ｂにリセットする。マスターのリセットの結果、線５３４のｐｈａｓｅＡｃｃＳが第１のタイプのリセットより前に値が下がるので、スレーブのリセットが遅れ、現在のサンプルとその直前のサンプルとの間には、スレーブ波形中の１つのみの不連続が生じる。この場合、スレーブ波形のエイリアス低減パルスは、図６で説明した方法と同じように生成される。
【００２９】
図８は、図６や図７と同じｐｈａｓｅＩｎｃＭ、ｐｈａｓｅＩｎｃＳであって、異なる事象を説明するための図である。図８では、マスターとスレーブの両方が、図中のサンプルｎとｍに対応する同じサンプル間で、リセットの位相ｔｍとｔｓにリセットしている。ここで、スレーブがマスターより前にリセットした場合（ｔｍ＜ｔｓ）のハードシンクの手順を示す。この場合、１つのサンプル間に非帯域制限波形で２つの段差が生じる。したがって、実際には、同じサンプリング期間内の２つの不連続を補償するために、２つのエイリアス低減パルスが必要となる。図の実施形態では、マスター波形８００とスレーブ波形８０１はともに、サンプルｎ−１とサンプルｎの間でリセットする。時間Ａでのスレーブのリセットの位相ｔｓは３／４であり、１．０の大きさである。時間Ｂでのマスターのリセットの位相ｔｍは１／３である。これは、図６との関連で説明したように計算され、１／３の位相と０．１６６の大きさを有する。また、時間Ｂでのスレーブのリセットも誘発する。両方の不連続に対するエイリアス低減パルスが、パルス生成部５５１で組み合わせられ、スレーブエッジバッファ５３６に入力される。そして、線５０１に帯域制限された出力波形ＳｌａｖｅＯｕｔが出力される。同様に、時間Ｃでのスレーブのリセットの位相ｔｓは０．８３３であり、大きさは１．０である。時間Ｄでのマスターリセットの位相ｔｍは０であり、このリセットは、０の位相と、０．８３３の大きさとｐｈａｓｅＩｎｃＳ（図の実施形態では０．４）を乗算した大きさ、すなわち０．３３３２を有する。また、時間Ｄでのスレーブのリセットも誘発する。個々の位相と大きさを持つ、両方の不連続に対してのエイリアス低減パルスがパルス生成部５５１で求められ、組み合わせられ、スレーブエッジバッファ５３６に入力される。
【００３０】
この技術の実施形態では、マスター波形とスレーブ波形両方についてのエイリアス低減パルスを生成する。したがって、エイリアス低減パルスのサンプルの位相シフトされたセットを含む１つのテーブルを、そのテーブルに２度アクセスすることによって用いることに留意されたい。
［変形例］
以下の変形例では、マスター波形とスレーブ波形に別個のテーブルが用いられる。
図６〜８との関連で説明した実施形態では、マスター波形の不連続に応答して生成されるスレーブ波形のリセットｐｈａｓｅＡｃｃＳはゼロである。本変形例では、図９に示すように非ゼロのリセットｐｈａｓｅＡｃｃＳ値を使用する。図９は、時間Ａにリセットするマスター波形９００を示す。図６と同様に、ゼロのリセットｐｈａｓｅＡｃｃＳ値を有するスレーブ波形を、トレース９０１に示す。０．５のリセットｐｈａｓｅＡｃｃＳ値を有するスレーブ波形をトレース９０２に示す。０．８のリセットｐｈａｓｅＡｃｃＳ値を有するスレーブ波形をトレース９０３に示す。本発明の実施形態は、図９に示すようなスレーブ波形の不連続によって生じるエイリアシングを低減するために、エイリアス低減パルスを適用する。
【００３１】
図１０に、非ゼロのリセットｐｈａｓｅＡｃｃＳが適用され、１つのサンプリング周期内にマスターのリセットより前にスレーブのリセットが発生する事例を示す。この順序の結果、３／４の位相ｔｓ１を有する第１のタイプのスレーブのリセット１００１、１／３の位相ｔｍでのマスターのリセット１０００、マスターのリセット１０００に応答した非ゼロの位相リセット１００３（図の実施形態では０．９５の大きさ）、位相ｔｓ２での第１のタイプのスレーブのリセット１００２が発生する。上方への段差１００３の大きさは、リセット値（０．９５）と、時間ｔｓ１からｔｍまでの累算値（点１００４）との差に等しい。時間ｎでのサンプル値は、ｐｈａｓｅＡｃｃＳに時間ｔｓ２を乗算した値に等しく、ｔｓ２は、次の式に従って計算することができる。
【００３２】
ts2= ((syncResetPhase + (tm)(phaseIncS)) - 1)/ phaseIncS,
= ((0.95 + (1/3)(0.4)) -1)/0.4
= 0.0833/0.4 = 0.208
スレーブ波形の各不連続点での位相（ｔｓ１、ｔｍ、ｔｓ２）と大きさ（１．０、−０．７８４、１．０）に対してエイリアス低減パルスが生成され、スレーブのエッジバッファで組み合わせられる。段差１００３のエイリアス低減パルスは、異極性の段差を補償するために反転される。
【００３３】
上記のハードシンクでは、スレーブ波形をリセットさせるマスター波形のイベントは、単に、累算手段のリセットである。不連続点の発生、閾値の超過など、他のイベントがスレーブ波形のリセットをトリガすることもできる。いわゆるソフトシンク手順では、マスター波形のリセットや閾値の超過など、スレーブ波形のリセットを生じさせるイベントは、単に、スレーブ波形が一定範囲にある場合にのみ適用される。また、上記の例ではエイリアス低減パルスが生成される不連続点は、段差である。しかし、知覚できるレベルのエイリアシングを招く大きさの高周波成分が生じるようなマスター波形の不連続を補正することもできる。また、上記の例では、時間的に一致する個々の波形のサンプリング間隔に、マスターの不連続がスレーブの不連続を生じさせる。他の事象としては、マスターの不連続が、スレーブの不連続が生じるサンプル間と時間的に一致しないサンプル間に発生する場合がある。例えば、後のスレーブ波形のサンプル間に、マスターの不連続点の位相が適用され、その位相に基づく不連続を生じさせる可能性がある。
［第３実施形態］
図１１に、エイリアス低減パルスと帯域制限されない波形を組み合わせて、帯域制限された鋸歯状波形を生成するシステムの機能構成例を示す。また、図１２に、図１１の構成部からの波形Ａ、Ｂ、Ｃ、Ｄを示す。図１１に示すシステムでは、加算部６５１は、線６５０の位相増分値ｐｈａｓｅＩｎｃＭ（０〜１の値）を受け取る。加算部６５１の出力は、図１２のグラフＡで表されるサンプル列ｐｈａｓｅＡｃｃＭである。ｐｈａｓｅＡｃｃＭは、遅延部６５２を通じて加算部６５１の第２の入力に戻され、帯域制限されない鋸歯状波形Ａが生成される。ここでは、−１から＋１の間に調整される。エイリアス低減パルスを生成するために、ｐｈａｓｅＡｃｃＭは乗算部６５３にも入力される。乗算部の第２の入力は、ブロック６５４によって提供される位相増分値ｐｈａｓｅＩｎｃＭの逆数である。乗算部６５３の出力は乗算部６５５に入力される。乗算部６５５は、入力された「利得」だけ信号の大きさを増幅する。その結果は、図１２に示すグラフＢで表す波形となる。この波形は、波形ＡのｐｈａｓｅＩｎｃＭの負の値は−１．０で切られ、ｐｈａｓｅＩｎｃＭの正の値は１．０で切られている。また、「利得」係数によって決定される勾配を有し、値が０の点を中心とする線形の傾斜６６６を含む。波形Ｂは、入力としてテーブル６５７に入力される。テーブル６５７は、図１２の波形Ｃに示すようにエッジテーブルの出力を供給して、入力Ｂの値を、帯域制限されない出力を生成するのに適した値に置き換える。グラフＣのエッジテーブル６５７の出力は、グラフＡに示す帯域制限されない鋸歯状波形とともに入力として加算部６５８に入力される。テーブル６５７によって提供されるエイリアス低減パルスは、本質的にＤＣバイアスがなく、対応する出力Ｄをゼロレベル６７１に設定する。また、エイリアス低減パルスは、マスターのリセットの位相を約１８０度シフトするものであり、マスター波形の不連続６６７の周囲のサンプル列（６７０に近い）と加算される。得られる出力は、グラフＤに示す帯域制限された鋸歯状波形になる。
［第４実施形態］
エイリアス低減パルスを生成するための上記の技術は、音楽の合成で一般に使用される各種のシステムに適用することができる。図１３は、２つの位相累算器を使用した帯域制限パルス発振装置の機能構成例を示す。あるパルス幅値だけ位相をずらして初期化される加算部１３００および１３０１は、入力１３０２の位相増分値ｐｈａｓｅＩｎｃＭと、それぞれ遅延部１３０３と１３０４からのフィードバックを受け取る。その結果得られる鋸歯状波形は、初期化された位相シフト値だけ位相がずれており、加算部１３０５で減算される。その結果は、線１３０６のパルス列である。このパルス列は、エッジバッファ１３０７に入力される。リセット検出部１３０８は、線１３０６のパルス波形の下方への遷移を示す加算部１３００のリセットと、線１３０６のパルス波形の上方への遷移を示す加算部１３０１のリセットを検出する。遷移は、一定の大きさの不連続を構成する。したがって、モジュール１３０９がリセット時間を計算し、そのリセット時間をパルス生成部１３１０に入力する。パルス生成部１３１０は、パルス波形の上方および下方への遷移に適切な極性を有し、各遷移に対するエイリアス低減パルスのサンプル列ｐ０、ｐ１、・・・、ｐＮ／２、・・・、ＰＮ−１を出力する。得られる帯域制限されたパルス出力が、線１３１１のサンプル列である。
［変形例］
図１４に、帯域制限パルス発振装置の変形例を示す。この装置は、加算部１４００を用いた位相累算手段を備えている。加算部１４００は、遅延部１４０２を通じたフィードバックとともに、線１４０１の位相増分値ｐｈａｓｅＩｎｃＭを受け取る。出力ｐｈａｓｅＡｃｃＭは、帯域制限されない鋸歯状波形であり、それが比較部１４０３に入力される。閾値は、線１４０４のパルス幅値として比較部１４０３に入力される。比較部１４０３の出力は、帯域制限されないパルス列である。リセット検出部１４０６が、比較部１４０３の出力の下方への遷移と一致する加算ノード１４００のリセットを検出する。また、比較部１４０３が、比較部１４０３の出力の上方への遷移を通知する。モジュール１４１０は、リセット検出部１４０６、比較部１４０３、およびｐｈａｓｅＩｎｃＭとｐｈａｓｅＡｃｃＭの値に応答してリセット時間を計算する。モジュール１４１０は、パルス生成部１４０７に制御信号を入力する。パルス生成部１４０７は、上方および下方への遷移に適した極性の、線１４０５のパルス列の各遷移のエイリアス低減パルスのサンプル列Ｐ０、Ｐ１、・・・、ＰＮ／２、・・・、ＰＮ−１を出力する。エッジバッファ１４０８は、線１４０５からのサンプル列を、サンプル列Ｐ０、Ｐ１、・・・、ＰＮ／２、・・・、ＰＮ−１と組み合わせ、線１４０９に帯域制限されたパルス列を出力する。
【００３４】
ここに記載される技術は、ハードシンク装置、パルス発振装置および他のタイプの波形生成装置、リング変調発振装置、パルス幅乗算装置、１／８分周装置を有する矩形波発振装置、および帯域制限波形を生成する他の装置に容易に応用できる。
上記で詳述した例を参照して本発明を開示するが、これらの例は、制限的な意味ではなく例示的な意味である。
また、本発明は、上記の合成方法を実行するように構成されたコンピュータと音楽合成システムを含む。本発明は、コンピュータが読み取り可能な媒体に記録され、上記の合成方法を行うためにコンピュータによって実行されることができるコンピュータプログラムも含む。
【図面の簡単な説明】
【００３５】
【図１】帯域制限波形を合成する手段を含むシステムの略図である。
【図２】帯域制限鋸歯状波発振器の機能構成を示す図である。
【図３】帯域制限されない鋸歯状波形と、波形のデジタルサンプル列を示す図である。
【図４】鋸歯状波形、エイリアス低減パルス波形、帯域制限された鋸歯状波形を示す図である。
【図５】マスター波形とスレーブ波形を生成するハードシンクの帯域制限鋸歯状波発振装置の機能構成例を示す図である。
【図６】帯域制限されないマスターおよびスレーブの鋸歯状波形、およびその波形のデジタルサンプル列を示す図である。
【図７】帯域制限されないマスターおよびスレーブの鋸歯状波形と、それら波形のデジタルサンプル列を示す図であって、マスター波形のリセットとスレーブ波形のリセットが同じサンプル間にあり、マスターリセットの方が先に発生する場合を示す図である。
【図８】帯域制限されないマスターおよびスレーブの鋸歯状波形と、それら波形のデジタルサンプル列を示す図であって、マスター波形とスレーブ波形のリセットが同じサンプル間にあり、スレーブのリセットの方が先に発生する場合を示す図である。
【図９】マスター波形と、各種のハードシンクリセットのスレーブ波形を示す図である。
【図１０】マスター波形と、非ゼロのスレーブリセットレベルでのハードシンクリセットのスレーブ波形を示す図である。
【図１１】帯域制限鋸歯状波形発振装置の別の機能構成例を示す図である。
【図１２】図１１の装置の各構成部での波形を示す図である。
【図１３】帯域制限された矩形波パルス発振装置の機能構成例を示す図である。
【図１４】帯域制限された矩形波パルス発振装置の別の機能構成例を示す図である。
【符号の説明】
【００３６】
１００  コンピュータシステム
１０１  プログラム記録部
１０２  データ記録部
１０３  オーディオ部
１０４  ユーザ入力部
１０５  ディスプレイ
１０６  他のコンポーネント
１１０  ＣＰＵ
２００、２０２、５００、５０１、５０２、５３０、５３４、５５０、６５０、１３０６、１３１１、１４０１、１４０４、１４０５、１４０９  線
２０１、２１１、２１２、２１３、５１０、５３１、６５１、６５８、１３００、１３０１、１３０５、１４００  加算部
２０４、１３０９、１４１０  モジュール
２０５、５５１、１３１０、１４０７  パルス生成部
２０６、５０６、５３６、１３０７、１４０８  バッファ
２０３、２０８、２０９、２１０、５０３、５３３、６５２、１３０３、１３０４、１４０２  遅延部
５３２  スイッチ
５３９、６５３、６５５  乗算部
２２４、５２４、５３７、１３０８、１４０６  リセット検出部
１４０３  比較部
【図１】
2006191598.tif 000003
【図２】
2006191598.tif 000004
【図３】
2006191598.tif 000005
【図４】
2006191598.tif 000006
【図５】
2006191598.tif 000007
【図６】
2006191598.tif 000008
【図７】
2006191598.tif 000009
【図８】
2006191598.tif 000010
【図９】
2006191598.tif 000011
【図１０】
2006191598.tif 000012
【図１１】
2006191598.tif 000013
【図１２】
2006191598.tif 000014
【図１３】
2006191598.tif 000015
【図１４】
2006191598.tif 000016