python

日本語5母音の「声道断面積関数」をPythonで可視化してみた

はじめに とあることがきっかけで,日本語5母音の声道断面積関数をプロットしてみたくなったので,やってみたということ. 荒井先生の論文には5母音の声道断面の直径パラメタが載っているので(Table 1),これを参考にする. www.jstage.jst.go.jp 直径パラ…

Mac で GTAGS for Python & Emacs

自分用メモ brew install global cp /opt/homebrew/share/gtags/gtags.conf ~/.globalrc .globalrcに対して、 common:\ :skip= ... の最後に mypy_cache/,ruff_cache/,*.pyc,venv/: など、タグづけにあたりスキップしたいディレクトリや拡張子を追記 python…

ESPRIT 法による複数正弦波のパラメタ推定と Python 実装

はじめに 前回記事から引き続き、本記事も「正弦波のパラメタ推定シリーズ」である。 今回は、高分解能な周波数推定手法のひとつであるESPRIT (Estimation of Signal Parameters via Rotational Invariance Techniques) アルゴリズムについて解説し、Python …

Intel MKL の Numpy / Scipy で高速化したいとき(pip install)

以下のリポジトリより, github.com このコマンドでインストールする. pip install numpy scipy --extra-index-url https://urob.github.io/numpy-mkl 体感で倍速になった気がする(固有値分解,特異値分解).

MUSIC 法による複数正弦波のパラメタ推定と Python 実装

はじめに 本記事は最近のマイブームとなっている「正弦波のパラメタ推定シリーズ」のうちの一つである。 今回は、高分解能な周波数推定手法の一つである MUSIC (MUltiple SIgnal Classification) 法 [1-5] について、2つのバリエーションである spectral-MUS…

basedpyrightの設定

pyproject.tomlには、最低限こんな感じで書いている。 [tool.basedpyright] typeCheckingMode = "recommended" extraPaths = ["/path/to/site-packages/"] reportAny = "none" reportUnusedCallResult = "none" pythonVersion = "3.13" # for override decor…

SCDEに基づく複数減衰正弦波のパラメタ推定とPython実装

はじめに 前回までの記事で、正弦波制約微分方程式(SCDE)に基づくパラメータ推定法について、その拡張を含めて紹介してきた。これまでのモデルは単一の音源を前提としていたが、多くの実用的な場面では、複数の音源が混在した信号を扱う必要がある。ピアノ…

SCDEに基づく単一減衰正弦波のパラメタ推定とPython実装

はじめに これまでの記事では、正弦波制約微分方程式(SCDE)に基づく周波数推定法と、その拡張を紹介した。特に前回記事では、重み付き最小二乗法(WLS)を導入することで、ノイズ耐性が向上することを確認した。 正弦波制約微分方程式(SCDE)に基づくピッ…

正弦波制約微分方程式(SCDE)に基づくピッチ推定法における重み付き最小二乗法(WLS)の導入

はじめに 過去に正弦波制約微分方程式(SCDE)に基づくピッチ推定法の再現実装に関する記事を書いた。 正弦波制約微分方程式(Sinusoidal Constraint Differential Equation; SCDE)によるピッチ推定法をPythonで実装した - 備忘録 本記事はSCDE法を少しだけ…

有限次数調波拘束微分方程式(FOHCDE)に基づく多重ピッチ推定法のPython実装と再現実験

はじめに 本記事は前々回記事、前回記事の続きである。 従来のピッチ推定手法、特にDFTをベースとする手法では、時間分解能と周波数分解能のトレードオフが本質的な課題であった。短時間の信号から近接した複数の周波数を分離・推定することは依然として困難…

Frequency Estimation Method Using Sinusoidal Constraint Differential Equation (SCDE) and Python Implementation

Introduction Conventional frequency estimation methods like FFT (Fast Fourier Transform) and autocorrelation functions are widely used. However, these methods share a common challenge: it is difficult to accurately estimate the frequency w…

