音声

『Online Phase Reconstruction via DNN-based Phase Differences Estimation』に基づく位相復元をLJ speech dataset上で行った話

はじめに 本記事は前回記事の続編である. tam5917.hatenablog.com 前回記事では実験がJSUTコーパス上で行われたが(basic5000 & onomatopee300),本記事ではオリジナルの論文と同じくLJ speech dataset上で実験を行ったときの結果を記録として残すものであ…

『Online Phase Reconstruction via DNN-based Phase Differences Estimation』(IEEE/ACM TASLP 2023)に基づく位相復元手法をPythonで実装した

はじめに Masuyama氏らによる位相復元の論文が出版されている. Y. Masuyama, K. Yatabe, K. Nagatomo and Y. Oikawa, "Online Phase Reconstruction via DNN-Based Phase Differences Estimation," in IEEE/ACM Transactions on Audio, Speech, and Languag…

oct2py経由でPHASERETを使って位相復元を行うためのPythonスクリプトを書いた話

はじめに 位相復元を行うための MATLAB/GNU Octaveライブラリ の一つにPHASERETがある. ltfat.org このライブラリをoct2py経由でPythonから使えるようにしたサンプルスクリプトをいくつか整備したので,それらを紹介するのが本記事の主旨である. ちなみに…

重み付きRPUに基づく位相復元手法をPythonで実装した

はじめに 手法 実装 実験 音声の分析条件 実験結果 おわりに はじめに 前回の記事でRPUに基づく位相復元手法を実装した. tam5917.hatenablog.com 今回はRPUの後続手法「重み付きRPUに基づく位相復元手法」が提案されている下記の論文を参考に,Pythonで実装…

『Phase reconstruction based on recurrent phase unwrapping with deep neural networks』に基づく位相復元手法をPyTorchで実装した

はじめに 手法 実装 実験 音声の分析条件 実験結果 おわりに 追記 はじめに Masuyama氏らによる位相復元手法 "Phase reconstruction based on recurrent phase unwrapping with deep neural networks"が2020年に提案されている. https://ieeexplore.ieee.or…

von Mises分布DNNに基づく位相復元手法をPyTorchで実装した

はじめに 実装 実験 特徴抽出およびミニバッチ構築について 音声の分析条件 実験結果 おわりに 追記 はじめに 音声の位相復元という研究トピックが存在している.分野に不慣れな人はまず,矢田部先生の解説記事を読むことをおすすめする. www.jstage.jst.go…

scipyの新しいShortTimeFFTを使って振幅スペクトルと位相スペクトルを描画した

はじめに Pythonで短時間フーリエ変換(STFT)を計算するためのツール(ライブラリ)の一つにscipyがある. scipyでSTFTを計算するための関数がstftであったが,最新版(v1.12.0)ではlegacyに位置づけられている. scipy.signal.stft — SciPy v1.12.0 Manua…

音響(音声・音楽含む)分野のビギナー向けテキストやフリーソフトなどをまとめてみた

はじめに 読み物 広く浅く、やさしく学びたい 「音」関連のプログラミングに触れてみたい 一冊持っておくと重宝するかも ディープラーニング 信号処理 作曲に入門したい人 フリーソフト そのほか おわりに はじめに 音響分野のビギナー(学部生)が自習する…

音声パワーと基本周波数をリアルタイムでモニタリングするスクリプトをPythonで書いた話

はじめに 実装 おわりに おまけ はじめに 「音」の勉強を始めたビギナーにとっては、 そもそも音響関係のPythonモジュールを使ったプログラミングの経験も少ないだろうと思われる。 本記事はそのようなビギナー向けにプログラムの実例をひとつ提供するもので…

pesqパッケージのインストールにコケたときの話(Ubuntu 22.04)

音質を客観評価する際の指標の1つにPESQ(Perceptual Evaluation of Speech Quality)がある. Pythonで実装した方がいた. github.com 当方の環境はUbuntu 22.04.3 LTS (Jammy Jellyfish) であり,Pythonのバージョンは3.10.2である. pip経由のインストー…

TensorFlow HubのSPICEを使ってメロディ推定するPythonスクリプトを書いた

表題の通り。 スクリプトではm4aを読み込むようにしているが、wavやmp3でもいけると思われる。 detect_melody_demo.py · GitHub

日本語x-vectorから感情成分を分離するニューラルネットワークを構築してみた −感情分類に敵対的な損失関数の導入−

はじめに 本記事は前回記事の続編に相当する. 前回記事では声優統計コーパスの3話者・3感情の音声データに対してx-vector抽出器を適用し,UMAPで可視化を試みた. この可視化の実験を通じて,感情成分が分離できていない傾向が見られた.すなわち,本来は話…

日本語x-vector抽出器により声優統計コーパスからx-vectorを抽出してUMAPで可視化した話

はじめに 最近,日本語 x-vector 抽出器がPyPIに登録された旨がツイートされた. M1中田くんが,日本語 x-vector 抽出 (音声に含まれる話者特徴をベクトルで表現してくれるもの) を pip で入るようにしてくれました.ご活用下さい.学習済みモデルがあるので…

異常音検知関連の情報まとめ

異常音検知に関して、まとめてリストしておく。備忘録。 解説論文・スライド スライド 論文 ソフトウェア データセット 書籍 コンペティション 解説論文・スライド スライド 音響信号に対する異常音検知技術と応用 音響信号に対する異常音検知技術と応用 fro…

微分可能な複素正弦波オシレータを用いて日本語5母音を近似させてみた

