NY Spectrum Analyzer 開発室

[HOME]  [Download Beta]  [y-nagano@ai.wakwak.com]
10/12 日 6時44分(JST) #11139

投稿者
メール   名前とメールアドレスの保存
題 名

本文 <FONT><B>などの一部のタグが使えます。URLやメールアドレスは自動的にリンクになります。

※ 表示の際に自動的に右端で折り返すので、改行は段落を変えたい所でのみ入力すればOKです。
!! ハンドルネームをむやみと変更されるのはご遠慮願います !!

     マークの項目は省略できません

新しい記事から表示します。最高120件の記事が記録され、それを超えると古い記事から削除されます。
1ページにつき、30件の記事を表示します。

【1/2 ページ】 ▲前頁 1 2 ▼次頁

停止状態で終了すると不正処理で停止します  投稿者:なるえさん (12/7 水 22時39分)
こんにちわ。停止状態から終了すると不正処理で落ちる事があったので、ご連絡させて頂きます。
ソースを展開して眺めていたのですが、排他制御に問題が残っているようです。以下、簡単ではありますが、一時停止状態で終了した場合に多重開放で落ちてしまうのを回避する暫定的な対処です。

◆ CloseWaveInputDevice() 関数

- if( hGMemRecBuf != NULL ) GlobalFree( hGMemRecBuf )

+ if( hGMemRecBuf != NULL ){
+    GlobalFree( hGMemRecBuf );
+    hGMemRecBuf = NULL;
+ }

ご参考になればと思います。


> toshiさん
すでに解決済みかもしれませんが、恐らく‘録音コントロール’の選択ラインが間違っているか、録音音量が小さすぎるのだと思います。
タスクトレイのスピーカをダブルクリックするなどしてボリュームコントロールを開き、オプションのプロパティから録音を選択して、ライン選択と音量を調節してみてください。

いつも有り難うございます  投稿者:コリンズさん (8/11 水 11時26分)
ver.2.18をダウンロードしました。いつも精力的なアップに感謝いたします。このソフトに出会ったときは感激しました。何てったって、ほんの10年前にはこうしたスペクトラム表示が出来る装置は私の給料では買えなかった物です。今では、私のデスクトップには欠かせない代物です。たぶん、こうした画像表示のソフトは、商用アプリと比較されて、また新しい表示方法への取り組みに余技されて、終わりがない物と思います。でも、音楽ツールとしては欠かせないソフトで有ろうと思います。今後の発展とご活躍に期待します。よろしくお願いします。

動かない?  投稿者:toshiさん (6/4 金 0時31分)
ここに書いていいものかわからないんですが,ver.2.18も1.18,をDLし,exeを起動してもウィンドウはでてきますがスペアナが全く反応してません(--)winampで再生してますが普通に起動して音さえだせば動くんですよね?VBのランタイムはひととおりはいってると思います。原因が分かればお願いします!

周波数上限  投稿者:kenさん (6/8 土 19時31分)
要望なのですが、
周波数の上限は現行だと10kHz付近だと思うのですが、
20kHzか25kHz程度にまで上限を上げるような設定にできないでしょうか?
一般的な音源でも10kHz以上の成分は無視できないと思いますので。。

よろしくお願いいたします。

ピークレベルホールドについて  投稿者:あかねさん (3/13 水 19時8分)
ご検討いただきありがとうございます。
楽しみにお待ち申し上げております。

