ssml

package
v2.16.1 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2023 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

Package ssml implements Speech Synthesis Markup Language.

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Builder

type Builder struct {
	// contains filtered or unexported fields
}

Builder SSML.

func NewBuilder

func NewBuilder() *Builder

NewBuilder возвращает *Builder.

Example
package main

import (
	"fmt"
	"time"

	"github.com/SevereCloud/vksdk/v2/marusia/ssml"
)

func main() {
	b := ssml.NewBuilder()
	b.Say("Привет")
	b.Break(500 * time.Millisecond).Say("Я Маруся")

	fmt.Print(b)
}
Output:

<speak>Привет<break time="500ms"/>Я Маруся</speak>

func (*Builder) Break

func (b *Builder) Break(duration time.Duration) *Builder

Break используется для вставки пауз между произносимым текстом.

Example
package main

import (
	"fmt"
	"time"

	"github.com/SevereCloud/vksdk/v2/marusia/ssml"
)

func main() {
	b := ssml.NewBuilder()
	b.Say("Привет").Break(500 * time.Millisecond).Say("Я Маруся")

	fmt.Print(b)
}
Output:

<speak>Привет<break time="500ms"/>Я Маруся</speak>

func (*Builder) Paragraph

func (b *Builder) Paragraph(s string) *Builder

Paragraph используется для выделения абзацев. После абзаца ставится длинная интонационная пауза.

Example
package main

import (
	"fmt"

	"github.com/SevereCloud/vksdk/v2/marusia/ssml"
)

func main() {
	b := ssml.NewBuilder()
	b.Paragraph("Привет")

	fmt.Print(b)
}
Output:

<speak><p>Привет</p></speak>

func (*Builder) Say

func (b *Builder) Say(s string) *Builder

Say используется для произношения слов. Пропускает теги внутрь.

Example
package main

import (
	"fmt"

	"github.com/SevereCloud/vksdk/v2/marusia/ssml"
)

func main() {
	b := ssml.NewBuilder()
	b.Say("Привет")

	fmt.Print(b)
}
Output:

<speak>Привет</speak>

func (*Builder) Sentence

func (b *Builder) Sentence(s string) *Builder

Sentence используется для выделения предложений. Предложение будет выделено интонационно, а в конце предложения будет пауза.

Example
package main

import (
	"fmt"

	"github.com/SevereCloud/vksdk/v2/marusia/ssml"
)

func main() {
	b := ssml.NewBuilder()
	b.Sentence("Привет")

	fmt.Print(b)
}
Output:

<speak><s>Привет</s></speak>

func (*Builder) Speaker

func (b *Builder) Speaker(s string) *Builder

Speaker используется для вставки собственных аудиозаписей в текст.

Example
package main

import (
	"fmt"

	"github.com/SevereCloud/vksdk/v2/marusia/ssml"
)

func main() {
	b := ssml.NewBuilder()
	b.Say("Угадайте, чей это голос?").Speaker("-2000000002_123456789")

	fmt.Print(b)
}
Output:

<speak>Угадайте, чей это голос?<speaker audio_vk_id="-2000000002_123456789"/></speak>

func (*Builder) SpeakerFromLibrary

func (b *Builder) SpeakerFromLibrary(s string) *Builder

SpeakerFromLibrary используется для вставки звуков из библиотеки в текст.

Example
package main

import (
	"fmt"

	"github.com/SevereCloud/vksdk/v2/marusia/ssml"
)

func main() {
	b := ssml.NewBuilder()
	b.Say("Так мычит корова").SpeakerFromLibrary("marusia-sounds/animals-cow-1")

	fmt.Print(b)
}
Output:

<speak>Так мычит корова<speaker audio="marusia-sounds/animals-cow-1"/></speak>

func (Builder) String

func (b Builder) String() string

String возвращает SSML в виде строки.

Jump to

Keyboard shortcuts

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