(長野隆の「Spectrum Analyzer」改め)  「NY Spectrum Analyzer」 説明ファイル Version 1.18a 2000年9月12日(火) ********************************************************************** ■1.著作権表示■■■■■■■■■■■■■■■■■■■■■■■■■■■  このプログラムの著作権は、私こと 長野 隆 が所有しています。  Version 1.14 から 1.15 への変更・改良は大浦拓哉氏の協力で行いました。 Copyright (C) 1998-2000 by Nagano Yutaka Version 1.15 Enhanced by Takuya OOURA  また、作成にあたり、大浦拓哉氏によるFFTライブラリを使用しました。 General Purpose FFT (Fast Fourier Transform) Package Copyright (C) 1996-1999 by Takuya OOURA  このプログラムは、フリーソフトです。正式版の再配布および改変は自由に 行って構いませんが、改変を行った場合は、改変内容を明記し、改変者および 私の著作権表示を必ず添えて下さい。  また、商用目的での再配布も原則自由ですが、その場合は作者である私に連 絡を下さいますようお願いします。  また、FFTライブラリの著作権は大浦氏に帰属しますので、詳細はソースコー ドセットに添付の fft.lzh のドキュメントを参照して下さい。 ■2.このプログラムの機能と目的■■■■■■■■■■■■■■■■■■■  サウンド入力装置から入力された音声データをリアルタイムにスペクトル表 示します。  サウンドを再生する機能はありませんので、別途「メディアプレーヤー」な どを使うか、外部入力させるかして音源を確保して下さい。 ■3.必要システム■■■■■■■■■■■■■■■■■■■■■■■■■■  ・オペレーティング・システム(OS) Microsoft(R) Windows(R) 95 or NT3.51以上 Windows(R) 98 での動作も確認しています。 Windows(R) 2000 で動作するかどうかは未確認です。(v1.17)  ・ハードウェア ・CPU Pentium 以上必須 (Pentium 200MHz以上を推奨) FPU命令を多用しているため、AMD-K6系よりもAMD-AthlonやIntel系 のCPUのほうが快適に動作します。 ・22.05kHz/16bits でサンプリングが可能な録音デバイス サウンド機能付きの最近のPCであれば基本的に大丈夫です。 ・カラーディスプレイ 表示モードは 32,768色(Hi-Color) 以上を推奨。 256色モードでも動作しますが色がきれいに出ない場合があります。 StretchBlt API をハードウェアサポートしているビデオドライバ が必要です。(最近の普通のPCであればOKです)  ・その他、必要な Windows モジュール ・「ボリュームコントロール」または、それと同等のもの タスクトレイにスピーカーのアイコンが表示されているか確認して 下さい。サウンドカードからの入力レベルを調整するために、これ (または同等のもの)が必要です。 ■4.配布ファイル一覧■■■■■■■■■■■■■■■■■■■■■■■■ Version X.XX バージョン番号を示す空っぽのファイル ReadMe.txt この説明ファイル Spectrum.exe 実行プログラム本体(これだけあればOK) SRCXXX.LZH ソースコードセット ※ なお、ソース・コードをコンパイルするには Microsoft Visual C++ 5.0   (Service Pack 3 のパッチを当てたもの)が必要です。   Visual C++ 6.0 については、私は所有していないのでわかりません。 ■5.インストール■■■■■■■■■■■■■■■■■■■■■■■■■■  実行モジュール Spectrum.exe を適当なフォルダにコピーして、直接それを 実行して下さい。インストールの手続きは特に必要ありません。  スタートメニューへの登録したり、デスクトップにショートカットを作成す るなど、各自で好きなようにして下さい。デスクトップやスタートメニューの フォルダに直接本体を置いておいても構いません。 ■6.アン・インストール■■■■■■■■■■■■■■■■■■■■■■■  実行モジュール Spectrum.exe を削除して下さい。ショートカットを作成し ていた場合は、そちらも削除して下さい。  このプログラムは完全に単体で動作し、レジストリには全く手を加えないの で、実行モジュールを削除すれば跡形もなくアン・インストールできます。 ■5.使い方■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  詳しい使い方は省略します。適当にいじってみて下さい。  それぞれのボタンの意味は、左から順に: -----------+--------------------------------------------------------- 形状 機能 -----------+--------------------------------------------------------- 画鋲 押されている状態でウィンドウを常に最前面にします。 その際マルチタスクの優先度も上がり、スムーズに動作するよ うになりますが、他のプログラムの動作は遅くなります。 ■ 一時停止。押されている間はサウンドデバイスも解放されます。 波形 ウィンドウの下部にオシロスコープを表示します。 鍵盤 音階表示にします。 虫めがね 低音域の周波数帯域を拡大表示します。 周波数表示の時のみ使用できます。 大小の枠 ウィンドウの大きさを通常/2倍のいずれかに補正します。 スライダー Windowsの「録音レベルコントロール」を呼び出します。 「i」の字 バージョン情報を表示します。 -----------+---------------------------------------------------------  v1.18 より、ウィンドウサイズを自由に変更できるようになりました。ウィ ンドウの枠をドラッグできます。ただし、「正規化された状態」である通常サ イズおよび2倍サイズ以外の大きさにウィンドウを変形すると表示は歪みます。  「ウィンドウサイズ正規化」ボタンを押すと、交互に標準サイズ/2倍サイ ズに切り替わります。ただし、画面解像度640x480の環境では2倍サイズには ならず、横幅は画面の横幅に切り詰められます。  入力音源を選択したり録音レベルを調整する機能は、このソフトには一切付 いていません。Windows に標準添付されている「音量コントロール」の「録音 の調節」を使って適宜調整して下さい。  調整のコツは、オシロスコープ表示ができるだけ大きく振れ、しかも決して 振り切れることのないように録音レベルを調整することです。 +--------------------------------------------------------------+ |  なお、プログラムの性質上、録音機能を使用する他のソフトウェ | | アとは同時に実行できません。後から起動したソフトウェアでは録 | | 音機能を使用することができません。 | +--------------------------------------------------------------+  WAVE出力とWAVE入力を同時に使用できるかどうかは、サウンドカードに依存 します。最近のサウンドカードであればWAVE出力もリアルタイムに取り込める ものがほとんどですが、サウンドカードによっては、WAVEデバイスが使用中の 場合はこのソフトウェアは動作しないことがあります。  こういった問題は、サウンドカードのドライバを最新版に入れ替えることで 改善される可能性があります。  上記の理由により、ソフトウェアMIDIの出力(WAVE出力を使用している)や MP3オーディオはサンプリング出来ない場合があることをお断りしておきます。 ■6.謝辞■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■  本プログラムの作成にあたって、大浦拓哉氏による、FFT Package から fftsg.c を使用させていただきました。このライブラリなしでは、本プログラ ムは日の目を見ることはありませんでした。優れたコードを公開されている、 大浦氏に感謝いたします。 General Purpose FFT (Fast Fourier Transform) Package Copyright (C) 1996-1999 by Takuya OOURA http://momonga.t.u-tokyo.ac.jp/~ooura/index-j.html ■7.改訂履歴■■■■■■■■■■■■■■■■■■■■■■■■■■■■ ※ バージョン番号のあとのデータは、実行ファイル Spectrum.exe のファイル   サイズと日付を表しています。 v1.18a 73,728 bytes 00-09-12 01:18:10 ・サポートホームページ移転に伴い、Infoダイアログ内のURLを変更。 ・それ以外はv1.18から変更なし。 v1.18 73,728 bytes 00-03-13 01:18:00 ・名称を「NY Spectrum Analyzer」に変更 ・サンプリングを16bitで行うように仕様変更。 ・ウィンドウサイズを可変に。 ・電源ボタンが作動しないバグ(1.17で混入)を修正し、電源ボタンを  一時停止ボタンに意味合いを変更。 v1.17a 73,728 bytes 00-03-05 01:17:10 ・起動時に一瞬画面が乱れるバグを修正 v1.17 73,728 bytes 00-03-05 01:17:00 ・ウィンドウサイズを2倍に拡大できるようになりました。 ・細かいバグを修正しました。(バージョン1.16aでの修正と同じです) ・配布ファイルセットにソースコードを含めました。 v1.16a 73,216 bytes 00-03-05 01:16:10 ・使用するFFTライブラリを fft8g.c から fftsg.c に変更。 ・多賀奈由太様からのご指摘により、Spectrum.c の 162行の if 式  中に誤りがあり、配列サイズを超えてアクセスをしていたのを修正。 v1.16 63,488 bytes 98-09-09 18:58:04 ・音階表示モードの計算精度を低音域・高音域で分けることで、より  高精度に表示されるようになった。 ・精度が上がったので表示音域をピアノと同じ88音階に拡大。 ・周波数表示モードで不必要に計算精度が高かったのを修正して、応  答速度を改善した。 ・問題点として、高音域・低音域で二回に分けて計算をしているので、  CPUパワーの消費量が増えてしまった。(音階モードのみ) v1.15 62,976 bytes 98-09-04 11:09:08 ・大浦拓哉氏による以下の点の改良を加えた: 窓関数を Hanning窓から sin窓に変更し,使用するFFT関数を rdft() (実離散フーリエ変換) から ddst() (離散サイン変換) に 変更。 - 周波数解像度(特に低音)がよくなる 音階テーブルが 0.5 ずれていたのを修正。 - 低音で少し#するのがなくなる FFTの三角関数表を毎回計算していたのを修正(負荷が軽くなる)。 使用するFFTライブラリを fft8g から fft4g にする。 ・以上の変更を加えた結果、特に低音域の表示精度が向上したので、  表示の横幅を広げ、音階モードで80音階表示できるようになった。 v1.14 67,584 bytes 98-08-18 18:10:16 ・「優先タスク」機能を「最前面に表示」ボタンに統合。 ・新しい COMCTL32.DLL の機能を使って“平らなボタン”表示にした。  (ただし初期のWin95などでは従来通りのスタイルで表示される。) ・FFTライブラリを最新バージョンに変更。 v1.13 62,464 bytes 98-08-05 03:55:28 ・マルチタスクの優先度を上げるスイッチを追加。 ・録音コントロールを呼び出せるようにした。 ・設定変更によりFFTに渡すバッファサイズを従来の2倍にしたの  で、低音域の解像度が少し改善され、時間軸の応答性が少し落とさ  れた。従来よりもグラフの動作に「余韻」を感じるかもしれない。 v1.12 64,000 bytes 98-07-15 02:55:24 ・音階表示の単位を(W)から(dBm)に変更。  この修正により、周波数表示モードと音階表示モードの違いは、横  軸のスケーリングのみになった。 v1.11 64,000 bytes 98-07-12 10:06:08 ・計算誤差による低周波ノイズが混入していたのを軽減。 ・中低音帯域の拡大機能を追加。 ・「周波数表示モード」の感度を少し上げ、こちらを表示のデフォル  トに設定。 v1.10 62,976 bytes 98-07-11 08:38:56 ・コンパイラを Borland C++ 5.0 から MS Visual C++ 5.0 に変更。 ・新機能の追加はせずに、細かい点をブラッシュアップして、動作の  軽快さ、正確さを改良。 ・FFTデータをグラフ化する際に、区間内を積分していたのを区間  内の最大値を採用するように変更。 ・バージョン情報表示からサポートWebページに行けるようにした。 v1.03 77,824 bytes 98-02-28 23:52:20 ・v1.02 の細かいバグを修正。  サンプリングバッファからデータを読み取る際に、時間軸に対して  逆順に誤ってデータを読んでいたのを修正。 ・音域を76音階に戻した。 v1.02 77,824 bytes 98-02-24 17:24:54 ・サンプリングデータをFFTにかける前に、“Hanning窓”関数でフィ  ルタリングするようにし、スペクトル表示のノイズを減らした。 ・サンプリングバッファのサイズを大きくして、低音域での解像度を  上げた。 ・音階表示の音域をピアノと同じ88音階に拡大。 ・表示のデフォルトを音階表示に変更。 v1.01 77,824 bytes 98-02-22 15:18:32 ・256色モードにも対応。 ・描画部分を見直し、動作を軽快にした。 ・機能的にはv1.00から変化なし。 v1.00 76,288 bytes 98-02-02 00:35:48 ・正式バージョン初版。 ・内容はv0.40と同等。 v0.40 76,288 bytes 98-02-01 07:56:06 ・スペクトルの履歴(声紋のようなもの)の表示を追加。 ・表示の横幅を76音階に拡大。 ・対数計算のパラメータが0になる可能性があったので修正。 v0.33 75,264 bytes 98-01-30 9:33:24 ・バージョン情報をリソースに追加。 ・プログラムの複数起動を防止。 v0.32 73,216 bytes 98-01-29 6:53:08 ・コンパイルオプションを変えてみた、テストバージョン。 v0.31 73,216 bytes 98-01-29 3:22:58 ・音階・周波数のゲージ表示がずれていたのを修正。 ・その他、表示位置の細かい補正。 v0.1 〜 v0.3 初期ベータ版につき履歴なし。 ■8.作者連絡先■■■■■■■■■■■■■■■■■■■■■■■■■■■ 長野 隆 [Nagano Yutaka] http://park1.wakwak.com/~y-nagano/ サポートホームページ: http://park1.wakwak.com/~y-nagano/Programs/Spectrum/