音声

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

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

音声パワーと基本周波数をリアルタイムでモニタリングするスクリプトを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コードを以下に置い…

ヒルベルト変換のデモスクリプトをPythonで書いた話

表題の通りのまさに備忘録。音声波形をヒルベルト変換して包絡および瞬時位相を計算し、そこから元の音声波形を再構成するスクリプトをPythonで書いた話。SPTKに付属のdata.shortをwavに変換して用いた。発話内容は「青い植木鉢」である。処理の核となるのは…

Waveデータに対してLSB置換法に基づくステガノグラフィをPythonでやってみた

はじめに ステガノグラフィとは、秘密のメッセージを「ばれないように、こっそりと」隠す技術である。画像メディアに対するステガノグラフィのPythonパッケージは見つかるのだが、音メディア系はちょっと見当たらなかったので、試しにPythonで書いてみたとい…

Pyroomacousticsを使ってfastMNMF法に基づく音源分離を試してみた

概要 ブラインド音源分離手法の1つであるfastMNMF法が件のPythonパッケージに実装されているので、手元の音源で音源分離を試してみたということ。 スクリプト gist.github.com 結果 オリジナルの音源信号(ドラム) soundcloud.com オリジナルの音源信号(…

Pythonの音声区間検出ライブラリ inaSpeechSegmenterを試してみた話

Pythonでいい感じの音声区間検出してくれるライブラリはないかなと探していたら、inaSpeechSegmenterというものが見つかったので使ってみた。 github.comデフォルトでは音声の区間、音楽の区間、ノイズの区間、無音の区間を検出し、その区間ラベルと時間情報…

spleeterを使って音源分離を試しただけ

はじめに 界隈で有名な、音源分離のためのPythonパッケージであるspleeterを使ってみたという話。 github.com 手順 事前にffmpegとlibsndfileはインストールしておく必要はあるとのこと。 https://github.com/deezer/spleeter/wiki/1.-Installation#using-pi…

Pyroomacousticsを使って部分空間法に基づく雑音抑圧を試してみた

概要 Pyroomacousticsというパッケージを使って部分空間法に基づく雑音抑圧をやってみた。 Pythonスクリプト gist.github.com 結果 元の音声 soundcloud.com 雑音入りの音声 soundcloud.com 雑音抑圧後の音声 soundcloud.com雑音を大きく削れば、それだけ元…

Pyroomacousticsを使って雑音抑圧(スペクトルサブトラクション法)のバッチ処理を試してみた

概要 Pyroomacousticsというパッケージに同梱のJupyter notebook(下記リンク)を参考に、スペクトルサブトラクション法に基づく雑音抑圧をバッチ処理的にやってみただけである。ノートブックのほぼコピペなので新しいところはない。 nbviewer.jupyter.orgPy…