有限次数調波拘束微分方程式(Finite-Order Harmonic Constraint Differential Equation; FOHCDE)に基づく基本周波数推定とPython実装

はじめに 本記事は前回記事の続編である。前回は微分方程式の性質を利用して音の周波数を推定する手法「SCDE(Sinusoidal Constraint Differential Equation)」を紹介した。SCDEは、FFTベースの手法では困難であったわずか数ミリ秒という極めて短い信号から…

正弦波制約微分方程式(Sinusoidal Constraint Differential Equation; SCDE)によるピッチ推定法をPythonで実装した

はじめに 従来のピッチ推定手法として、FFT(高速フーリエ変換)や自己相関関数などが広く使われている。しかし、これらの手法には共通の課題があった。それは、「短い時間(例えば数十ミリ秒)の信号から、複数の音が同時に鳴っている場合のピッチを正確に…

ホップフィールドネットワークの記憶容量を改善する試み:リッジ回帰に基づく学習アルゴリズム

はじめに 先日公開した記事では、記憶容量改善の一つのアプローチとして、ロジスティック回帰の枠組みを導入した。そこでは、記憶パタンを {0, 1} の目標値に対応させ、各ニューロンが他のニューロンの状態から自身の状態(0 or 1)を予測する確率をモデル化…

ホップフィールドネットワークの記憶容量を改善する一つの試み:ロジスティック回帰に基づく学習アルゴリズムの実装

はじめに 総ニューロン数に対して約14%を超える記憶パタンを学習させると、Hopfieldモデルはパタンを正確に記憶できなくなり、想起性能が低下する現象が知られている。このニューロン数に対する記憶パタン数の上限は「記憶容量」(あるいは単に容量)と呼ば…

ホップフィールドネットワークの想起過程のPython実装

はじめに 前回の記事ではC言語でHopfieldモデルの想起過程を実装していた。 tam5917.hatenablog.com 当然、Pythonでも実装可能なので、その実装を紹介するのが本記事の主旨である。 実装 以下に置いた。Enjoy! hopnet_dynamics.py 実装している機能そのもの…

ランダムビットパターン系列を連想記憶するホップフィールドネットワークをPythonで書いてみた

はじめに Pythonでホップフィールドネットワークを書いた記事はいくつか見つかる [1-3]。参考記事 [1] で紹介されている実装では、2次元のビットパターン画像を記憶・想起する仕様になっている。しかし、ホップフィールドネットワークの本質的な動作原理を理…

Psuedo-LikelihoodをRBMの損失関数として使ったら学習はうまくいくのか

はじめに Psuedo-Likelihood (PL) はRBMの学習の進行を測定するための指標として使われている。scikit-learnの BernoulliRBM クラスには PLを計算するための score_samples メソッドが実装されている。 scikit-learn.org さてscikit-learnで計算可能ならば、…

RBMの学習アルゴリズムと損失関数について

はじめに 前回の記事でRBMを実装した。 tam5917.hatenablog.com この実装では、RBMの損失関数は Contrastive Divergence (CD) アルゴリズムを考慮すると,損失関数はvisible層v0から計算される自由エネルギー(F0)と、再構成されたvisible層vkから計算され…

Restricted Boltzmann Machine (RBM) をPyTorchで実装してみた

はじめに 先日、RBMの記事を見かけた。 zenn.dev RBM自体は昔からある有名なモデルであり実装の経験もあったのだが、PyTorchでキレイに書いたことはなかったので、書いてみたということ。 実装 以下に置いた。Enjoy! train_rbm.py · GitHub train_rbm2.py · …

『今更ながらVAEって(以下略)』におけるアフィン変換に対応した潜在変数の操作により画像生成を制御できた話

はじめに 以前の記事にて、PyTorch実装の公開および定式化を示していたのだった. 『今更ながらVAEってこんなに凄かったの?ってなった話』をPyTorchで実装して結果の再現に成功した話 - 備忘録 『今更ながらVAEって(以下略)』の定式化を清書する - 備忘録…

