社会人研究者が色々頑張るブログ

pythonで画像処理やパターン認識をやっていきます

pythonで擬似的な立体音響

はじめに

pythonを用いてモノラル音源から、擬似的な立体音響音声を生成してみます。

立体音響とは

人間は、目をつむっていても周囲の音が何処からなっているのか判断する事が出来ます。
これは、音が空気を伝搬する際にかかる時間や音の減衰などを、両耳の差で捉える事で実現しています。

例えば、以下の図は右に音源がある場合の例です。
f:id:nsr_9:20210929155339p:plain

続きを読む

pythonで音声信号のリアルタイムプロット

やりたいこと

pydubで読み込んだ音声信号に対し、Sliding Windowをしながら波形をプロットしたい。

音声信号処理を行う場合は、読み込んだ信号全体に対して一気に処理を施すのではなく、短い時間の区間ごとに処理を施すそうです。
f:id:nsr_9:20210924210737p:plain

Computer Visionで言うならば、信号全体に対する処理が大局的画像処理にあたり、短い区間に区切った処理が局所的画像処理やSliding Windowになるのでしょうか?
f:id:nsr_9:20210924211348p:plain

音声波形は時間毎に性質が異なっていくはずなので、局所的な処理を施すのは納得が行きますね。

続きを読む

pythonで音声信号処理のことはじめ

はじめに

今までは画像処理や画像認識ばっかりやってきたのですが、ふと音声も画像と同じパターン認識技術の一つだなぁと思い、ここは一つ音声も触れるようになりたいなと思いました。
一昔前は音声信号処理を頑張るにはC言語の開発環境とライブラリ群をインストールするのが大変だと聞いていたのですが、昨今ではpython pip一発で環境整備ができるようになったと聞きます。
本当にpython様様ですね。
今回からpythonで音声信号処理をやってみたいと思います。

続きを読む

CHWとHWCの相互変換

やりたいこと

opencvの画像は縦(Height)×横(Width)×チャンネル(Channel)のいわゆるHWC形式になっています。
それとは異なり、pytorchの画像ではチャンネル(Channel)×縦(Height)×横(Width)のCHW形式になっています。

numpy arrayとtorch tensorにおいて、HWCとCHWの相互変換方法を示します。

続きを読む