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

リロード   新規 編集 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS