ahsai

package module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 9, 2022 License: GPL-3.0 Imports: 11 Imported by: 2

README

ahsai

AH Soft フリーテキスト音声合成 demo API

demo

Just run go test to hear the voice below

こんにちは、世界

package ahsai

import "testing"

func TestAPI(t *testing.T) {
	s := NewSpeaker()
	err := s.SetName("東北イタコ")
	if err != nil {
		t.Fatal(err)
	}
	u, err := s.Speak("こんにちは、世界")
	if err != nil {
		t.Fatal(err)
	}
	t.Log(u)
	err = PlayOgg(u)
	if err != nil {
		t.Fatal(err)
	}
	err = SaveOggToFile(u, "test.wav")
	if err != nil {
		t.Fatal(err)
	}
}

supported speakers

more info at キャラクターで探す

  • 琴葉葵
  • 琴葉茜

琴葉

  • 紲星あかり

紲星あかり

  • 吉田くん

吉田くん

  • 東北ずん子

東北ずん子

  • 月読アイ

月読アイ

  • 月読ショウタ

月読ショウタ

  • 民安ともえ

民安ともえ

  • 結月ゆかり

結月ゆかり

  • 水奈瀬コウ

水奈瀬コウ

  • 京町セイカ

京町セイカ

  • 東北きりたん

東北きりたん

  • 桜乃そら

桜乃そら

  • 東北イタコ

東北イタコ

  • ついなちゃん標準語
  • ついなちゃん関西弁

ついなちゃん

  • 伊織弓鶴

伊織弓鶴

  • 音街ウナ

音街ウナ

commandline tool

go run cmd/main.go -h
Usage:
  -a float
        anger
  -b uint
        border slience sample lenth (default 2048)
  -d float
        sadness
  -f string
        line-separated text to read
  -h    display this help
  -j float
        joy
  -n string
        specify speaker (default "民安ともえ")
  -o string
        output wav file path (default "out.wav")
  -p float
        pitch (default 1)
  -r float
        range (default 1)
  -s float
        speed (default 1)
  -v float
        volume (default 1)

Documentation

Overview

Package ahsai AH Soft フリーテキスト音声合成 demo API

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrTextTooLong 文本超过 100 字
	ErrTextTooLong = errors.New("text too long")
	// ErrNoSuchSpeaker 查无此人
	ErrNoSuchSpeaker = errors.New("no such speaker")
)

Functions

func ComposeStream

func ComposeStream(sil uint, progress func(p int), urls ...string) (sm beep.Streamer, format beep.Format, err error)

ComposeStream 组合 urls 成为单个 stream, 并留出 sil 采样间隔

func PlayOgg

func PlayOgg(u string) error

PlayOgg cut leading demo text and play directly

func SaveOggToFile

func SaveOggToFile(u, path string) error

SaveOggToFile cut leading demo text and save wav to path

func SaveOggToWriteSeeker

func SaveOggToWriteSeeker(u string, f io.WriteSeeker) error

SaveOggToWriteSeeker cut leading demo text and write wav stream to f

Types

type Speaker

type Speaker struct {
	Volume, Speed, Pitch, Range, Anger, Sadness, Joy float32
	// contains filtered or unexported fields
}

Speaker is a particular setting of the API

func NewSpeaker

func NewSpeaker() (s Speaker)

NewSpeaker init default para of a speaker. Use s.SetName() to set the real speaker.

func (*Speaker) SetName

func (s *Speaker) SetName(name string) error

SetName set the speaker id.

func (*Speaker) Speak

func (s *Speaker) Speak(text string) (string, error)

Speak text, return ogg url

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL