challenge 音声合成でHello, world!

与えられた文字列を音声合成して再生する関数を作ってください。

使用したライブラリはタグでつけてください。またOSに依存する場合もタグでつけてください。日本語文字列も発音できることが好ましいですが、必須ではありません。

以下はサンプルです。

>>> say("Hello, world!")
>>> say("con nitch were") # 「こんにちは」
>>> say("daw cat coo org, sole what program mar know tum yen know Colosseum death")

Posted feedbacks - Common Lisp

自分には難しかったので、シェルからfestivalを呼び出すことにしました。

festivalは内部スクリプティングにshcemeが採用されてるんですねー。
ubuntu/debianでは、パッケージがあったので導入は簡単でした。
1
2
3
4
5
6
7
8
9
(defpackage :doukaku-59 (:use :cl :asdf) (:export say))
(in-package :doukaku-59)

(defun say (str)
  (let ((exec-str (concatenate 'string "echo " str "|festival --tts")))
    (let ((res (run-shell-command exec-str)))
      (case res
	(0 (values str 0))
	(otherwise (values nil res))))))

Index

Feed

Other

Link

Pathtraq

loading...