はじめに 実装 実験 実験条件 実験結果 おわりに はじめに SNSにて、しゃをみん氏が興味深い記事をツイートされていた。 昨日書きました。「コンピューターは遂に「音の高低」を理解した」と言えるほどの大きな進歩です。【注目論文】Sinusoidal Frequency E…

VOSKによるストリーミング音声認識の使い勝手を改善した話

はじめに 改善のヒント ソースコードと動かし方 特徴 おわりに はじめに Pythonで音声認識を実行するためのツールとして、最近はVOSKが少しずつ使われるようになってきた。その大きなメリットのひとつはオフラインで動作するという点である。 インストールも…

Transformerを用いてオノマトペから環境音を合成する手法をPyTorchで実装した(Transformer版 Onoma-to-Wave)

はじめに 事前準備 実装の概要 環境音合成実験 実験条件 実験結果 実装の舞台裏など おわりに はじめに 以前、Onoma-to-Waveを実装した記事を書いたことがあった: tam5917.hatenablog.com Onoma-to-Waveとはオノマトペ(文字列)を環境音(スペクトログラム…

オノマトペ(擬音語)から環境音を合成するニューラルネットワーク(Onoma-to-Wave)をPyTorchで実装した

はじめに 事前準備 ソースコード 実装の概要と動かし方 補助的に作成したモジュールの概要 おまけ:訓練済みモデルのリリース 環境音合成実験 音響イベントによる条件付けなし 音響イベントによる条件付けあり 実装の舞台裏とかTIPS おわりに 参考文献 はじ…

PySimpleGUIとPyAudioとPyWORLDを使ったリアルタイムボイスチェンジャーの実装

こんな感じ。 pysimpleguiとpyaudioとpyworldでボイスチェンジャーができた pic.twitter.com/5V8A6I9ZX4— mat (@ballforest) January 10, 2022 ソースコードは以下。スペクトルのプロット機能はおまけのようなもの。 Real-time voice conversion by using Py…

PyAudioとPySimpleGUIを使ったリアルタイムスペクトル包絡表示

タイトルの通り。PyWORLDを使ってスペクトル包絡を抽出した。 gist.github.com 軸の表示は今後の課題。

PyAudioとPySimpleGUIを使ったリアルタイムFFTスペクトル表示

タイトルの通り。軸の表示やラベルは今後の課題。 gist.github.com

PySimpleGUIとPyAudioを使ったリアルタイム波形プロット

偉大なる先人のプログラムを参考に書いてみたということ。 gist.github.com 参考: Real Time PyAudio wave plot and FFT transform plots from microphone · GitHub

短時間フーリエ変換入門に関する記事へのリンク

早稲田大学の矢田部先生による、短時間フーリエ変換に関する入門記事。 第一回:連続信号と離散信号 第二回:離散フーリエ変換 第三回:短時間フーリエ変換 第四回:信号の再構成と窓関数 第五回:実装における諸注意 第六回:時間周波数領域のスパース表現 …

音声認識結果に基づき複数話者でテキスト音声合成する簡易音声変換アプリをPythonで書いた話

はじめに PySimpleGUIの応用シリーズ。スクリプトの動作の様子は以下の通り。wavファイルを音声認識して、複数話者で音声合成するデモ(最初はデフォルトのテキストで合成) pic.twitter.com/CYX5pw0qiX— mat (@ballforest) September 5, 2021 本記事の趣旨…

Yahoo天気予報をスクレイピングしてしゃべらせるPythonプログラム

表題の通り。 音声認識結果に基づく天気予報の結果を音声合成によりしゃべらせた、ということ。 必要なライブラリ pipでインストール可能である。 pip3 install numpy pip3 install pyopenjtalk pip3 install speech_recognition pip3 install urllib3 pip3 …

Mac OS (Big Sur)に音声認識エンジンJuliusをインストールしたときの記録

音声認識エンジンJuliusのソースコードをgithubからダウンロード https://github.com/julius-speech/julius/releases 解凍後、configureを掛けてmakeする ./configure makeすると以下のエラーに遭遇した: src/adin/adin_mic_darwin_coreaudio.c:99:3: error…

Griffin-Limアルゴリズムの実行時間をlibrosaとtorchaudioで比較してみた話

はじめに 音声の振幅スペクトルから位相を推定し、元の音声を復元するためのGriffin-Limアルゴリズムが知られている。 Griffin-Limアルゴリズムはlibrosaパッケージとtorchaudioパッケージの両方に実装されている。 librosa librosa.org torchaudio pytorch.…

音声認識結果を音声合成するPythonスクリプトをSpeechRecognitionとPyOpenJTalkで書いたみた話

はじめに かつて、音声認識と音声合成を組み合わせて遊んでみるという主旨の記事を書いたことがある。 tam5917.hatenablog.com 音声合成には、コマンドラインから音声合成できるOpenJTalkパッケージを用いたのだった。これをPythonから動かす場合には、専用…

torchaudioとtorchlibrosaの実行速度に違いはあるのか?

はじめに PyTorchには音声系データを処理するのに便利なtorchaudioというライブラリが存在する。 pytorch.org一方、音声系データの処理に便利なlibrosaというパッケージが存在する。 librosa.orgさらにtorchlibrosaという、librosa内部の行列計算まわりをPyT…

第2弾:Waveデータに対するLSB置換法に基づくステガノグラフィ by Python (バグ修正済)

表題の通り。今回も外部パッケージの力を借りてLSB置換法に基づくステガノグラフィを試してみた。 参考にしたのは以下のリポジトリである(Steganography/stego_lsb)。 リトルエンディアン環境で正常に動作するよう、バグを修正したPythonコードを以下に置い…