avy-migemoを使わずにivy/swiperをmigemo化した際に遭遇したエラーの解決と新たなminor-modeの提案

はじめに avy-migemoを使わずにswiperやswiper-isearchをmigemo化することに成功した偉大な先人がいる:これらの記事では、ivyに食わせるmigemo的な正規表現を生成する関数を独自に定義している。 そして、これらの設定を適用したのち、swiper-isearchを実行…

LaTeXソースを保存と同時にコンパイルしPDFを作成するための設定(smart-compile.elとlatexmk利用)

以下の記事にて、表題に関する設定が公開されていた。「自動コンパイル」のところである。 AUCTeX の設定と便利な機能 銭谷誠司氏のサイトにて公開されているsmart-compile.elを用いている。上記の記事ではリンク切れであったが、現在はgithubにて継続的に開…

マウスホイールによる連続スクロールのスピードを調節 on Emacs

マウスホイールにより連続スクロールすると画面がどんどん飛んでしまうので、それを抑制する設定。 Ubuntu (global-set-key [mouse-5] '(lambda () "" (interactive) (scroll-up 1))) (global-set-key [mouse-4] '(lambda () "" (interactive) (scroll-down …

summarye.elの設定 改訂版

かつてsummarye.elの設定に関する記事を書いたことがあるが、今回いくつか見直した。 display-line-numbers-modeによる行番号の表示を止めた。これをしないと行番号がsummarye由来ものと合わせて2重に行番号が表示されるからである。またサマリがポップアッ…

EmacsにおけるLaTeX執筆環境構築(2)LaTeXのlanguage serverであるtexlabをeglotから使う

はじめに LaTeXにもlanguage serverがあると聞いて、早速インストールを試してみたときの記録。そのlanguage serverとはtexlabである。これをEglotによりEmacs上から使うのが目的である。 実行環境 MacOS Catalina 10.15.7 Ubuntu 18.04 Emacs 27.2 手順 tex…

EmacsにおけるLaTeX執筆環境構築(1)AUCTeXの設定と使い方について

Emacs上でLaTeXを編集するときに便利なパッケージの一つとしてAUCTeXが知られている。本記事は設定と使い方を備忘録として残すのが主旨である。 TeXのインストール AUCTeXのインストール 設定 Emacsの設定 latexmkの設定 解説と補足 AUCTeXの公式情報 AUCTeX…

Emacs27で"Package cl is deprecated"を抑制する方法

起動直後 early-init.elの先頭に以下を記述する。 (setq byte-compile-warnings '(cl-functions)) 設定ファイルなどをバイトコンパイルするとき 以下の設定を追記する。 (eval-when-compile (setq byte-compile-warnings '(cl-functions)))

Emacsで補完入力を行うCompany-modeの設定 2021

はじめに Emacsで補完入力を行うためのパッケージとしてcompany-modeがよく知られている。 本記事ではこの設定を紹介し、備忘録として残しておく。 設定 以下の設定を適用する。 コードを表示する ;; -*- mode: emacs-lisp; coding: utf-8 ;; 主なデフォルト…

EmacsからJupyter Notebookを触るための設定

はじめに Emacsのeinというパッケージを用いることで、EmacsからJupyter Notebookを編集し、表示することができる。 実行イメージは以下の通りである。ein(emacsからjupyter)は便利なのでぜひ pic.twitter.com/yBeAucc1n7— mat (@ballforest) August 21, 2…

EmacsでPythonを書く設定 2021

はじめに PythonまわりのEmacsの設定を整理したということ。Company-modeの設定は言語共通の部分が多く長くなるので省略した。Language serverの紹介がメイン。 Language server Emacsからlanguage serverを使うためにeglotを入れる。MELPAからインストール…

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…

black用py-isortの設定

私はblackをpythonコードのformatterに用いているので、blackの仕様に合うようにisortを設定して動かしたいというわけである。isortをEmacsから触るためにはpy-isortを用いる。以下の記事は参考になる。 qiita.com isortのマニュアルはこちらから: pycqa.gi…

numpy.arange関数におけるstepに0.1を指定したときの振る舞いとその原因を追ってみた話

はじめに 先日、接点QB氏による以下のツイートを見かけた: ??????俺の脳みそがバグってるのか?? pic.twitter.com/zyzzdb3ijS— 接点QB (@setten_QB) February 10, 2021 興味深いので少し調べてみたというわけである(少々長い記事)。 はじめに numpyのara…

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デフォルトでは音声の区間、音楽の区間、ノイズの区間、無音の区間を検出し、その区間ラベルと時間情報…