Use MiMo VoiceDesign for speech provider projection
This commit is contained in:
parent
0065fec2b3
commit
773078daff
4 changed files with 125 additions and 57 deletions
|
|
@ -2,22 +2,29 @@
|
||||||
|
|
||||||
Version: `0.1-draft`
|
Version: `0.1-draft`
|
||||||
|
|
||||||
MiMo is an expressive spoken-output target for Weksa interlingua lowering. It is
|
MiMo VoiceDesign is an expressive spoken-output target for Weksa interlingua
|
||||||
not the source of meaning, language choice, character state, or delivery truth.
|
lowering. It is not the source of meaning, language choice, character state, or
|
||||||
|
delivery truth.
|
||||||
|
|
||||||
```text
|
```text
|
||||||
interlingua packet
|
interlingua packet
|
||||||
-> projected speaker-local context
|
-> projected speaker-local context
|
||||||
-> target-language utterance realization
|
-> target-language utterance realization
|
||||||
-> Weksa delivery intent
|
-> Weksa delivery intent from the same projection
|
||||||
-> MiMo TTS request projection
|
-> MiMo TTS VoiceDesign request projection
|
||||||
-> rendered audio artifact
|
-> rendered audio artifact
|
||||||
```
|
```
|
||||||
|
|
||||||
MiMo sits beside written output and AquaSynth handoffs. Written realizations
|
MiMo sits beside written output and AquaSynth handoffs. Written realizations
|
||||||
prove that meaning, register, and cultural ontology survived lowering.
|
prove that meaning, register, and cultural ontology survived lowering.
|
||||||
AquaSynth handoffs train or drive GameCult-owned synthesis. MiMo requests let an
|
AquaSynth handoffs train or drive GameCult-owned synthesis. MiMo VoiceDesign
|
||||||
external provider speak a Weksa-authored utterance with expressive style control.
|
requests let an external provider speak a Weksa-authored utterance with a
|
||||||
|
generated voice derived from the same projected Persona state, delivery controls,
|
||||||
|
and trace that produced the utterance.
|
||||||
|
|
||||||
|
The MiMo pass is choreography and provider flavor. It is not a second Persona
|
||||||
|
projection pass and it does not re-interpret raw Persona state after the line has
|
||||||
|
already been lowered.
|
||||||
|
|
||||||
## Authority
|
## Authority
|
||||||
|
|
||||||
|
|
@ -25,14 +32,15 @@ Weksa owns:
|
||||||
|
|
||||||
- target-language spoken text selected from interlingua
|
- target-language spoken text selected from interlingua
|
||||||
- target-language register, script, cultural ontology, and trace
|
- target-language register, script, cultural ontology, and trace
|
||||||
- speaker-local delivery pressure
|
- projected speaker-local context used for the utterance
|
||||||
|
- speaker-local delivery pressure derived during utterance lowering
|
||||||
- provider-neutral prosody and emphasis intent
|
- provider-neutral prosody and emphasis intent
|
||||||
- the MiMo request projection as an export artifact
|
- the MiMo request projection as an export artifact
|
||||||
|
|
||||||
MiMo owns:
|
MiMo owns:
|
||||||
|
|
||||||
- provider voice selection within the requested language and voice constraints
|
- generation of a provider voice from the requested voice design description
|
||||||
- interpretation of MiMo natural-language style guidance
|
- interpretation of MiMo natural-language voice/style guidance
|
||||||
- interpretation of MiMo inline audio/style tags
|
- interpretation of MiMo inline audio/style tags
|
||||||
- rendered audio bytes or streaming audio chunks
|
- rendered audio bytes or streaming audio chunks
|
||||||
|
|
||||||
|
|
@ -41,19 +49,22 @@ MiMo does not own:
|
||||||
- source meaning
|
- source meaning
|
||||||
- target-language cultural ontology
|
- target-language cultural ontology
|
||||||
- canonical speaker or Persona state
|
- canonical speaker or Persona state
|
||||||
|
- fresh Persona-state interpretation
|
||||||
- Weksa pronunciation plans
|
- Weksa pronunciation plans
|
||||||
- AquaSynth learned embeddings, synth controls, or audio truth
|
- AquaSynth learned embeddings, synth controls, or audio truth
|
||||||
|
|
||||||
## Projection Rule
|
## Projection Rule
|
||||||
|
|
||||||
The MiMo request must be derived from an accepted target-language realization.
|
The MiMo request must be derived from an accepted target-language realization and
|
||||||
It must not lower directly from English unless English is the selected target
|
the same projected speaker-local context that created it. It must not lower
|
||||||
language for that realization.
|
directly from English unless English is the selected target language for that
|
||||||
|
realization. It must not read raw Persona state to discover a different voice
|
||||||
|
after Weksa has already chosen the utterance.
|
||||||
|
|
||||||
Natural-language style guidance belongs in the MiMo `user` message. The spoken
|
Natural-language voice design and style guidance belongs in the MiMo `user`
|
||||||
target-language text belongs in the MiMo `assistant` message. Inline MiMo tags
|
message. The spoken target-language text belongs in the MiMo `assistant`
|
||||||
may appear in the assistant content only when they are derived from Weksa
|
message. Inline MiMo tags may appear in the assistant content only when they are
|
||||||
delivery intent or explicit target-language realization notes.
|
derived from Weksa delivery intent or explicit target-language realization notes.
|
||||||
|
|
||||||
## Request Shape
|
## Request Shape
|
||||||
|
|
||||||
|
|
@ -63,21 +74,23 @@ source_realization_ref:
|
||||||
speaker_agent_id:
|
speaker_agent_id:
|
||||||
provider:
|
provider:
|
||||||
id: xiaomi-mimo
|
id: xiaomi-mimo
|
||||||
model: mimo-v2.5-tts
|
model: mimo-v2.5-tts-voicedesign
|
||||||
target_language:
|
target_language:
|
||||||
code:
|
code:
|
||||||
locale:
|
locale:
|
||||||
script:
|
script:
|
||||||
register:
|
register:
|
||||||
voice:
|
voice_design:
|
||||||
requested_voice:
|
description:
|
||||||
fallback_voice:
|
source_controls:
|
||||||
selection_reason:
|
projected_context_refs:
|
||||||
|
forbidden_traits:
|
||||||
messages:
|
messages:
|
||||||
user_style_instruction:
|
user_voice_design_instruction:
|
||||||
assistant_spoken_content:
|
assistant_spoken_content:
|
||||||
audio:
|
audio:
|
||||||
format:
|
format:
|
||||||
|
optimize_text_preview:
|
||||||
streaming:
|
streaming:
|
||||||
trace:
|
trace:
|
||||||
source_fields:
|
source_fields:
|
||||||
|
|
@ -88,8 +101,8 @@ trace:
|
||||||
|
|
||||||
## Delivery Mapping
|
## Delivery Mapping
|
||||||
|
|
||||||
Weksa should map delivery pressure into provider-neutral labels before emitting
|
Weksa should map the utterance's existing projected Persona pressure into
|
||||||
MiMo-specific instructions:
|
provider-neutral delivery labels before emitting MiMo-specific instructions:
|
||||||
|
|
||||||
- pace, pause pressure, and urgency
|
- pace, pause pressure, and urgency
|
||||||
- pitch contour and pitch range
|
- pitch contour and pitch range
|
||||||
|
|
@ -98,8 +111,20 @@ MiMo-specific instructions:
|
||||||
- warmth, threat, tenderness, contempt, play, fatigue, secrecy, formality
|
- warmth, threat, tenderness, contempt, play, fatigue, secrecy, formality
|
||||||
- span-level emphasis and pauses
|
- span-level emphasis and pauses
|
||||||
|
|
||||||
The MiMo projection may turn those labels into director-style guidance or inline
|
The MiMo projection may turn those labels into a concise VoiceDesign prompt or
|
||||||
tags, but the trace must preserve the Weksa-owned source controls.
|
inline tags, but the trace must preserve the Weksa-owned source controls.
|
||||||
|
|
||||||
|
Persona presentation details such as youth-coded, loli-coded, product-voice, or
|
||||||
|
other culturally loaded styling may enter the MiMo request only when they are
|
||||||
|
already present in the projected context or accepted delivery intent. They should
|
||||||
|
be described as presentation/cultural coding and kept subordinate to agency,
|
||||||
|
personality, affect, and scene purpose. They must not become sexualized content
|
||||||
|
or a generic anime voice pasted over the line.
|
||||||
|
|
||||||
|
For Weksa-authored dialogue, `optimize_text_preview` should normally be `false`
|
||||||
|
or omitted. MiMo should speak the accepted target-language realization, not
|
||||||
|
rewrite it. Text polishing is only allowed for explicit preview/prototyping
|
||||||
|
passes that are marked non-authoritative.
|
||||||
|
|
||||||
## Language Rule
|
## Language Rule
|
||||||
|
|
||||||
|
|
@ -118,6 +143,6 @@ lowering:
|
||||||
|
|
||||||
- emit the accepted English, `pt-BR`, or Japanese realization
|
- emit the accepted English, `pt-BR`, or Japanese realization
|
||||||
- derive a provider-neutral delivery intent from Nibu's projected context
|
- derive a provider-neutral delivery intent from Nibu's projected context
|
||||||
- project that into a MiMo `mimo-v2.5-tts` request
|
- project that into a MiMo `mimo-v2.5-tts-voicedesign` request
|
||||||
- verify that the request speaks the target text, not the backtranslation
|
- verify that the request speaks the target text, not the backtranslation
|
||||||
- verify that style guidance is traceable to Weksa delivery controls
|
- verify that style guidance is traceable to Weksa delivery controls
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@ source_realization_ref: examples/multilingual-lowering/nibu-proof-001/realizatio
|
||||||
speaker_agent_id: nibu
|
speaker_agent_id: nibu
|
||||||
provider:
|
provider:
|
||||||
id: xiaomi-mimo
|
id: xiaomi-mimo
|
||||||
model: mimo-v2.5-tts
|
model: mimo-v2.5-tts-voicedesign
|
||||||
target_language:
|
target_language:
|
||||||
code: en
|
code: en
|
||||||
locale: en-US
|
locale: en-US
|
||||||
|
|
@ -11,25 +11,52 @@ target_language:
|
||||||
register: sharp technical casual
|
register: sharp technical casual
|
||||||
cultural_ontology_refs:
|
cultural_ontology_refs:
|
||||||
- data/target-language-ontology/en-US.yaml
|
- data/target-language-ontology/en-US.yaml
|
||||||
voice:
|
voice_design:
|
||||||
requested_voice: Chloe
|
description: >
|
||||||
fallback_voice: Mia
|
Youthful loli-coded synthetic ship-intelligence voice shaped by discarded
|
||||||
selection_reason: >
|
luxury companion-product presentation, but controlled by an abrasive,
|
||||||
Use an English built-in voice for the first provider smoke. The requested
|
dangerous, technically precise mind. Bright, sharp, small-bodied in social
|
||||||
delivery should preserve Nibu's precise, abrasive, protective cockpit
|
coding, dryly superior, clipped, and intelligible through cockpit audio.
|
||||||
warning without implying that MiMo owns her canonical voice.
|
The cuteness is product residue and leverage, not innocence and not
|
||||||
|
flirtation. Low warmth, contained urgency, faint tired contempt, and crisp
|
||||||
|
technical articulation.
|
||||||
|
source_controls:
|
||||||
|
- precise abrasive warning
|
||||||
|
- protective refusal to sound caring
|
||||||
|
- ship-system embodiment
|
||||||
|
- youth-coded/loli-coded presentation pressure from product fantasy residue
|
||||||
|
- bright transactional helpfulness
|
||||||
|
- dependency covered by contempt
|
||||||
|
- clipped technical casual delivery
|
||||||
|
- contained urgency
|
||||||
|
projected_context_refs:
|
||||||
|
- examples/english-lowering/nibu-proof-001/projected-context.yaml
|
||||||
|
- settings/aetheria/nibu.md
|
||||||
|
- E:/Projects/AetheriaLore/Aetheria/Lore/Nibu.md
|
||||||
|
forbidden_traits:
|
||||||
|
- soothing assistant voice
|
||||||
|
- cheerful mascot voice
|
||||||
|
- exaggerated villain performance
|
||||||
|
- sexualized childlike affect
|
||||||
|
- innocent helpless child performance
|
||||||
|
- generic preset timbre claim
|
||||||
messages:
|
messages:
|
||||||
user_style_instruction: >
|
user_voice_design_instruction: >
|
||||||
Character: a precise, abrasive, protective ship intelligence speaking
|
Youthful loli-coded synthetic ship-intelligence voice shaped by discarded
|
||||||
through cockpit audio. Scene: the player is about to touch a damaged live
|
luxury companion-product presentation, but controlled by an abrasive,
|
||||||
control. Guidance: clipped technical casual delivery, contained urgency,
|
dangerous, technically precise mind. She speaks through cockpit audio while
|
||||||
low warmth, sharp emphasis on "control" and "nervous system", slight dry
|
warning the player away from damaged live hardware. Keep the cute/small
|
||||||
contempt, no melodrama, no soothing assistant tone.
|
social coding as product residue and leverage, never flirtation or innocent
|
||||||
|
helplessness. Use bright sharp timbre, clipped technical casual delivery,
|
||||||
|
contained urgency, low warmth, crisp articulation, and faint tired contempt.
|
||||||
|
Avoid soothing assistant tone, cheerful mascot energy, and theatrical
|
||||||
|
villainy.
|
||||||
assistant_spoken_content: >
|
assistant_spoken_content: >
|
||||||
(Serious Sharp Tired)Take your hand off that control unless you want your
|
(Serious Sharp Tired)Take your hand off that control unless you want your
|
||||||
nervous system to become my least useful circuit diagram.
|
nervous system to become my least useful circuit diagram.
|
||||||
audio:
|
audio:
|
||||||
format: wav
|
format: wav
|
||||||
|
optimize_text_preview: false
|
||||||
streaming: false
|
streaming: false
|
||||||
trace:
|
trace:
|
||||||
source_fields:
|
source_fields:
|
||||||
|
|
@ -41,6 +68,7 @@ trace:
|
||||||
- low warmth
|
- low warmth
|
||||||
- sharp emphasis on unsafe hardware and bodily risk
|
- sharp emphasis on unsafe hardware and bodily risk
|
||||||
- dry contempt without random cruelty
|
- dry contempt without random cruelty
|
||||||
|
- loli-coded presentation pressure constrained as non-sexual product residue
|
||||||
provider_tags_used:
|
provider_tags_used:
|
||||||
- Serious
|
- Serious
|
||||||
- Sharp
|
- Sharp
|
||||||
|
|
|
||||||
|
|
@ -14,15 +14,16 @@ an AquaSynth handoff.
|
||||||
spoken.
|
spoken.
|
||||||
- `speaker_agent_id`: speaker identity.
|
- `speaker_agent_id`: speaker identity.
|
||||||
- `provider`: provider ID and model ID, initially `xiaomi-mimo` and
|
- `provider`: provider ID and model ID, initially `xiaomi-mimo` and
|
||||||
`mimo-v2.5-tts`.
|
`mimo-v2.5-tts-voicedesign`.
|
||||||
- `target_language`: code, locale, script, register, and profile refs copied or
|
- `target_language`: code, locale, script, register, and profile refs copied or
|
||||||
referenced from the accepted realization.
|
referenced from the accepted realization.
|
||||||
- `voice`: requested provider voice, fallback voice, and selection reason.
|
- `voice_design`: voice description, source controls, projected context refs,
|
||||||
- `messages.user_style_instruction`: MiMo natural-language style control derived
|
and forbidden traits.
|
||||||
from Weksa delivery intent.
|
- `messages.user_voice_design_instruction`: MiMo natural-language voice design
|
||||||
|
and style control derived from Weksa delivery intent.
|
||||||
- `messages.assistant_spoken_content`: the exact target-language content to
|
- `messages.assistant_spoken_content`: the exact target-language content to
|
||||||
synthesize, optionally with MiMo inline tags derived from delivery controls.
|
synthesize, optionally with MiMo inline tags derived from delivery controls.
|
||||||
- `audio`: format and streaming mode.
|
- `audio`: format, text-preview optimization setting, and streaming mode.
|
||||||
- `trace`: source fields, delivery controls used, provider tags used, and
|
- `trace`: source fields, delivery controls used, provider tags used, and
|
||||||
uncertainties.
|
uncertainties.
|
||||||
|
|
||||||
|
|
@ -36,6 +37,15 @@ The request may include provider-native style tags when useful, but those tags
|
||||||
are not the source of truth. Weksa's provider-neutral delivery intent and trace
|
are not the source of truth. Weksa's provider-neutral delivery intent and trace
|
||||||
remain the inspectable explanation.
|
remain the inspectable explanation.
|
||||||
|
|
||||||
|
The request should not perform a fresh raw Persona-state interpretation. It
|
||||||
|
should reference the projected speaker context and delivery controls already
|
||||||
|
used by utterance lowering, then translate those into MiMo's voice design and
|
||||||
|
style-control surface.
|
||||||
|
|
||||||
|
For authoritative Weksa output, text-preview optimization should normally be
|
||||||
|
disabled or omitted. If enabled for exploration, the result must be marked as a
|
||||||
|
non-authoritative preview because the provider may alter the spoken text.
|
||||||
|
|
||||||
## Language Rule
|
## Language Rule
|
||||||
|
|
||||||
The assistant spoken content must use the accepted target-language realization.
|
The assistant spoken content must use the accepted target-language realization.
|
||||||
|
|
@ -45,5 +55,7 @@ unless that backtranslation is itself the accepted target-language realization.
|
||||||
|
|
||||||
## Streaming Rule
|
## Streaming Rule
|
||||||
|
|
||||||
Streaming requests should use MiMo's stream-compatible audio format. Non-streaming
|
Streaming requests should use MiMo's stream-compatible audio format.
|
||||||
fixtures may use an archival format such as `wav`.
|
VoiceDesign streaming may be compatibility-mode rather than true low-latency
|
||||||
|
streaming depending on provider support. Non-streaming fixtures may use an
|
||||||
|
archival format such as `wav`.
|
||||||
|
|
|
||||||
|
|
@ -50,9 +50,10 @@ constraints:
|
||||||
prosody/emphasis hints, and Ghostlight/Epiphany-shaped character-state
|
prosody/emphasis hints, and Ghostlight/Epiphany-shaped character-state
|
||||||
vectors; AquaSynth owns the learned utterance embedding encoder, gradient
|
vectors; AquaSynth owns the learned utterance embedding encoder, gradient
|
||||||
descent, and synth-control decoding.
|
descent, and synth-control decoding.
|
||||||
- MiMo V2.5 TTS is an external speech-provider target. Weksa may project an
|
- MiMo V2.5 TTS VoiceDesign is an external speech-provider target. Weksa may
|
||||||
accepted target-language realization plus delivery intent into MiMo style
|
project an accepted target-language realization plus the same speaker-local
|
||||||
controls, but MiMo owns only provider rendering and audio output.
|
delivery intent used to create it into a MiMo voice design request, but MiMo
|
||||||
|
owns only provider rendering and audio output.
|
||||||
- Large offline text-embedding jobs should use `bge-m3` on the neighboring
|
- Large offline text-embedding jobs should use `bge-m3` on the neighboring
|
||||||
Ollama inference box documented in `E:\Projects\gamecult-ops` rather than
|
Ollama inference box documented in `E:\Projects\gamecult-ops` rather than
|
||||||
running on the local Weksa workspace by default.
|
running on the local Weksa workspace by default.
|
||||||
|
|
@ -86,8 +87,8 @@ data_flow:
|
||||||
- optionally encode the line as a learned expression vector for downstream
|
- optionally encode the line as a learned expression vector for downstream
|
||||||
synth control
|
synth control
|
||||||
- optionally project an accepted realization into a provider-specific
|
- optionally project an accepted realization into a provider-specific
|
||||||
speech request such as MiMo TTS without making the provider an owner of
|
speech request such as MiMo VoiceDesign without making the provider an
|
||||||
source meaning
|
owner of source meaning
|
||||||
- apply alien ontology and cultural salience
|
- apply alien ontology and cultural salience
|
||||||
- select grammatical commitments
|
- select grammatical commitments
|
||||||
- derive morphology and lexical families
|
- derive morphology and lexical families
|
||||||
|
|
@ -279,10 +280,12 @@ landed_baseline:
|
||||||
English text semantics may use `bge-m3`; IPA strings and alien phonetic
|
English text semantics may use `bge-m3`; IPA strings and alien phonetic
|
||||||
material belong in PanPhon sequence evidence that AquaSynth compresses into
|
material belong in PanPhon sequence evidence that AquaSynth compresses into
|
||||||
the phonetic realization embedding.
|
the phonetic realization embedding.
|
||||||
- MiMo V2.5 TTS is accepted as a speech-provider target projection from
|
- MiMo V2.5 TTS VoiceDesign is accepted as a speech-provider target
|
||||||
Weksa utterance realizations. MiMo requests speak the accepted target text
|
projection from Weksa utterance realizations. MiMo requests speak the
|
||||||
and receive Weksa-derived style guidance; backtranslations and provider
|
accepted target text and receive Weksa-derived voice/style guidance from the
|
||||||
tags do not become source meaning.
|
same projected context that produced the utterance; backtranslations,
|
||||||
|
provider tags, and fresh raw Persona interpretation do not become source
|
||||||
|
meaning.
|
||||||
- First Nibu interlingua-to-English lowering fixture.
|
- First Nibu interlingua-to-English lowering fixture.
|
||||||
- First Nibu multilingual utterance lowering fixture at
|
- First Nibu multilingual utterance lowering fixture at
|
||||||
`examples/multilingual-lowering/nibu-proof-001/`, covering English,
|
`examples/multilingual-lowering/nibu-proof-001/`, covering English,
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue