1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- package yask
- import (
- "os"
- "testing"
- "git.ali33.ru/fcg-xvii/go-tools/text/config"
- _ "git.ali33.ru/fcg-xvii/go-tools/text/config/ini"
- )
- var (
- yaFolderID, yaAPIKey string
- )
- func init() {
- if conf, err := config.FromFile("ini", "test_data/ya.config"); err == nil {
- yaFolderID = conf.ValueDefault("folder_id", yaFolderID).(string)
- yaAPIKey = conf.ValueDefault("api_key", yaAPIKey).(string)
- }
- }
- func TestTextToSpeech(t *testing.T) {
- if len(yaFolderID) == 0 {
- t.Log("ya config 'test_data/ya.config' not parsed. format 'ya_folder_id::ya_api_key")
- return
- }
- // init request config
- config := TTSDefaultConfigText(yaFolderID, yaAPIKey, "Привет, это тест синтеза речи с помощью сервиса Яндекса")
- config.Emotion = "good"
- config.Voice = VoiceJane
- r, err := TextToSpeech(config)
- if err != nil {
- t.Fatal(err)
- }
- f, err := os.OpenFile("test_data/tts.wav", os.O_RDWR|os.O_CREATE|os.O_TRUNC, 0655)
- if err != nil {
- t.Fatal(err)
- }
- if err := EncodePCMToWav(r, f, config.Rate, 16, 1); err != nil {
- t.Fatal(err)
- }
- r.Close()
- f.Close()
- }
- func TestSpeechToTextShort(t *testing.T) {
- if len(yaFolderID) == 0 {
- t.Log("ya config 'test_data/ya.config' not parsed. format 'ya_folder_id::ya_api_key")
- return
- }
- f, err := os.Open("test_data/test_sound.wav")
- if err != nil {
- t.Fatal(err)
- }
- conf := STTConfigDefault(yaFolderID, yaAPIKey, f)
- text, err := SpeechToTextShort(conf)
- if err != nil {
- t.Fatal(err)
- }
- t.Log(text)
- }
- func TestVoiseFilter(t *testing.T) {
- // Get all voices
- items := Voices("", 0, 0)
- t.Log(len(voices), len(items), items)
- // Get only russian standard females
- items = Voices(LangRU, 2, 1)
- t.Log(len(voices), len(items), items)
- }
|