2020-01-01から1年間の記事一覧

vscodeのメモ

ターミナルの表示およびカーソル切り替えはCommand + Shift + @ ターミナルを閉じる場合はControl + Shift + @ (ターミナルにフォーカスされている場合) サイドバーを閉じる場合はControl + Option + Space (Toggle Sidebar Visibility)

わかりやすいパターン認識(第2版)の書評

本書は1998年に発売された『わかりやすいパターン認識』の改訂版であり,全体を通して統計的パターン認識の基礎が「わかりやすい」筆致でまとめられている。本書は全9章から構成されている。パターン認識の考え方(第1章)から始まり,識別関数の学習・評価…

現在開いているページのewwバッファを複製する

ewwを起動中、以下の関数を実行する。 すると、現在のページのURLを引き継いで新しくewwバッファが作成される。 (defun eww-duplicate-buffer () "Duplicate current eww buffer." (interactive) (let ((url (plist-get eww-data :url))) (with-current-buff…

リージョンをクオートやブラケットで囲う(Emacsのselected.elを利用)

以下の記事を参考に、リージョンを{クオートやブラケット}で囲うelispをselectedを使って書いてみたということ。 リージョンを選択し、クオートやブラケットの記号を一つ押すだけで、リージョン全体が囲えるので便利である。selected.elはMELPAからインス…

リージョンで囲った文字列を対象にgoogle翻訳を呼び出す(Emacs)

以下の記事では、「selected」という、リージョンで囲われた文字列を対象に様々な関数を1キーストロークで発動できるパッケージの紹介がされている。 同記事では対象の文字列に対してgoogle検索を呼び出す方法も紹介されているが、ここではgoogle翻訳を呼び…

ewwを使っていたら「error in process filter: Invalid image type ‘svg’」というエラーが出たとき

ewwでリンク先のページに飛んだ時、表題のエラーに出会うことがある。 これはEmacsがsvgをサポートする形でコンパイルされていないから、ということ。 しかしeww(というかshr)はsvgが使える前提で一部の関数が実装されているのが問題。 当面、以下の関数を…

Emacsの補完入力手段

よく使うもの hippie-expand (M-/) completion-at-point (C-M-i) company デフォルトだとC-M-/ にdabbrev-completionがバインドされているけど、それほど使わない。

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

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

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

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

フーリエ級数展開のデモンストレーションをPythonで書いた話

はじめに 東京大学の小山先生が、フーリエ級数展開のデモンストレーションをMATLABでお書きになった。講義でフーリエ変換というかフーリエ級数展開の説明用に作った動画をせっかくなのでここに置いておく。。 pic.twitter.com/2wm4ecjdty— Shoichi Koyama (@…

navi2chの設定

事前準備 1. 2chproxy.plをダウンロードして、適切な場所に置く https://github.com/yama-natuki/2chproxy.pl2. bash_profileに以下を追記 /path/to/2chproxy.pl -dnavi2ch起動前に2chproxy.plをバックグラウンドで起動しておくという主旨である。バックグラ…

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

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

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

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

ヘルダーの不等式の証明をスケッチ

ヘルダーの不等式の証明はいつも忘れるので、備忘録として証明の「スケッチ」は残しておこうという主旨である(はてなブログにおける数式の練習も兼ねて)。 1. ヘルダーの不等式とは $1 \leq p \leq \infty$,$q$は$p$の調和共役とする.すなわち, $$ \fra…

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…

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なるパッ…