python

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…

oct2pyを使って独立低ランク行列分析の音源分離デモ(MATLAB)をPython上で動かした話

ブラインド音源分離手法の1つである独立低ランク行列分析(Independent Low-Rank Matrix Analysis; ILRMA)のデモスクリプトが、論文著者により公開されている。 github.com 上記スクリプトはMATLAB/Octave用の言語で書かれているが、oct2pyにより(無理や…

oct2pyを使ってMATLAB版legacy-STRAIGHTをPythonから呼び出す

音声の分析合成ツールの1つであるlegacy-STRAIGHTが公開されている。 github.comこのライブラリはMATLAB/Octaveで利用可能なm-fileとして書かれているため、Pythonからは利用できないと諦めていたのだが、最近、m-fileをPythonから起動できるoct2pyなるパッ…

PyAudioとPySPTKで音声を逐次分析合成し続けるPythonスクリプト

表題のとおり。今回はPyWorldではなくPySPTKである。 フレーム化処理にlibrosaも必要である。 gist.github.com

簡易ボイスチェンジャーのスクリプトを改良:PyQt5のスライダーによりピッチとフォルマントをリアルタイム調整する機能を追加

PyQt5のスライダーを使って、簡易版リアルタイムボイスチェンジャーのピッチとフォルマントを調整できるようにしたということ。スライダーのウィンドウを閉じれば終了する。 当初はTkinterを使う予定だったが、どうにもうまくいかなかったので、PyQt5にした…

簡易ボイスチェンジャーのスクリプトを改良:キー入力によるピッチの上下およびフォルマント調整機能

表題の通り。 前回の記事でキー入力を監視できるようになったので、特定のキーが押されたらピッチの上下('u' と 'd')、などの機能を追加したということ。 gist.github.com

PyWorldによる簡易ボイスチェンジャーのスクリプトを改良:キー入力で終了するようにした

以前の記事で紹介したPyWorldによるスクリプトは、実行を終了するときはCommand + Cなどの強制終了が必要だったが、あまりスマートなやり方ではなかった。 tam5917.hatenablog.comそこで、キー入力を監視して、特定のキー(ESC or 'q')が押下されたらスクリ…

Google音声認識の結果をGoogle翻訳し、Google Text-to-Speechで音声に戻すPythonスクリプト

いい加減タイトルが長くなってきた。 Google翻訳をPythonから使うためのライブラリを使って、音声翻訳をしたということ。 pip3 install SpeechRecognition pip3 install gTTS pip3 install googletransとしてインストール。以下のスクリプト。 #!/usr/bin/en…

Google音声認識した結果をGoogle Text-to-Speechで音声に戻すPythonスクリプト

今回はgTTSライブラリを使って、Google音声認識の結果をGoogle Text-to-Speech で音声に戻してみた。つまり音声認識と音声合成(TTS)の両方でオンラインのサービスを使ってみた、というわけである。 pip3 install SpeechRecognition pip3 install gTTSとし…

リアルタイムに変化する音声の波形を表示し続けるPythonスクリプト

リアルタイムに波形を表示する。「あいうえお」で波形が変わる様子が観察できて面白いと思う。 #!/usr/local/bin/python3 # -*- coding:utf-8 -*- import numpy as np import sys import pyqtgraph as pg from pyqtgraph.Qt import QtCore, QtGui import pya…

リアルタイムに変化する音声のFFTスペクトルを表示するPythonスクリプト

STFTとか何とか。スペクトルがギザギザしてますね。 #!/usr/local/bin/python3 # -*- coding:utf-8 -*- # プロット関係のライブラリ import pyqtgraph as pg from pyqtgraph.Qt import QtCore, QtGui import numpy as np import sys # 音声関係のライブラリ …

リアルタイムに変化する音声のスペクトル包絡を表示するPythonスクリプト

要pyqtgraph、numpy、pyaudio、pysas。 母音(あいうえお)で動作確認すると、スペクトル包絡の形状がリアルタイムに変化する様子が見られるので面白い。 #!/usr/local/bin/python3 # -*- coding:utf-8 -*- # プロット関係のライブラリ import pyqtgraph as …

PyAudioとPyWorldで音声を逐次分析合成しつづけるPythonスクリプト

要PyAudio & PyWorld。Numpyも。 合成するまでには、ある程度の遅延は発生するけども、まぁ許容範囲でしょう。 #!/usr/bin/env python3 # -*- coding:utf-8 -*- # Copyright (c) 2020 Akira TAMAMORI # # Permission is hereby granted, free of charge, to…

Juliusの音声認識結果をソケット通信で受け取って表示・保存するPythonプログラム

前回の記事の関連として。 Juliusのdictation kitをダウンロードしておく。以下のコマンドによりJuliusをmoduleモードで立ち上げる。 julius -n 5 -output 1 -rejectshort 800 -C main.jconf -C am-dnn.jconf -dnnconf julius.dnnconf -module &ポート番号10…

オウム返しなPythonプログラム(オンラインで音声認識→オフラインで音声合成)

音声認識して、その内容を音声合成で返すという、単純なもの。Mac 10.13.6上での動作確認。 Pythonのバージョンは3.7.3。PythonのSpeechRecognitionライブラリを利用。 Google音声認識のサービスを用いるのでオンライン環境。 pip3 install SpeechRecognitio…

基本周波数についてのまとめ

本稿では基本周波数についての予備知識を簡単にまとめることにする。 【2020/11/20】Pythonによる実装例を追加(ページ最下部にリンク有り) そもそも音声分析とは 基本周波数(F0)とは 基本周波数の推定手法 A Robust Algorithm for Pitch Tracking (RAPT)…