- 追加された行はこの色です。
- 削除された行はこの色です。
-
音声合成 へ行く。
- 音声合成 の差分を削除
[[Windows]]
*Emacs/Meadowで音声合成
音の鳴るエディタことEmacs
http://pokutuna.hatenablog.com/entry/2012/10/09/154109
上記に触発され、Macじゃなく、Windowsでできないかと調べる。
WindowsでもsayコマンドをAdd Star
http://d.hatena.ne.jp/nacookan/20081221/
上記サイトを見つけ、これでできると音のなるエディタをWindowsでやろうとしたが音はならず。
面倒なので諦めて下記を作る。
単語の発音をネットでよく調べることがあったのでそれなりに使えます。
say.exeは、添付しています(Windows7でしか確認していません)。
#ref(say.exe)
;;----------------------------------------------------------------------
;; Windowsの音声合成で指定範囲の文字列や単語を発音する
;; Windowsの音声合成で指定範囲の文字列や単語を発音する(R)
;; say.exeをpathの通ったところにおく
;;----------------------------------------------------------------------
;; カーソル位置の単語を発音(Lisp mode以外ではマークからカーソルまでを発音も可能)
(require 'grep)
(defun say-play()
"Type '\\[say-play]': speak the word at the cursor position."
(interactive)
(let ((rword (buffer-substring-no-properties
(region-beginning) (region-end))) ;; リージョン指定の場合
(fword
(funcall (or find-tag-default-function
(get major-mode 'find-tag-default-function)
'grep-tag-default))) ;; カーソル位置のワード指定
(start nil))
(if (null fword) (setq fword rword)) ;; カーソル位置に何も無ければリージョン指定
; (call-process "Wscript.exe" nil 0 nil "say.js" fword)
(call-process "say" nil 0 nil fword)
(message "say play %s" fword)))
;; マークからカーソルまでを発音
;; M-x say-region
(defun say-region ()
"say talk a specified range."
(interactive
(progn
(let (target)
(setq target (buffer-substring-no-properties
(region-beginning) (region-end)))
(call-process "say" nil 0 nil target)))))