Go言語向けVoiceText Web APIクライアント
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.gitignore
LICENSE
README.md
client.go
client_options.go
client_options_test.go
client_test.go
doc.go
err_msg.go
result.go
result_test.go
speaker.go
tts_err_msg.go
tts_err_msg_test.go
tts_options.go
tts_options_test.go
wercker.yml

README.md

go-voicetext - VoiceText Web API クライアント

wercker status Coverage Status GoDoc

概要

go-voicetextはGo言語向けのVoiceText Web APIクライアントです。

インストール

go get -u github.com/yosssi/go-voicetext

実装例

go-voicetextを用いた簡単な実装例を以下に記載します。

package main

import (
	"fmt"
	"os"

	"github.com/yosssi/go-voicetext"
)

func main() {
	c := voicetext.NewClient(os.Getenv("VOICETEXT_API_KEY"), nil)
	result, err := c.TTS("Hello.", nil)
	if err != nil {
		panic(err)
	}

	if result.ErrMsg != nil {
		fmt.Println(result.ErrMsg)
		return
	}

	f, err := os.Create("hello.wav")
	if err != nil {
		panic(err)
	}

	defer func() {
		if err := f.Close(); err != nil {
			panic(err)
		}
	}()

	if _, err := f.Write(result.Sound); err != nil {
		panic(err)
	}
}

以下のように、TTSメソッドにオプションの設定を指定することができます。

package main

import (
	"fmt"
	"os"

	"github.com/yosssi/go-voicetext"
)

func main() {
	c := voicetext.NewClient(os.Getenv("VOICETEXT_API_KEY"), nil)
	result, err := c.TTS("Hello.", &voicetext.TTSOptions{
		Speaker:      voicetext.SpeakerHaruka,
		Emotion:      voicetext.EmotionHappiness,
		EmotionLevel: "2",
		Pitch:        90,
		Speed:        110,
		Volume:       200,
	})
	if err != nil {
		panic(err)
	}

	if result.ErrMsg != nil {
		fmt.Println(result.ErrMsg)
		return
	}

	f, err := os.Create("hello.wav")
	if err != nil {
		panic(err)
	}

	defer func() {
		if err := f.Close(); err != nil {
			panic(err)
		}
	}()

	if _, err := f.Write(result.Sound); err != nil {
		panic(err)
	}
}

ドキュメント