150 lines
4.1 KiB
Go
150 lines
4.1 KiB
Go
package persona
|
|
|
|
// VoiceDNA contains all voice specifications for audio/video generation.
|
|
// These characteristics define the character's unique vocal identity for TTS.
|
|
type VoiceDNA struct {
|
|
// Pitch is the fundamental vocal pitch category.
|
|
Pitch PitchCategory `json:"pitch" yaml:"pitch"`
|
|
|
|
// PitchRange describes the range of pitch variation.
|
|
PitchRange PitchRangeCategory `json:"pitch_range" yaml:"pitch_range"`
|
|
|
|
// Tone is the overall vocal tone quality.
|
|
Tone ToneCategory `json:"tone" yaml:"tone"`
|
|
|
|
// Timbre is the vocal texture/quality.
|
|
Timbre TimbreCategory `json:"timbre" yaml:"timbre"`
|
|
|
|
// Accent is the accent family.
|
|
Accent AccentCategory `json:"accent" yaml:"accent"`
|
|
|
|
// AccentStrength is the intensity of the accent.
|
|
AccentStrength AccentStrengthCategory `json:"accent_strength" yaml:"accent_strength"`
|
|
|
|
// Cadence is the speaking rhythm pattern.
|
|
Cadence CadenceCategory `json:"cadence" yaml:"cadence"`
|
|
|
|
// RhythmPattern describes the speech rhythm.
|
|
RhythmPattern RhythmPatternCategory `json:"rhythm_pattern" yaml:"rhythm_pattern"`
|
|
|
|
// Volume is the characteristic speaking volume.
|
|
Volume VolumeCategory `json:"volume" yaml:"volume"`
|
|
|
|
// Clarity is the articulation clarity.
|
|
Clarity ClarityCategory `json:"clarity" yaml:"clarity"`
|
|
|
|
// Expressiveness is the emotional range in speech.
|
|
Expressiveness ExpressivenessCategory `json:"expressiveness" yaml:"expressiveness"`
|
|
}
|
|
|
|
// Pitch categories
|
|
type PitchCategory string
|
|
|
|
const (
|
|
PitchVeryLow PitchCategory = "very_low"
|
|
PitchLow PitchCategory = "low"
|
|
PitchMedium PitchCategory = "medium"
|
|
PitchHigh PitchCategory = "high"
|
|
PitchVeryHigh PitchCategory = "very_high"
|
|
)
|
|
|
|
// Pitch range categories
|
|
type PitchRangeCategory string
|
|
|
|
const (
|
|
PitchRangeNarrow PitchRangeCategory = "narrow"
|
|
PitchRangeModerate PitchRangeCategory = "moderate"
|
|
PitchRangeWide PitchRangeCategory = "wide"
|
|
)
|
|
|
|
// Tone categories
|
|
type ToneCategory string
|
|
|
|
const (
|
|
ToneWarm ToneCategory = "warm"
|
|
ToneCool ToneCategory = "cool"
|
|
ToneNeutral ToneCategory = "neutral"
|
|
ToneRich ToneCategory = "rich"
|
|
ToneBright ToneCategory = "bright"
|
|
)
|
|
|
|
// Timbre categories
|
|
type TimbreCategory string
|
|
|
|
const (
|
|
TimbreClear TimbreCategory = "clear"
|
|
TimbreSmooth TimbreCategory = "smooth"
|
|
TimbreHusky TimbreCategory = "husky"
|
|
TimbreBreathy TimbreCategory = "breathy"
|
|
TimbreRich TimbreCategory = "rich"
|
|
TimbreCrisp TimbreCategory = "crisp"
|
|
)
|
|
|
|
// Accent categories
|
|
type AccentCategory string
|
|
|
|
const (
|
|
AccentNorthAmerican AccentCategory = "north_american"
|
|
AccentBritish AccentCategory = "british"
|
|
AccentAustralian AccentCategory = "australian"
|
|
AccentGlobalEnglish AccentCategory = "global_english"
|
|
AccentNonNative AccentCategory = "non_native"
|
|
)
|
|
|
|
// Accent strength categories
|
|
type AccentStrengthCategory string
|
|
|
|
const (
|
|
AccentStrengthSubtle AccentStrengthCategory = "subtle"
|
|
AccentStrengthModerate AccentStrengthCategory = "moderate"
|
|
AccentStrengthStrong AccentStrengthCategory = "strong"
|
|
)
|
|
|
|
// Cadence categories
|
|
type CadenceCategory string
|
|
|
|
const (
|
|
CadenceVerySlow CadenceCategory = "very_slow"
|
|
CadenceSlow CadenceCategory = "slow"
|
|
CadenceMedium CadenceCategory = "medium"
|
|
CadenceFast CadenceCategory = "fast"
|
|
CadenceVeryFast CadenceCategory = "very_fast"
|
|
)
|
|
|
|
// Rhythm pattern categories
|
|
type RhythmPatternCategory string
|
|
|
|
const (
|
|
RhythmPatternSteady RhythmPatternCategory = "steady"
|
|
RhythmPatternVariable RhythmPatternCategory = "variable"
|
|
RhythmPatternDynamic RhythmPatternCategory = "dynamic"
|
|
)
|
|
|
|
// Volume categories
|
|
type VolumeCategory string
|
|
|
|
const (
|
|
VolumeSoft VolumeCategory = "soft"
|
|
VolumeModerate VolumeCategory = "moderate"
|
|
VolumeLoud VolumeCategory = "loud"
|
|
)
|
|
|
|
// Clarity categories
|
|
type ClarityCategory string
|
|
|
|
const (
|
|
ClarityCrisp ClarityCategory = "crisp"
|
|
ClarityNatural ClarityCategory = "natural"
|
|
ClarityRelaxed ClarityCategory = "relaxed"
|
|
)
|
|
|
|
// Expressiveness categories
|
|
type ExpressivenessCategory string
|
|
|
|
const (
|
|
ExpressivenessMonotone ExpressivenessCategory = "monotone"
|
|
ExpressivenessModerate ExpressivenessCategory = "moderate"
|
|
ExpressivenessExpressive ExpressivenessCategory = "expressive"
|
|
ExpressivenessAnimated ExpressivenessCategory = "animated"
|
|
)
|