F# 音声合成のサンプル

あんどーなつ
記事: 171
登録日時: 8年前
連絡を取る:

F# 音声合成のサンプル

投稿記事 by あんどーなつ » 8年前

先ほどの記事で、SpeechSynthesizerクラスを取り上げましたが、UWPだけでなく.NET Frameworkでも利用できるようなのでF#のサンプルを作りました。

そういえばWin3.1時代に使ってたパソコンの中にもNEC製の音声合成ソフトが入ってましたね。

CODE:

#r "System.Speech.dll"
open System.Speech.Synthesis

let s = new SpeechSynthesizer()
s.GetInstalledVoices()
|> Seq.map (fun x -> x.VoiceInfo)
|> Seq.iter (fun x ->
    printfn "[年齢: %s, カルチャ: %s, 説明: %s, 性別: %s, ID: %s, 名前: %s]"
            (x.Age.ToString())
            (x.Culture.ToString())
            (x.Description)
            (x.Gender.ToString())
            (x.Id)
            (x.Name) )

s.GetInstalledVoices()
|> Seq.toArray
|> Array.map (fun x -> x.VoiceInfo)
|> Array.map (fun v ->
    s.SelectVoice(v.Name)
    s.Speak(if v.Culture.Name = "ja-JP" then
                "私の名前は" + v.Name + "です。"
            else
                "My name is " + v.Name + ", thank you." ) )
実行結果

CODE:

[年齢: Adult, カルチャ: ja-JP, 説明: Microsoft Haruka Desktop - Japanese, 性別: Female, ID: TTS_MS_JA-JP_HARUKA_11.0, 名前: Microsoft Haruka Desktop]
[年齢: Adult, カルチャ: en-US, 説明: Microsoft Zira Desktop - English (United States), 性別: Female, ID: TTS_MS_EN-US_ZIRA_11.0, 名前: Microsoft Zira Desktop]

コメントはまだありません。