音声合成でHello, world!
Posted feedbacks - Other
uwscのマニュアルには「要SAPI 5.x」とあります。 コントロールパネルに「音声認識」があれば使えるようです。
1 2 3 | SPEAK("Hello, world!")
SPEAK("こんにちは")
SPEAK("どう書くorg、それはプログラマの為のコロシアムです。")
|
LLVMアセンブリ(32bit)で。Mac OS Xのsayコマンドにコマンドライン引数を渡してます。いいのかこんなんで…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | ; Usage: ./say message
declare i32 @strlen(i8*)
declare i32 @sprintf(i8*, i8*, ...)
declare i32 @system(i8*)
@cmd = internal constant [9 x i8] c"say \22%s\22\00"
define i32 @main(i32 %argc, i8** %argv) {
%cmdp = getelementptr [9 x i8]* @cmd, i32 0, i32 0
%argv_addr = ptrtoint i8** %argv to i32
%msg_addr = add i32 %argv_addr, 4
%msgp = inttoptr i32 %msg_addr to i8**
%msg = load i8** %msgp
%slen = call i32 @strlen(i8* %msg)
%len = add i32 %slen, 9
%s = malloc i8, i32 %len
call i32 (i8*, i8*, ...)* @sprintf(i8* %s, i8* %cmdp, i8* %msg)
call i32 @system(i8* %s)
ret i32 0
}
|



にしお
#3415()
Rating4/4=1.00
使用したライブラリはタグでつけてください。またOSに依存する場合もタグでつけてください。日本語文字列も発音できることが好ましいですが、必須ではありません。
以下はサンプルです。
>>> say("Hello, world!") >>> say("con nitch were") # 「こんにちは」 >>> say("daw cat coo org, sole what program mar know tum yen know Colosseum death")[ reply ]