録音レベル確認  投稿者:ながのさん (1/30 水 15時51分)
 アナログ音源をPCで録音する際に入力レベルを確認するツールとしてNYSAを使う場合、たしかにオシロスコープにピークホールド機能があったほうが便利ですね。
 録音レベルメータと銘打った他の方が作られた優れたフリーソフトもいくつかあるようですが、オシロスコープで波形が見えてなおかつピークレベルが検出できれば、ただ単に録音レベルを棒グラフで表示するよりも気分的に安心度は高いですもんね。(^^ゞ

 これくらいの拡張であれば大幅な変更は不要ですので(やってみないとわかりませんけど)、時間を見つけて挑んでみたいと思います。
 機能拡張のご提言、どうもありがとうございました。>あかね

オシロスコープのレベル保存について  投稿者:あかねさん (1/29 火 5時48分)
こんにちは。オシロスコープは入力レベルや再生レベルの確認に大変重宝しています。
レベルの確認の際は、MAX値に振り切れていないかどうかの確認が重要だと
思うのですが、激しくオシロが振れますので振り切れているかどうかの確認が
容易ではありません。そこで、オシロの波形を再描画する際に波形を消去しないで
重ねて描く機能、または、それまでの最大レベルVmaxをy=Vmaxの横線で描く機能を
追加していただけないでしょうか?このような機能があれば、レベル確認が楽に
なると思います。大変お手数をおかけしますが、ご検討のほどよろしくお願いいたします。

CPU使用率の件  投稿者:あかねさん (1/8 火 14時49分)
ながのさま

ありがとうございます。
早速build218を利用させていただき、CPU使用率が高くならないことを
確認いたしました。
迅速なご対応をお礼申し上げます。

v1.21バグ修正版公開  投稿者:ながのさん (1/8 火 14時36分)
CPU使用率100%になってしまっていたバグを修正した v1.21-build 218 を公開します。
取り急ぎ、コンパイル済みのバイナリのみの公開です。
http://park1.wakwak.com/~y-nagano/Programs/Spectrum/beta/nysa121b218-exe-msvcrtdll.lzh
こんなバグに今まで1年半も気付かなかった私って...。

ご報告に感謝  投稿者:ながのさん (1/7 月 16時31分)
77SO様、あかね様、ご報告ありがとうございます。

Win2K や WinXP でも動作するとの報告をいただいております。
個別メールよりも、当掲示板でのご報告が一番有り難いので感謝です。>77SO様

20kHz位まで表示/中央を1kHzに
検討してみます。サンプリングレートが現在22kHz固定なのですが、音階モード以外の場合は44kHzサンプリングにすることで、帯域を広げてみようと思います。

表示モードの設定・保存
「ショートカット作成」機能を使用すれば設定を保存することはできますが、前回終了時の状態に次回起動時に復帰する機能は、たしかにこれ以上機能を追加するのであれば必須かもしれません。レジストリを使用することを検討してみます。そのために現在、インストーラ/アンインストーラを作成するべく「msiSDK」を入手して勉強中ですが、...完成はいつになるのか断言できかねます。(^^ゞ

CPU使用率100%
これは、私が見逃していたバグでした。ご報告ありがとうございます。>あかね様
原因は、メインメッセージループを実験的に書き換えたコードが混入していたためで、本来「GetMessage()」であるところが「PeekMessage()」APIに置き換わってしまっていて、メインメッセージループが止まることなく常時フル回転していたことによるものでした。
現在、これを修正したバージョンの公開準備を進めていますので、しばらくお待ち下さい。

CPU使用率が100%になります  投稿者:あかねさん (1/1 火 7時51分)
はじめまして
1.20RC3だとCPU使用率は十分小さいのですが、1.21build210だとCPU使用率が
100%になってしまいます。

環境は
MTV1000,MediaCruise
CPU P3-733
Memory 512MB
です。

感想と希望  投稿者:77SOさん (12/26 水 16時26分)
はじめまして。v1.21 build 210 使わせていただきました。
ありがとうございます。
感想と希望を書かせていただきます。

感想、報告
*色の変更機能いいですね。
*WIN2000で動作しています。

希望
*中央を 1kHz に
*20kHz 位まで表示
*表示モードの設定保存

お返事ありがとうございます。  投稿者:kenさん (12/3 月 16時19分)
確かに既存のGDI関数などのプログラミングもこれから覚えていきたいのですが根本の方針が
誰にでも簡単に見てもらえるものという感じなのでやはりマルチプラットホームに一番近いのは
OpenGLかと思っています。現にUNIXでやっていた音と映像のシンクロに関する研究を、Windows用に移植しようとしていたもので前回のような質問になりました。説明遅れましてすいません。しかしながらGDI関数やDirectXに関しておすすめの参考マニュアルなどオンラインでありましたらぜひ教えていただきたいです。関数郡がずらっとのっているだけではまだとっつきにくく、ソースをある程度公開しているページが望ましいのですが

お返事になっていませんが...  投稿者:ながのさん (12/2 日 6時8分)
ながのです。
OpenGLは私は「プラットフォームに依存しないグラフィックライブラリ。特に3D描画に優れる。」という程度の認識なので、何もお答えできません。ごめんなさい。

SGIのOnyxとか、もしくはOpenGLカードの付いたNTワークステーションでも使ってらっしゃるのなら別ですが、Win32で3Dグラフィックのプログラミングをするのであれば、個人的には DirectX8 をお奨めします。DX8で仕様がかなり変わって、プログラミングがだいぶラクになりましたし。DirectX8の「Direct3DX」ライブラリのドキュメントをぜひご一読下さい。(なんか私、Microsoftの回し者みたい。)

再帰関数を使って花をプロットするという目的であれば、通常のWin32のGDI関数でいいのでは? 最近のビデオチップのドライバは、GDI関数もほとんどハードウェアで処理するので、充分高速にアニメーション表示できますよ。
特定の環境(Win32)に依存したコードを書きたくないというのであっても、GDI関数のほとんどは、他の環境(たとえば X ToolKit や GTK++ など)でも似たようなものなので、習得した技術と経験はあんまり無駄にはならないと思います。

回答になってなくてすみません...。

OpenGL をつかいたいのですが  投稿者:kenさん (11/28 水 17時55分)
こんにちは。みなさんのソースが大変参考になります。個人的に波形表示をもっと表現力のあるものに変えて演出しようとしているのですがFFTによって音声データから描画のためのデータを受け取る際に僕はOpenGLにそれを渡してさらには一般的な再帰関数との組み合わせにより、花を描いてみたいのです。dBや周波数や前後の変化率を主な描画要素として色、形などに反映させるアイデアです。どなたかこの記事を見てくださったかた、ぜひお力を貸してください。
なお、OpenGLはリアルタイムに値を渡せて描画が可能なC言語ベースのグラフィックライブラリだと僕は認識しています。よろしくお願いします。

ご報告ありがとうございます  投稿者:ながのさん (9/13 木 23時19分)
岩瀬様、ご報告ありがとうございます。

 私は基本的にはヒマ人なのですが、最近はちょっと他のことで忙しく、NYSAの開発はおざなりになってしまっています。
 Windowsの音声入出力に関しては、MSDNのオンラインのドキュメントがやはり原典であり、サンプルコードも豊富なので、ぜひ一読されることをおすすめします。オンラインドキュメントは誰でも閲覧でき高価なMSDNサブスクリプションに入会する必要もなく、私のような貧乏フリーソフトプログラマにとっては非常にありがたい存在です。

 NYSA1.21で使用している、DirectSound によるリアルタイム音声入力ライブラリのコードを公開します。NYSAで使用することを前提に作ったので、任意の瞬間の音声データを取得することを目的とし、レコーディング等の連続した音声データの取得用途には使用できません。参考までにどうぞ。
 ヘッダ:http://park1.wakwak.com/~y-nagano/Programs/Spectrum/lib/WaveIn.h
 コード:http://park1.wakwak.com/~y-nagano/Programs/Spectrum/lib/WaveIn.cpp

ダウンロードさせていただきました  投稿者:岩瀬 正さん (9/10 月 5時24分)
こんにちは。
はじめまして。
光の計測にかかわっている遊び人の岩瀬と申します。
かねがね「パソコン音声入出力は簡易で高機能の計測用途に使える」と思ってはいたのですが、
信号の入出力の方法がわからず、二の足を踏んでおりました。
ネット検索で長野様のページにたどりつきました。
なんとソースコードを公開されておられるではありませんか!
早速ダウンロードしました。
これから勉強させていただきたいと存じます。
取り急ぎご挨拶と御礼申し上げます。

復活  投稿者:ながのさん (7/20 金 11時57分)
知人から15"モニタを借りて、我が家のPCは復活しました。\(^o^)/
今日からの3連休はテント泊登山に出かけてきます。
梅雨明けしないことも多々有る冷害の地、仙台も、今年はそろそろ梅雨明けの気配です。

v1.21 build 210 の不具合について  投稿者:ながのさん (7/9 月 18時4分)
NYSA 1.21 build 210 にて、実行すると「録音開始できません」とのエラーが出て動作しない場合があるようです。
エラー処理はきちんと行っているのでメモリリークなどの障害はないはずですが、実行できないのは困ったものです。

その原因ですが、まだはっきりと究明できていませんが、DirectX8.0a をインストールすると動作することから、どうも無意識にDirectX8に依存したコードを書いてしまったようです。
ソースさえ公開しておけば皆様に原因を究明していただくこともできたのですが...。
代替CRTモニタが入手できるまでもうしばらくの間私のPCは部屋の置物と化していますのでご容赦ください。

ところで、
Windowsのサウンド録音API ――WinMM APIでもDirectSoundでもどちらでも―― では、録音デバイスは排他的で、同時には一つのプロセスしか開くことができないんですよね。(そんなことはないですか?)
Linux の EsounD ライブラリのように録音も再生も同時に複数プロセスから行うことが、Windows標準APIで出来るといいんですが。(WindowsにEsounDを組み込むという手もありますが、それだとEsounDを使わないアプリではその恩恵にあずかれません。音声を扱うすべてのアプリケーションで標準的に使用されるAPIに同時録音機能が実装される必要があるのです。)
NYSAのような単機能ツールは、同時に他のソフトと使ってこそ威力を発揮するので、なおさらそのことを痛感します。

話がちょっと脱線しました。
今日のところはこのへんで。
これにて私は帰宅するので、またしばらく書き込みできません。ごめんあそばせ。

ビバ・プログラミング!  投稿者:ながのさん (7/9 月 11時39分)
おきざき様、書き込みありがとうございます。

倍音成分と基本音をいかにして分離し人間の聴覚さながらに音階を認識させるか、という命題はなかなか奥が深く、プログラミングの課題としてたいへん面白いものがあります。
私のツールは、FFT(現バージョンのNYSAでは離散コサイン変換を採用しています)の結果をただグラフィカルに表示するだけという、シンプルなソフトウェアに過ぎませんが、おきざき様のプログラミング世界への復帰の一助を担えてたいへん光栄です。(^o^)丿

現在の私の力量ではまだ成し得ていませんが、こういうソフトが作れたら楽しいだろうなぁというアイディアとして:なんてのができたらいいなぁ、と思っています。
面白いツールができましたら、ぜひぜひ公開してください。楽しみにしています。

ところで、
私のPCの8年物のCRTモニタが、先日突然破裂音とともに煙を噴いて壮絶な最期を遂げました。
代替マシンを所有していない私は、現在趣味のパソコンいぢりが不可能な状態なのです。
今日は知り合いのところからネットにアクセスして書き込みしてるのですが、
資金繰りをなんとかしてNewモニタ購入のメドが立つまで、我が家のPCの中に眠るデータにはアクセスができません。

NYSA 1.21 も現在公開しているバイナリ版ではサウンドドライバに依存したコードになってしまっているようで、環境によっては動作しないみたいです。改訂版とそしてソースコードを公開しないといけないのですが...。
うーむ。

マイクが悪かったです  投稿者:おきざきさん (7/7 土 0時55分)
下の低音部の話ですけど、マイクが悪かっただけでした。すみません。
ハウリングを起こすのでマイクの再生を切っていたのでマイク不良に
気が付きませんでした。

それと、音声の音階認識への応用は倍音部のレベルが一定以上ないものを
候補から外したらまあまあの感じになりました。棒グラフでビジュアルに
していただいているので、色々見ながら特性を調べることができて
NY Spectrum Analyzerのおかげです。

フリーのWave to scale というツールで確認した特性を
NY spectrum analyzerでリアルタイムに目で見て確認するようにしています。

一時はWaveletとか色々考えたのですが、このツールで特性を見るうちに
FFTで十分だという気がしてきました。
ただ、まだぜんぜんノイズ対策を考えていないのでFFTでいいかどうか
わわりませんが・・・。(将来PocketPCで音声でメロディーを記録
できるようにツール作りたいと考えているのでノイズ対策必須なので・・・、
その前にWindowsCEではMIDIがないのでイメージ通りの認識ができて
いるかどうか確認するためのMIDI出力が標準では出せないですが、まずはPC版で
うまくいってから考えます。)

本当にこのツールのおかげで10年ぶりくらいにプログラム作る気が
おきました。ありがとうございます。

おもしろいです  投稿者:おきざきさん (7/6 金 17時33分)
Ver1.20(1.21はためしてません)では、低音域の精度があがった分、音声をAnalizeすると
音声の音階部分に現れるピークが周辺音に邪魔されて見えにくくなった気がするのですが

でも、パソコンのMIDIとかで鳴らした音はほぼ100%音階部分の周波数がピークとして
でますね。すばらしいです。

音声から音階を正確に抽出する方法を勉強中ですがNY Spectrum Analyzerはツールとして
ピーク部分の音階名を画面に表示したりして使わせていただいています。ありがとうございます。

人間の声って結構いいかげんで、強く現れる倍音部分の波でフィルターかけたりするとか
色々やってますが、音階認識って結構難しいです。

これからも頑張ってください

v1.21 build 210 公開  投稿者:ながのさん (6/23 土 5時43分)
v1.21 正式版公開に向けてのプレビューです。
今回に限り、申し訳ありませんがソースなしのバイナリのみの配布です。
ソースはもちろん公開する予定ですが、ドキュメントの整備が整うまでもうしばらくお待ち下さい。

ドキュメントなしのバイナリのみのパッケージですので、再配布は御遠慮ねがいます。
ぜひダウンロードしていただき、機能に関して試用レポートを頂けると幸いです。

http://park1.wakwak.com/~y-nagano/Programs/Spectrum/beta/nysa121b210-exe-msvcrtdll.lzh

応援に感謝  投稿者:ながのさん (6/1 金 17時6分)
抽象的な説明しかできませんが、お役に立てたのなら光栄です。
頑張ってください。>鉄さん

NYSA 1.20 もなんとか正式版を公開できるよう頑張ります。
/*
 今さらなんですが、ソースコードの汚さが気になって恥ずかしくなってきました。
 ソース公開の原則は貫きたいですが、それが足かせになっているような...。
*/


ありがとうございます  投稿者:さん (5/27 日 21時48分)
丁寧なアドバイス本当にありがとうございます。
早速、ながのさんのアドバイスをもとに頑張ってみます。

NYSA 1.20 の公開楽しみにしています!
頑張ってくださいね!

ステレオ録音  投稿者:ながのさん (5/25 金 6時6分)
>鉄さん
 Win32でC/C++言語でのプログラミングの話であると仮定します。
 詳しい説明はとてもこの場では書けないほど長文になってしまうので、MicrosoftのMSDN Onlineのドキュメントへのリンクを貼っておきました。そちらをごらんください。もしお手許にMS Developer Studioがおありでしたら、SDKドキュメントのMultimediaあたりをぜひ一読されることをお奨めします。

ステレオ2chの録音の方法は、モノラル録音の場合とほとんど変わりません。サウンドデバイスをOpenする段階で、
このようにしてデバイスをOpenして録音を開始すれば、あとはステレオ2chのデータがバッファに入って来ます。

 バッファの構造は、モノラルの場合はサンプル順にデータが並んでいるだけですが、ステレオの場合はサンプル毎に左チャネル・右チャネルのペアがサンプル順にデータが並んでいます。ですから、交互にデータを取り出せば、左右チャネルのデータを別々に取り出すことができます。
 こんな説明でいかがでしょうか? なんか説教くさいこと書いてすみません。

 NYSA 1.20 ですが、我ながら完全なペーパーウェアと化しています。予告だけでいつまでたっても公開されない次期バージョン(+_+)。私の意欲次第なんですが...。

はじめまして  投稿者:さん (5/23 水 3時26分)
はじめまして 鉄といいます。
音声の勉強に NY Spectrum Analyzer 1.18 を使わさせてもらってます。
まだ、音声の勉強をはじめて日が浅いので分からないことばかりです・・・。
1つ質問があるのですが、ステレオマイクから入力されたウェーブデータを左右 別々に取り込みたいのですがプログラムをどう書いたらいいかわかりません。
何かいいアドバイスを頂けないでしょうか?
こんな風に書いたらいいっていうプログラム例を教えて頂けたらうれしいです。
とても初歩的な質問ですけど、よろしくお願いします。

もうしばらくお待ちを  投稿者:ながのさん (12/2 土 21時9分)
新バージョンの進捗状況ですが、
これらの改良を施した新ライブラリを使用したバージョンを、2本立てで開発しています。
  1. 【v1.21系列】
    従来と同じUI。見た目も機能も全く同じ。計算・描画部分のみ新エンジン。
    →近日公開予定
  2. 【v2.0系列】
    新エンジンの機能を完全に生かすべくUIを刷新し、増えた設定項目をiniファイルに保存できるようにする予定。
    →しばらく先になりそう
...という予定ですが、
電話料金滞納により我が家の電話が止められてしまうので、しばらく私はネットにアクセスできません。新バージョン公開も電話が復旧してからになります。ご了承ください。

予告  投稿者:ながのさん (11/16 木 10時0分)
ソースコードを大幅に見なおして再構成した、新バージョンを近日公開できそうです。
画面デザインなどはほとんど変わりませんが、

問題は、それらの追加機能をどのような User Interface で実装するか、ってところなんですが、「操作はボタンのみ」というUI設計方針を貫くとこのままではボタンだらけになってしまい、かえって操作しにくくなりそうで、只今悩んでいるところです。

ヒマを見つけては少しずつ作っているので、いつ公開できるかは未定ですが、とりあえず予告ってことで...。

1.20RC3  投稿者:ながのさん (9/12 火 1時24分)
当サイト移転に伴い、Infoダイアログ内のURLを修正した、v1.20RC3を公開しました。
URL変更以外は、RC2と全く同一です。

また、RC3には、HTML Help形式の取扱説明書(β版)を添付しました。
このページ上部の[Download Beta]より
nysa120RC3-exe-msvcrtdll.lzh
をダウンロードしてお持ち帰りください。

開発室版は当サイトでの直接配布のみで、再配布を禁止しています。また、開発室版ソースコードセットにはFFTライブラリが含まれていませんので、公式版のソースコードセットからfftsg.cをコピーしないとコンパイルできません。

【1/2 ページ】 ▲前頁 1 2 ▼次頁


パスワード  
このページの管理人:長野 隆 [Nagano Yutaka]
NY掲示板 Ver.beta-0.9.15-nysa-2
Scripted by Nagano Yutaka