ははは~
趣味プログラムで作っていた奴、
とあるAPI から音声を取り出して、その音声にDTMF が含まれてるか確認する奴。
「とあるAPI」が何なのか判明出来る画像デスが^^;
とりあえずデバッグで、マイク入力からDTMF が解析出来ました。
※この画像では「5」を判別しました
実は、とあるAPI はP2P の接続時のみAPI 標準のメソッドでDTMF が読めるのですが、
「なにがしIn」 のサービスを使っての接続時には標準のメソッドではDTMF が読めません。
その為、音声を解析してDTMF を判別しなければなりません。
コレは、まさにそのプログラム。
waveIn を利用し、オーディオデバイスから音声データを取得。
そのデータをFFT で周波数分析し、特定の周波数成分でDTMF を判断する。
さて!!
勘の良い方はもう既に何のためにコレを作っているかお分かり頂けると思うのですが^^;
このプログラムは、既にP2P 接続では下記の様な動作を行っております。
1.クライアント1が、マスタークライアント(等ソフトと「なにがし」が起動しているマシン)に接続する。
2.等ソフトがなにがしAPI 経由でクライアント1の接続に応答
3.クライアント1がDTMF で電話番号の様なモノを打ち込む
4.マスタークライアントが、クライアント1から入力されたDTMF の番号に何かを転送接続する
5.クライアント1と転送接続が確立される
6.クライアント1は転送接続先と何かが出来る(コミュニケーション的な・・・)
ココまで出来ているので、後は、P2P 接続で無い場合、自作DTMF 解析を使って同じ事をすれば・・・
上記「クライアント1」の部分が、なにがしIn の接続に変わって・・・
と、言う事が可能になる訳です。
このソフト名が「SCSKPBX」って言うんで、まさにソレですが(笑)
コレ、厳密に言うと違法らしいですね^^;
個人で楽しむ分には許してもらえないかしら~
ま、今回一番の努力ポイントは、waveIn の部分かな・・・
なんせVB.NET の資料が少なくて^^;
しかし、コレのおかげで、以前から作りたかった
SCPTH(ただ、マイクの音を拾ってスピーカーに垂れ流す)が作成可能になった。
コレは、イヤホンで音楽聞いてる時に、周りの音が聞こえなくなるから、
ソコにPC のマイクから音を拾ってタレ流しておけば良いかなぁ~と言う発想^^;
週末につまらんソフトを作ってたらこんな時間に・・・
さみしい生活だなぁ^^;
さて、もうひと頑張りしちゃおうかな!!