Top / 音声合成

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/1229802781

上記サイトを見つけ、これでできると音のなるエディタをWindowsでやろうとしたが音はならず。

面倒なので諦めて下記を作る。 単語の発音をネットでよく調べることがあったのでそれなりに使えます。

say.exeは、添付しています(Windows7でしか確認していません)。

;;----------------------------------------------------------------------
;; 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)))))

添付ファイル: filesay.exe 518件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
Last-modified: Sun, 11 Nov 2012 11:41:58 JST (1779d)