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

counsel-switch-bufferとivy-switch-bufferの違い

counsel-switch-bufferは候補選択時に、バッファ内容のプレビューがデフォルトで有効になっている。 ivy-switch-bufferではプレビューはデフォルトで無効になっている。C-M-nやC-M-pで選択時にはプレビューが有効になる。 ;; 候補選択時、バッファプレビュー…

ivy-posframeの設定

ivy-posframeとは実行コマンドごとにivyのメニューの表示位置を調整できるパッケージだ。 github.com私の設定は以下: ;; コマンドごとに位置を制御できる ;; nilはivy-posframeの適用なし (setq ivy-posframe-display-functions-alist '((swiper . nil) (sw…

all-the-iconsの設定

ここでは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の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 ・…

frameの理論の解説記事

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の設定

selected.elの設定記事を見かけて、たしかに便利だということで、設定を書いてみたという話。 qiita.comリージョン選択時のテキストを対象にして各種のコマンドを発動できるので、とても便利というわけだ。以下ではmultiple-cursorsの設定やieditの設定、swi…

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

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

summarye.elのバイトコンパイル時に警告が大量に出るので修正

オリジナルのsummarye.elはバイトコンパイル時に警告が大量にでるので修正した。 Warnings of summarye.el when byte-compiling has been removed (Emacs 26.2) · GitHub

summarye.elの設定

バッファのサマリを別ウィンドウに表示するパッケージsummaryeの設定。texの執筆時はセクション名を頭出ししてくれるので重宝する。texに限らず、プログラミング言語など汎用的に使えるので便利である。 (defun se/quit-summary-item () (interactive) (view…

electric-indent-modeの挙動

最近のEmacsではデフォルトでONになっている。 electric-indent-modeをON : C-jが改行、returnがインデントつき改行 electric-indent-modeをOFF : C-jがインデントつき改行、returnが改行

バッファ切り替えのためのiflipbの設定 / setting for iflipb to switch buffer

iflipbという、バッファ切り替えのためのパッケージが存在する: emacs.rubikitch.com私は以下の設定としている。 カレントバッファと同じメジャーモードのバッファのみを切り替え対象にしたいため、新たに関数を書いた。 (require 'iflipb) (setq iflipb-wr…

How to obtain list of buffers as same as current buffer

(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…

How to obtain list of buffer names as same as current buffer

(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…

How to obtain major mode of current buffer

You can obtain the major mode by using following snippet: (buffer-local-value 'major-mode (current-buffer))

C-TABでバッファ切り替え

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>…

Emacsにおいてカーソル下の単語をMacの辞書で調べるときのhack

関数の本体はどこかにあった設定を参考にさせていただいた。 my-dictが表題に沿った関数。my-dict2は自分で検索語句を入力する関数。 (defun my-dict () (interactive) (let ((url (concat "dict://" (read-from-minibuffer "Search: " (current-word)))) (b…

EmacsのFrame切り替えを補助するEmacs Lisp

表題について、以下のElispを見つけたので紹介する。frame-movementというパッケージである。 github.com本パッケージにより、'frame-movement/select-next-frame' (次のフレームに移動)と 'frame-movement/select-prev-frame'(前のフレームに移動)とい…

簡易ボイスチェンジャーのスクリプトを改良: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のdictation kitに同梱のdnnclient.pyをPython 3で動くようにした件

修正済みのソースはこちらから。 dnnclient.py for Python 3 · GitHub ライセンスも明記。

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…