多機能 高精度 テスト信号発生ソフト WaveGene for Windows95/98/NT4 --------------------------------------------------------------------------- 【はじめに】 この WaveGene は、色々なテスト用音声信号を計算により発生させ、サウンドカード や、Waveファイルへ出力するツールです。 サイン波、矩形波、三角波、ノコギリ波、パルス列、ホワイトノイズ、ピンクノイズ、 の7種類の波形を、3つ同時に任意に組合わせて(ミックス)出力することができます。 ※ スイープ(周波数、振幅、位相、およびそれらの組合わせ、連続、ステップ)、 変調(AM、DSB、FM、PM)、トーンバースト発生機能、があります。 ※ その他、位相やサンプルディレイの設定、L/Rの出力先の振分け、オフセット、 極性、等々、様々な設定が可能です。 ※ Waveフォーマットは、8,16,24,32bit、Stereo/Mono、サンプリング周波数は 任意に設定可能です。 ※ 周波数の設定は、Hz のほか、サンプル数による周期での設定も可能です。 ※ 振幅の設定は、dB、数値、百分率 の3種類で設定可能です。 (また、これらの単位は、簡単に相互変換することができます) ※ 全ての設定は、コメントを付けた設定パラメータファイルとして書き出すことが でき、後に再び読込むことで、複雑な設定を何時でも再現することが出来ます。 特に、拙作 WaveSpectra のようなスペクトラム表示ソフトと共に使用する際に便利な ように、FFT の際のデータ切出しの為の誤差が出ない(スペクトルがただ1本になる) 周波数をワンタッチで設定できる便利な機能があります。 サウンドカードや各種オーディオのチェックに、また、CD-R による CD-DA の作成 の際のテスト信号源としてお使い頂くことができます。 ※ 前バージョンからの変更点は、最後尾の履歴をご覧ください。 --------------------------------------------------------------------------- <<< 注意 >>> 以前のバージョンをお使いの方で、今回のバージョンを 同一ディレクトリに 重ね書きされるかたは、トラブルを避けるために、出来るだけ これまでの WG.INI と INIT.WG を削除 してから起動して下さい。 ~~~~~~~~~~~~~~~~~~~~~~~~ (そのままで使えない訳ではないのですが…) また、大変多機能になっておりますので、便利に使っていただくために、 この説明書に一通り目を通して頂くようお願い致します。 【インストール】 適当なディレクトリに WG.EXE を入れるだけです。 そして、起動するためのショートカット等、適当に作っておけばそれで終わりです。 また、使用中も WINDOWS\SYSTEM ディレクトリや、レジストリにも一切書き込み しない、行儀の良い?ソフトです(^^) ただし、ウィンドウ位置や表示条件その他を保存して、次の起動時に 再現するための WG.INI ファイルを、起動した WG.EXE と同じディレクトリに 作ります。 (終了時に自動的に作ります。 最初は無くてもかまいません) ※ この程度のユーティリティにレジストリを汚されるのを作者は好まない(^^;)ので 推奨はされていませんが?、INI ファイルを使っています。 (あまりいないでしょうが、マルチユーザー環境の方、ごめんなさい… ま、複数個、別々にディレクトリを作って入れて下さい) また、最初の起動時に、全てのパラメータの初期設定値を、設定パラメータファイル INIT.WG として、WG.EXE と同じディレクトリに自動的に書出します。 この INIT.WG は、全ての設定を最初の状態に戻すために用いることが出来ます。 (後述「設定パラメータファイルの読込」の項参照) ※ 設定パラメータファイル (*.WG) は、デフォルトでは WG.EXE と同じ ディレクトリに保存されます。 【アンインストール】 ディレクトリごと WG.EXE と WG.INI、および、設定パラメータファイル (*.WG) を消去するだけで終わりです。 --------------------------------------------------------------------------- 【使用方法】 ※出来るだけ表示画面をコンパクトにするよう、画面上での説明文字を極力省略して あるため、各ボタン、および設定用のコンボボックスの機能は、それぞれの上で マウスポインタを数秒間止めることで表示されますので、前もって確認しておいて 下さい。 以下の説明では、その時表示されるボタン等の名称を用います。 (また、マウス右ボタンでのポップアップメニューを多用しているので、 コンボボックスや単位の文字などの上で右ボタンを押してみて確認して下さい) ◎設定パラメータファイルの読込 「パラメータの読込」ボタンを押すことで、設定パラメータファイルを読込み、 保存しておいた全てのパラメータを再現することが出来ます。 ※ 最初の起動時に自動的に作られた INIT.WG を読込むことで、全ての設定を 最初の状態に戻すことが出来ます。 ◎設定パラメータファイルの保存 「パラメータの保存」ボタンを押すことで、現在の全てのパラメータを、 設定パラメータファイルとして保存しておくことが出来ます。 現在の設定に名前を付けて保存しておくことにより、いつでも再現することが できるようになります。 保存の際、説明のためのコメントをボタンの下のエディットボックスへ書いて おくと便利です。(コメントもパラメータと共にファイルに保存されます) ◎サウンドデバイスへ出力 「サウンドデバイスへの出力」ボタンを押すと、現在設定されているパラメータの 信号を、サウンドデバイスへ直接出力します。 ※ 音は「ストップ」ボタンを押すまで止まりません。 ◎Waveファイルへの出力 「Waveファイル長 / スイープ長」コンボボックスで、ファイルの長さ(秒)を設定 してから、「Waveファイルへ出力」ボタンを押すことで、Waveファイルを作成する ことができます。 ファイル名を指定するダイアログボックスが開きますので、ファイル名を 指定してファイルを作成します。 ファイルの長さは、Waveファイル長 コンボボックスに前もって設定されている値を 選択するか、直接値を書き込むことで、任意の値に設定することが出来ます。 ※ 「Waveファイル長 / スイープ長」コンボボックスは、後述のスイープの長さを 指定するためにも使われます。 (V1.20 から、小数点以下も設定できるようになりました) (V1.20から) ◎再生デバイスの選択 「再生デバイス」ボタンを押すことで、再生に使用するサウンドデバイスを 選択することができます。 ※ Wave Mapper を選択すると、Windowsで設定されているデバイスが 使用されます。 またこの時、現在選択されている再生デバイスで使用する事が可能な フォーマット(サンプリング周波数、ビット長、Stereo/Mono)の一覧表が 表示されます。 「S」は StereoとMono両方が使用可、 「M」は Monoのみ、 「-」は使用できないフォーマットであることを表します。 ※ 「s」は Stereo のみを表します。(まず無いと思いますが(^^;;) ※ 現在設定されているフォーマットの部分が反転表示されます。 (表中に該当するものが無いフォーマットであった場合を除く) ◎終了は、特に専用ボタンは無いので、左上のシステムメニューボタンか 右上の "閉じる"ボタンで終了して下さい。 ※ キーボードの場合は Alt+F4 です。 ※信号出力中(ファイルへの出力も含む)は、Lch/Rch それぞれ、出力レベルが dB 表示されます。 (右上部 フォーマット設定用コンボボックス下) モノラルの場合は、Lch のみ表示されます。 このとき、出力信号がレベルオーバーすると、その背景が "赤" で表示されます。 (値ゼロの場合は、"-----" の表示となります) --------------------------------------------------------------------------- 【キーボードによる操作】 ◎各ボタンはキーボードでも操作できます。 Ctrl+O(オー): パラメータの読込 Ctrl+S : パラメータの保存 Ctrl+W : Waveファイルへ出力 Ctrl+D : 再生デバイス選択 (V1.20 から追加) スペース : 交互に、サウンドデバイスへ出力 ― ストップ と同じ。 (フォーカスが編集可能なコンボボックスなどにある場合は除く) Alt+F4 : 終了 --------------------------------------------------------------------------- (V1.10 から) 【波形表示】 はじめて起動した時には、波形表示部がありませんが、ウィンドウの最下エッジを ドラッグして下へ引っ張ると、波形表示部が現れます。 (波形表示部は、下へのみ拡大可能です。 横には拡大できません) 左右チャンネルの出力は、それぞれ色分けされて表示されます。 横軸、縦軸の表示倍率は、それぞれの目盛りの数字表示領域付近で、マウスの 右ボタンをクリックすることで表示されるポップアップメニューで変更可能です。 ※ 波形表示は、信号発生中に約0.5〜1秒(フォーマットによって多少違い、固定) 毎に繰り返されます。 --------------------------------------------------------------------------- 【パラメータの設定】 [フォーマット] ●サンプリング周波数 コンボボックスに前もって設定されている値を選択するか、 直接値を書き込むことで、任意の値に設定することが出来ます。 ※ 設定値については、1000Hz 以上なら 特に制限はありません。 (1000 以下の数値を設定した場合は、警告音で知らせます) また、その周波数で再生できるかどうかはそれぞれの環境によります。 (だたし、Waveファイルへ出力する場合は任意です) ●ビット長 8, 16, 24 または 32 を設定します。 (V1.20 から、24,32 を追加) (24bit, 32bitは、それぞれ 3byte/sample, 4byte/sample の 整数フォーマットです) ●Stereo/Mono 文字どおり、ステレオかモノラルかを設定します。 [Wave1 〜 Wave3] ●波形 現在、サイン波、矩形波、三角波、ノコギリ波、パルス(インパルス)、 ホワイトノイズ、ピンクノイズ、の7種類を選択することができます。 ●周波数/周期 単位が "Hz" のときは、そのまま周波数を、単位が "Sa" の時は、 サンプル数による周期 としての設定となります。 コンボボックスに前もって設定されている値を選択するか、 直接値を書き込むことで、任意の値に設定することが出来ます。 ※ 単位の設定/変更 コンボボックスの右の "Hz" など単位の部分を、マウスで右クリック すると、ポップアップメニューが出ますので、そこで設定します。 (右クリックの代わりに、左ダブルクリックすることで、 順に変更することも出来ます) 単位を変更すると、以前の値が新しい単位で換算表示されます。 (どの単位で設定しても、内部的には同じです) ●振幅 単位が "dB" のときは、最大 0 のデシベル値で、単位が "値" の時は、 そのまま 最大32767(16bit以上の時)、または127(8bitの時) の数値で、 単位が "%" の時は、最大 100 のパーセント値での設定となります。 コンボボックスに前もって設定されている値を選択するか、 直接値を書き込むことで、任意の値に設定することが出来ます。 ※ 単位の設定/変更 コンボボックスの右の "dB" など単位の部分を、マウスで右クリック すると、ポップアップメニューが出ますので、そこで設定します。 (右クリックの代わりに、左ダブルクリックすることで、 順に変更することも出来ます) 単位を変更すると、以前の値が新しい単位で換算表示されます。 (どの単位で設定しても、内部的には同じです) 注: Waveフォーマットのビット長を切替えた時、単位が "dB"、"%" の時は それぞれ内部で可能な最大値に対して自動的に換算されますが、単位の 設定が "値" の時は、自動換算はされません。 よって、8bit → 16bit に変えた時は音が小さくなりますし、 16bit → 8bit ではレベルオーバーを起こす可能性があります。 注: 24,32bitフォーマットの場合 (V1.20 から) 実際に出力される値はそれぞれ最大 2^23-1, 2^31-1 の整数ですが、 これまでとの互換性および設定しやすさのために、単位の設定が "値" の時、コンボボックスに設定する数値は、いずれの場合でも 16bitの時と同じく、最大 32767です。 (通常は、"dB" や "%" で設定する方が分かりやすいでしょう) (V1.10 から) ●オフセット 波形に加えるオフセット(直流成分)を指定します。 指定方法は、振幅と全く同じです。 ●出力チャンネル "L+R" では両チャンネル、"L" で左チャンネルのみ、"R" で右のみ、 へ出力され、"OFF" では、そのWaveは機能しなくなります。 ==== 以下、Wave1 のみ ==== ●ディレイサンプル数 設定したサンプル数だけ、Wave1の発生を他より遅らせることが出来ます。 (波形は、そのサンプル数だけ右へずれます。 また、遅らせた部分の波形の値は全てゼロです) コンボボックスに前もって設定されている値を選択するか、 直接値を書き込むことで、任意の値に設定することが出来ます。 ●位相 設定した度数 (0〜360°)だけ、Wave1の位相を他より進めます。 (波形は、その分左へずれます) コンボボックスに前もって設定されている値を選択するか、 直接値を書き込むことで、任意の値に設定することが出来ます。 (以上2つは、ホワイトノイズ、ピンクノイズでは無効です) (V1.10 から) ●スイープ このチェックボックスをチェックするとスイープ機能を有効にすることが 出来ます。 周波数、振幅、位相、の3つを同時にスイープ出来ますが、それぞれ Wave1 の設定が初期値、Wave2 の設定が最終値となります。 ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~ 例えば、Wave1 の周波数が 100Hz 振幅が -10dB、Wave2 の周波数が 1000Hz 振幅が 0dB なら、100Hzから1000Hzまで、音が大きくなりながら変化します。 (よって、逆にスイープしたくない物は、Wave1、Wave2 の設定を同じ値 にして下さい) スイープの時間(秒)は、「Waveファイル長 / スイープ長」コンボボックスで 指定します。 (通常はストップボタンを押すまで止まらないサウンドデバイスへの出力時 でも、ここでの設定時間でスイープ終了後、音は止まります) スイープの変化の仕方(リニア、Log、及び、連続変化、ステップ変化)は、 チェックボックス上でマウスを右クリックすることで表示される ポップアップメニューで設定します。 ※ 位相のみは Wave2 の設定が無いので、最終値もポップアップメニュー で設定します。(Wave1の値 --> 360° または Wave1の値 --> 0°) また、位相の変化はリニアのみです。 ※ 周波数、振幅とも、Wave1 より、Wave2 の値を小さくして、逆方向へ 変化させることも可能です。 ※ Wave2 は、設定値のみ使用され、それ自身の動作には無関係です。 つまり、スイープ中に Wave2 の出力チャンネルを有効("OFF"以外)に することによって、同時に出力(ミックス)することも出来ます。 (V1.10 から) ●変調 このチェックボックスをチェックすると変調機能を有効にすることが 出来ます。 変調波は Wave3 の Lch 出力です。 ~~~~~~~~~~~~~~~~~~~~~~~~~~ 変調の種類(AM、DSB、FM、PM)は、チェックボックス上でマウスを 右クリックすることで表示されるポップアップメニューで設定します。 ◎AM (Amplitude Modulation 振幅変調) 変調波 Wave3 の振幅を 100% にした時、変調度が 100% になります。 例えば、搬送波(キャリア)Wave1 の振幅を 50% に設定して、Wave3 の振幅を 100% にすると、出力のピークが最大振幅(0dB)となります。 ◎DSB (Double Side Band 搬送波抑圧両側帯波振幅変調) 変調波 Wave3 の振幅を 100% にした時、変調度が 100% になります。 例えば、搬送波(キャリア)Wave1 の振幅を 100% に設定して、Wave3 の振幅を 100% にすると、出力のピークが最大振幅(0dB)となります。 ※ 数学的には Wave1 と Wave3 とを掛け合わせたものなので、Wave3 の 振幅が 0% の時、出力もゼロになります。 ◎FM (Frequency Modulation 周波数変調) 変調波 Wave3 の振幅を 100% にした時、Wave1 の周波数偏移が ±100% になります。 例えば、搬送波(キャリア)Wave1 の周波数の設定を 1000Hz に設定して、 Wave3 の振幅を 100% にすると、出力の周波数は、ゼロ(直流)から 2000Hz の間を変化します。 ◎PM (Phase Modulation 位相変調) 変調波 Wave3 の振幅を 100% にした時、Wave1 の位相偏移が ±360° になります。 ※ 変調機能を有効にしている時は、通常時とは違い Wave3 の出力は変調波 として使用され、出力としてミックスされません。 ただし、Wave1 の出力チャンネルを "L" または "R" のみとすると、 その反対のチャンネルには、Wave3 を出力することが出来る(Wave3 の 出力チャンネルを "L+R" にした場合)ので、変調結果と変調波を 左右チャンネルに同時に出力して比較、確認することができます。 ※ 搬送波(Wave1)の種類は、FM、PM で ホワイトノイズ、ピンクノイズ が 使用できないだけで、それ以外の制限はありません。 変調波(Wave3)の種類には、全く制限はありません。 (V1.10 から) ●ゲート(トーンバースト用) 任意の On周期(波数) と Off周期 を設定することによって、トーンバースト を出力することが出来ます。 On周期、Off周期共、0.5 の単位で入力できます。 例えば、On周期 0.5、Off周期 9.5 なら、最初の半周期のみ On で、その後 9.5周期の間はゼロの、全周期 10 のトーンバーストが出力されます。 On周期、Off周期 共にゼロ以外の数値を設定した時のみ、有効になります。 コンボボックスに前もって設定されている値を選択するか、 直接値を書き込むことで、任意の値に設定することが出来ます。 ==== 以下、Wave2, 3 のみ ==== (V1.10 から) ●ゲート(Wave1のゲートと同期) このチェックボックスをチェックすると、Wave1 でのゲート動作に同期して、 Wave2, 3 も On,Off するようになります。 Wave1 のゲート動作が有効な時のみ、チェックできるようになります。 ※ Wave2, 3 として一般の波形を用いるだけでなく、オフセット(直流)を On,Off することによって、ゲート信号自体のパルスを作ることも できます。 ※ 以上、全ての設定機能は信号発生中でもリアルタイムに変更できます。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ただし、設定によっては信号発生中は無効になるものもあります。 また、 動作中に周波数を変えると、動作原理上、位相がずれたり、本来の動作 で無くなってしまう場合もありますので、特に位相関係が重要な場合や、 スイープ、変調 の場合は、一旦ストップしてから変更するようにしてください。 --------------------------------------------------------------------------- 【周波数設定の拡張機能】 周波数の設定の際(単位が"Hz"の時)、周波数設定コンボボックス上でマウスの 右ボタンをクリックすると、周波数設定の拡張機能用のポップアップメニュー が出ます。 === FFT用に最適化 === これを選択することで、WaveSpectra のようなスペクトラム表示ソフトと 共に使用する際に便利なように、FFT の際のデータ切出しの為の誤差が出ない (スペクトルがただ1本になる)周波数で、もとの設定値に最も近い値に 正確に変換することができます。 つまり、FFTの最少周波数分解能「サンプリング周波数÷データ長」の 整数倍で、もっとも近いものに変換されます。 (例)もとの設定値: 1000Hz、44100Hzサンプリング、4096点FFT の場合 44100/4096 = 10.76660 Hz の 93倍 ----> 1001.294 Hz となります。 注: サイン波以外の波形で上のように切出し誤差が無いスペクトルを得る ためにはこれだけではだめで、別の注意が必要です。 詳しくは、 【その他】 ◎ サイン波以外の波形で、FFTの際の切出し誤差を無くすためには を参照して下さい。 === FFTサンプル数 === 上の最適化のための、観測時に使用するFFTのデータ長を設定します。 (2048 〜 65536) ※ V1.20 から ※ この値以上のFFTで観測した場合にのみ、スペクトルがただ一本となります。 (この場合、FFTの窓関数は「なし」つまり矩形窓にするとそうなります) === Wave1 の倍数 === Wave2 と、Wave3 では、このメニューが追加されます。 これで、Wave2 または Wave3 の周波数を、Wave1 の周波数の 正確な倍数(高調波、倍音)に設定することが出来ます。 (x2, x3, x4, x5, x6, x8, x10) ※ 以上、全ての設定機能は信号発生中でもリアルタイムに変更できます。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -------------------------------------------------------------------------- 【ヒント、注意、その他】 ◎ ノイズについて ホワイトノイズ、ピンクノイズ共に、Wave1 〜 Wave3 まで全て同一のタイミング の信号(同一時系列)が出力されます。 例えば Wave1、Wave2 共に同じホワイトノイズ、またはピンクノイズに設定し、 Wave1 を Lch に、Wave2 を Rch に出力させた場合、両出力信号は同一で、 全くのモノラル信号となります。 ◎ ピンクノイズについて ピンクノイズは、ホワイトノイズに -10dB/dec (-3dB/oct) のフィルタを 掛けたものです。 WaveGene ではこのフィルタを FFT によるフィルタで行っており、 リアルタイムに発生させるには他の信号に比べて、より多くのCPUパワーを 必要とします。 よって、CPUパワーが足りない場合、音が途切れることがあります。 このような場合は、一旦Waveファイルに書出してから、別のWaveファイル再生 ソフトで再生して下さい。 どうしてもリアルタイムでサウンドデバイスから出力させたい場合は、 Stereo から Mono に変える、サンプリング周波数を下げる、などで 改善することが出来る場合もあります。 (動作環境にもよりますが、一般的に Pentium 133〜166MHz 以上なら 途切れないようです) ◎ 直流分について V1.10から、単独にオフセットを加えられるようになったため、あまり意味は 無くなってしまいましたが、ノイズ以外の時、周波数としてゼロを設定すると、 その時の振幅の値だけ、出力に直流分を加えることが出来ます。 (値は正でも負でも構いません) ◎ 反転(逆相)出力の方法 特に極性反転のためのボタン等は設けてありませんが、単位が "dB" 以外 の時に、振幅として "負" の値を設定すると、そのWave出力を、正負反転 させることが出来ます。 "dB" の時は元々負の値しか設定できませんから、一旦 "値" や "%" に変更 してから、先頭に '-' を付けることで反転できます。 (例)左右逆位相のホワイトノイズを出力したい時 Wave1、Wave2 共にホワイトノイズに設定し、出力チャンネルを Wave1 は Lch、Wave2 は Rch に設定し、振幅の設定を2つ同じ値で 片方のみ "負" にする。 ノイズ以外の波形では、Wave1 の位相の設定を 180°とすればみかけ上可能 ですが、この方法を用いた方が正確に逆位相にすることができます。 ◎ ディレイサンプル数、および位相の負数の入力について 上の振幅と同様、設定値として負数を設定するのは特に差し支えありません。 ただし、負数を設定した場合は、それぞれがその値での動作(逆)となります。 ◎ 振幅での値の入力について 単位が "値" の時の入力時には、数値の前に "0x" を付けることで、16進数 で入力することもできます。 また、10進数の場合、他からの換算時にもわかるとおり、整数である必要も ありません。 内部では 計算、ミキシング共に倍精度実数で正確に計算し、最終的に 32,24,16bit や 8bit の整数に変換(丸め)しています。 ※ ディザ 1つのWaveをノイズに設定し、たとえば16bitの場合、振幅を -90dB または "値"で 0.5 付近に設定して他のWaveと混ぜることで、それをディザとして 使うこともできます。 ◎ 出力信号のレベルオーバーについて レベルオーバーの場合、レベル表示はオーバーした値が背景が "赤" でそのまま 表示されますが、その時の実際の出力信号は、現在のフォーマットでの最大値 (16bitの時 -32768, 32767、 8bitの時 -128, 127)でクリップするように なっています。 勿論その時の信号は歪んでおり、意図する場合は別ですが、一般的には レベルオーバーを避けるように各設定を行う必要があります。 ※ レベル表示はがたとえ 0.0dB となっていても、背景が "赤" なら、やはりクリップしています。 (← 0.04dB オーバー等) ◎ 発音中に設定を変更した場合の動作の遅れについて 発音中に各設定を変更できますが、その場合再生バッファの関係で その効果がすぐには音には現れずに、1秒程度遅れて現れます。 ◎ スペアナによるインパルス応答の観測について インパルス応答を FFT によるスペクトラムアナライザで観測することによって、 周波数特性を簡単に測定することが出来ますが、その場合のインパルス列信号 は、次のように設定して作成するのが良いでしょう。 波形設定で "パルス" を選択し、FFT の際に常に1つのパルスのみ切出される ようにするため、周期として観測時に用いる FFT のサンプルデータ長と 同じ値を設定します。 (代表的な値は周期としてプリセットされています) FFT側の設定は、窓関数なし(矩形窓)で観測します。 注: インパルスは音は小さく聞こえますが瞬間の振幅は大きいですから、 スピーカーやアンプを測定する際には破壊されないよう、音量には 充分注意してください。 (インパルスでは、1/サンプル長 だけスペクトルのレベルが下がります) ◎ サイン波以外の波形で、FFTの際の切出し誤差を無くすためには サイン波以外の波形(特に矩形波)で、スペアナによる観測時にデータ切出し による誤差を無くすためには、前述の 周波数設定の拡張機能、すなわち、 FFTの最少周波数分解能の整数倍に周波数を設定しただけではだめです。 そうなるためには、波形の正の部分と負の部分のサンプル数が整数で、かつ 同じにならないといけないのに、そうならない場合がほとんどだからです。 そうするためには、周波数をFFTの最少周波数分解能の 2のN乗倍 に設定します。 すなわち、逆に周期としてのサンプル数を「2のN乗」に設定すればよいことに なります。 (周期のコンボボックスにはプリセットされています) 例えば、サンプリング周波数 44100Hz の場合の周波数(44100/サンプル数)は、 周期サンプル数 周波数 1024: 43.07Hz 256: 172.27Hz 64: 689.06Hz 16: 2756.25Hz などとなります。 ◎ 出力ファイルの名前について Wave出力ファイル、設定パラメータファイルのそれぞれの保存の際のダイアログ ボックスに表示される名前は、どちらか先に保存した時に付けた名前を、 ファイル拡張子のみ変えて他方へ引き継ぐようになっています。 (以下 V1.10 から) ◎ 周波数スイープにおけるスイープ速度について 周波数スイープで、スイープ速度が速くなるほど、スペアナで観測した場合に 速度の影響でみかけ上レベルが低下するように見えます。 特に、速度が速くなるLogスイープでの高域で目立ちますので、その場合には スイープ速度を遅く(スイープ時間を長く)して下さい。 ◎ 周波数変調を利用した繰返し周波数スイープについて 本来の周波数スイープは、単一スイープのみですが、周波数変調機能を用いて、 繰返しスイープを出力することが出来ます。 変調で FM を選択し、Wave1の周波数として、スイープしたい周波数の範囲 の下限と上限の周波数の平均値、変調波 Wave3 の振幅として、その平均値に 対する上限周波数との差の比率を設定し、Wave3の種類にノコギリ波を選択し、 Wave3の周波数として、繰返し周期の逆数を設定すれば、その範囲で 繰返しスイープを行うことが出来ます。 (例 1) 1000Hz 〜 2000Hz まで、2秒周期で繰返しスイープをさせる場合 Wave1 の周波数として、 (1000 + 2000) / 2 = 1500 Hz を設定 Wave3 の振幅として、(2000 - 1500) / 1500 * 100 = 33.333 % を設定 Wave3 の周波数として、1 / 2 = 0.5 Hz を設定 Wave3 の種類を、ノコギリ波に設定 (例 2) 20Hz 〜 20000Hz まで、10秒周期で繰返しスイープをさせる場合 Wave1 の周波数として、 (20 + 20000) / 2 = 10010 Hz を設定 Wave3 の振幅として、(20000 - 10010) / 10010 * 100 = 99.8 % を設定 Wave3 の周波数として、1 / 10 = 0.1 Hz を設定 Wave3 の種類を、ノコギリ波に設定 Wave3 にノコギリ波を選んだ場合は、リニアスイープになります。 ◎ 発音停止時の波形表示のクリア禁止について 普通、波形表示部に表示される波形は、ストップボタンを押して発音を止めた 時には同時にクリアされますが、CTRL キーを押しながらストップすると、 波形をクリアせずに表示を残したままストップすることが出来ます。 複雑な設定をした時など、波形を一時止めて見たい時に便利です。 ◎ 波形表示カラーのカスタマイズについて ダイアログ等によるカスタマイズは出来ませんが、いまでも取り敢えず WG.INI を直接エディタで編集することで、任意の表示カラーにカスタマイズ することが出来ます。 Windowsのカラー表記(16進)で、"BGR"の順です。 ◎ 拙作 スペアナ WaveSpectra と同時使用の場合、WaveGene の出力が途切れたり WaveSpectra の表示がぎくしゃくしたりすることがあります。 音の途切れについては、WaveGene の方をアクティブにするようにすると、 とりあえず途切れなくなるとは思いますが、安定して使用するためには、 WaveSpectra側の設定で、「表示休止時間」を 0 以外に設定してください。 詳しくは、WaveSpectra の説明書(WS.TXT)をお読みください。 --------------------------------------------------------------------------- ※ このプログラムは Borland C++ Builder 3 で作成されています。 ※ Windows95/98/NT4 で動作します。 --------------------------------------------------------------------------- 【免責】 本プログラムを使用した上でのいかなる損害についても、作者は一切の責任を 負いません。 --------------------------------------------------------------------------- ◎ このプログラムは、フリーソフトウェアです。 著作権は efu にあります。 ※転載を希望される場合には、必ず先にメールで連絡してください。 無断での転載はしないでください。 ご感想、障害の報告、その他、こちらまで宜しくお願いいたします。 E-Mail: efu@mba.nifty.ne.jp 最新版は、 http://member.nifty.ne.jp/efu/ 姉妹品、 WaveGeneのお供に! 高速リアルタイム スペクトラムアナライザー ------------> WaveSpectra CD-RでのCD-DA作成時や、サウンドカードのテストに便利! 自動頭出し機能付き Waveファイル専用比較ソフト --------> WaveCompare も宜しく(^_^) (CD-R のメディアの情報もあります) 2000.01.25 efu --------------------------------------------------------------------------- WaveGene 履歴 2000.01.25 V1.20 1.24bit,32bit フォーマットへ対応。 2.再生デバイスの指定機能、および使用可能フォーマットの表示 機能の追加。 3.秒数を小数値で設定できるように変更。 4.FFT用に最適化の場合のサンプル数を65536まで対応。 5.任意のサンプリング周波数の設定時、コンボボックス内を 空白や小さな値にした時、ZeroDivideエラーや一般保護エラー になっていたバグを修正。 99.02.28 V1.10 1.スイープ機能の追加(周波数、振幅、位相) 2.変調機能の追加(AM、DSB、FM、PM) 3.ゲート機能の追加(トーンバースト) 4.ノコギリ波追加。 5.オフセット追加。 6.波形表示追加。 7.パラメータファイルにコメントを付けられるようにした。 8.レベル表示を0.1dBまで表示可能にした。 9.振幅が整数部しか設定できなかったのを修正。 10.その他、細かな修正、変更。 99.02.11 V1.00 ---------------------------------------------------------------------------