はじめに ステガノグラフィとは、秘密のメッセージを「ばれないように、こっそりと」隠す技術である。画像メディアに対するステガノグラフィのPythonパッケージは見つかるのだが、音メディア系はちょっと見当たらなかったので、試しにPythonで書いてみたとい…
概要 ブラインド音源分離手法の1つであるfastMNMF法が件のPythonパッケージに実装されているので、手元の音源で音源分離を試してみたということ。 スクリプト gist.github.com 結果 オリジナルの音源信号(ドラム) soundcloud.com オリジナルの音源信号(…
ヘルダーの不等式の証明はいつも忘れるので、備忘録として証明の「スケッチ」は残しておこうという主旨である(はてなブログにおける数式の練習も兼ねて)。 1. ヘルダーの不等式とは $1 \leq p \leq \infty$,$q$は$p$の調和共役とする.すなわち, $$ \fra…
Pythonでいい感じの音声区間検出してくれるライブラリはないかなと探していたら、inaSpeechSegmenterというものが見つかったので使ってみた。 github.comデフォルトでは音声の区間、音楽の区間、ノイズの区間、無音の区間を検出し、その区間ラベルと時間情報…
はじめに 界隈で有名な、音源分離のためのPythonパッケージであるspleeterを使ってみたという話。 github.com 手順 事前にffmpegとlibsndfileはインストールしておく必要はあるとのこと。 https://github.com/deezer/spleeter/wiki/1.-Installation#using-pi…
概要 Pyroomacousticsというパッケージを使って部分空間法に基づく雑音抑圧をやってみた。 Pythonスクリプト gist.github.com 結果 元の音声 soundcloud.com 雑音入りの音声 soundcloud.com 雑音抑圧後の音声 soundcloud.com雑音を大きく削れば、それだけ元…
概要 Pyroomacousticsというパッケージに同梱のJupyter notebook(下記リンク)を参考に、スペクトルサブトラクション法に基づく雑音抑圧をバッチ処理的にやってみただけである。ノートブックのほぼコピペなので新しいところはない。 nbviewer.jupyter.orgPy…
ブラインド音源分離手法の1つである独立低ランク行列分析(Independent Low-Rank Matrix Analysis; ILRMA)のデモスクリプトが、論文著者により公開されている。 github.com 上記スクリプトはMATLAB/Octave用の言語で書かれているが、oct2pyにより(無理や…
音声の分析合成ツールの1つであるlegacy-STRAIGHTが公開されている。 github.comこのライブラリはMATLAB/Octaveで利用可能なm-fileとして書かれているため、Pythonからは利用できないと諦めていたのだが、最近、m-fileをPythonから起動できるoct2pyなるパッ…
counsel-switch-bufferは候補選択時に、バッファ内容のプレビューがデフォルトで有効になっている。 ivy-switch-bufferではプレビューはデフォルトで無効になっている。C-M-nやC-M-pで選択時にはプレビューが有効になる。 ;; 候補選択時、バッファプレビュー…
ivy-posframeとは実行コマンドごとにivyのメニューの表示位置を調整できるパッケージだ。 github.com私の設定は以下: ;; コマンドごとに位置を制御できる ;; nilはivy-posframeの適用なし (setq ivy-posframe-display-functions-alist '((swiper . nil) (sw…
ここではall-the-icons, all-the-icons-ivy, all-the-icons-diredをインストールすることを想定する。 各パッケージをインストール後、公式ドキュメントに従い、以下を実行する。 M-x all-the-icons-install-fontsそして設定: (require 'all-the-icons-ivy)…
ivy-richのivy-rich--switch-buffer-root-and-filename の動作がどうも怪しく、ivy-rich-switch-buffer-pathで空の文字列が出力されるためにバッファのパスが表示されない。 なので、関数を再定義したというわけ。 (defun ivy-rich--switch-buffer-root-and-…
ノイズシェーピング量子化の勉強に使えそう。信号品質を保つディジタル化技術: ノイズシェーピング量子化・I 量子化とノイズシェーピングの基礎 link ・II ∆Σ変調器 link ・III 制御のための動的量子化器(1) link ・IV 制御のための動的量子化器(2) link ・…
Life Beyond Bases: The Advent of Frames Life Beyond Bases: The Advent of Frames (Part I) Life Beyond Bases: The Advent of Frames (Part II)
selected.elの設定記事を見かけて、たしかに便利だということで、設定を書いてみたという話。 qiita.comリージョン選択時のテキストを対象にして各種のコマンドを発動できるので、とても便利というわけだ。以下ではmultiple-cursorsの設定やieditの設定、swi…
表題のとおり。今回はPyWorldではなくPySPTKである。 フレーム化処理にlibrosaも必要である。 gist.github.com
オリジナルのsummarye.elはバイトコンパイル時に警告が大量にでるので修正した。 Warnings of summarye.el when byte-compiling has been removed (Emacs 26.2) · GitHub
バッファのサマリを別ウィンドウに表示するパッケージsummaryeの設定。texの執筆時はセクション名を頭出ししてくれるので重宝する。texに限らず、プログラミング言語など汎用的に使えるので便利である。 (defun se/quit-summary-item () (interactive) (view…
最近のEmacsではデフォルトでONになっている。 electric-indent-modeをON : C-jが改行、returnがインデントつき改行 electric-indent-modeをOFF : C-jがインデントつき改行、returnが改行
iflipbという、バッファ切り替えのためのパッケージが存在する: emacs.rubikitch.com私は以下の設定としている。 カレントバッファと同じメジャーモードのバッファのみを切り替え対象にしたいため、新たに関数を書いた。 (require 'iflipb) (setq iflipb-wr…
(defvar major-mode-same-buflist nil) (defun get-major-mode-list () (interactive) (setq major-mode-same-buflist nil) (let ((currbuf-major-mode (buffer-local-value 'major-mode (current-buffer)))) (dolist (buffer (buffer-list)) (if (eq (buffe…
(defvar major-mode-same-buflist nil) (defun get-major-mode-list () (interactive) (setq major-mode-same-buflist nil) (let ((currbuf-major-mode (buffer-local-value 'major-mode (current-buffer)))) (dolist (buffer (buffer-list)) (if (eq (buffe…
You can obtain the major mode by using following snippet: (buffer-local-value 'major-mode (current-buffer))
Emacsのデフォルトパッケージbsに同梱されているコマンド、bs-cycle-nextとbs-cycle-prevを使う。 (global-set-key (kbd "C-<tab>") 'bs-cycle-next) (global-set-key (kbd "C-S-<tab>") 'bs-cycle-previous) 同様の機能はiflipbというパッケージによっても提供されて</tab></tab>…
関数の本体はどこかにあった設定を参考にさせていただいた。 my-dictが表題に沿った関数。my-dict2は自分で検索語句を入力する関数。 (defun my-dict () (interactive) (let ((url (concat "dict://" (read-from-minibuffer "Search: " (current-word)))) (b…
表題について、以下のElispを見つけたので紹介する。frame-movementというパッケージである。 github.com本パッケージにより、'frame-movement/select-next-frame' (次のフレームに移動)と 'frame-movement/select-prev-frame'(前のフレームに移動)とい…
PyQt5のスライダーを使って、簡易版リアルタイムボイスチェンジャーのピッチとフォルマントを調整できるようにしたということ。スライダーのウィンドウを閉じれば終了する。 当初はTkinterを使う予定だったが、どうにもうまくいかなかったので、PyQt5にした…
表題の通り。 前回の記事でキー入力を監視できるようになったので、特定のキーが押されたらピッチの上下('u' と 'd')、などの機能を追加したということ。 gist.github.com
以前の記事で紹介したPyWorldによるスクリプトは、実行を終了するときはCommand + Cなどの強制終了が必要だったが、あまりスマートなやり方ではなかった。 tam5917.hatenablog.comそこで、キー入力を監視して、特定のキー(ESC or 'q')が押下されたらスクリ…