『Griffin–Lim Like Phase Recovery via Alternating Direction Method of Multipliers』に基づく位相復元手法をPythonで再実装した話

はじめに 2019年に(モノラル)音声の位相復元に関する以下の論文が出版されている. Yoshiki Masuyama, Kohei Yatabe and Yasuhiro Oikawa, "Griffin–Lim Like Phase Recovery via Alternating Direction Method of Multipliers," in IEEE Signal Processin…

iPALM-based mel-spectrogram inversionを活用してMFCCからの音声復元を試してみた

はじめに 前回記事の続きである. tam5917.hatenablog.com ところでlibrosa には mfcc_to_audio という関数が用意されている. librosa.org この関数はMFCC(音声認識では定番の特徴量)を音声に復元する機能を実装している.処理の具体的な中身は mfcc_to_m…

iPALM-based mel-spectrogram inversion (ICASSP 2023) をPythonで実装しメルスペクトログラムからの音声復元を試してみた

はじめに 前回記事の続きである。 tam5917.hatenablog.com その記事では以下の論文で提案されたアルゴリズムを実装していた。 Yoshiki Masuyama, Natsuki Ueno, and Nobutaka Ono, "Mel-Spectrogram Inversion via Alternating Direction Method of Multipli…

『Mel-Spectrogram Inversion via Alternating Direction Method of Multipliers』に基づくメルスペクトログラムからの音声復元手法をPythonで実装してみた

はじめに 最近,以下の論文がarXivで見つかった: Yoshiki Masuyama, Natsuki Ueno, and Nobutaka Ono, "Mel-Spectrogram Inversion via Alternating Direction Method of Multipliers, " arXiv:2501.05557, 2025 arxiv.org メルスペクトログラムから元の音…

電話の「プルルル」音を作って鳴らすPythonコード

はじめに 以下のポストが目に入った。 プルルルの作り方(1+0.85sin(2π×18t))sin(2π×400t)を3秒おきに1秒間鳴らすと良いらしい全然電話に出ない相手を呼び出し中に暇つぶしで調べてたら完全に理解した(参考:事業用電気通信設備規則第三十三条別表第五号可…

『今更ながらVAEってこんなに凄かったの?ってなった話』をPyTorchで実装して結果の再現に成功した話

はじめに 下記の記事にて,VAEの興味深い応用が実装例と共に紹介されている. zenn.dev 要するにVAEの潜在変数からアフィン変換のパラメタを分離できる話である.(各画像で個別の)アフィン変換を施した状態でモデルが訓練されるので,訓練後にその変換を外…

ロバスト主成分分析をcvxpyで実装してみた話

はじめに 最近ロバスト主成分分析(Robust Principal Component Analysis; RPCA)に興味があり、色々と情報を探していた。 記事もいくつか見つかる。例えば以下の記事など。 qiita.com 上の記事ではロバストPCAを丁寧な説明と共に実装しており、とても勉強に…

音声の振幅スペクトル系列から位相スペクトル系列を深層学習で直接推定するときarctan(atan2)を経由するのも悪くないねという話

はじめに 実装 評価実験 実験条件 実験結果 考察 おわりに はじめに 音声の位相スペクトル系列を振幅スペクトル系列から復元する手法はいくつも提案されており,再現実装を試みた記事をこれまで書いてきた. von Mises分布DNNに基づく位相復元手法をPyTorch…

位相スペクトルの有理関数近似に基づく位相復元手法(のプロトタイプ)をPythonで実装した

はじめに お待ちかね(?)の位相復元シリーズである. 手法の説明 記法を簡単にするため,ある特定の音声フレームに固定して考える.このフレームに関して, 位相スペクトル \( \phi(\omega) \) が有理関数で近似できると仮定する. ここで \( \omega \) は…