@mastra/voice-google 0.0.0-studio-deploy-20260404182525 → 0.0.0-studio-cli-20260504022012
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# @mastra/voice-google
|
|
2
2
|
|
|
3
|
-
## 0.0.0-studio-
|
|
3
|
+
## 0.0.0-studio-cli-20260504022012
|
|
4
4
|
|
|
5
5
|
### Patch Changes
|
|
6
6
|
|
|
7
|
-
- Updated dependencies [[`
|
|
8
|
-
- @mastra/core@0.0.0-studio-
|
|
7
|
+
- Updated dependencies [[`6dcd65f`](https://github.com/mastra-ai/mastra/commit/6dcd65f2a34069e6dc43ba35f1d11119b9b40bef), [`c05c9a1`](https://github.com/mastra-ai/mastra/commit/c05c9a13230988cef6d438a62f37760f31927bc7), [`e24aacb`](https://github.com/mastra-ai/mastra/commit/e24aacba07bd66f5d95b636dc24016fca26b52cf), [`1c2dda8`](https://github.com/mastra-ai/mastra/commit/1c2dda805fbfccc0abf55d4cb20cc34402dc3f0c), [`c721164`](https://github.com/mastra-ai/mastra/commit/c7211643f7ac861f83b19a3757cc921487fc9d75), [`1b55954`](https://github.com/mastra-ai/mastra/commit/1b559541c1e08a10e49d01ffc51a634dfc37a286), [`5adc55e`](https://github.com/mastra-ai/mastra/commit/5adc55e63407be8ee977914957d68bcc2a075ceb), [`70017d7`](https://github.com/mastra-ai/mastra/commit/70017d72ab741b5d7040e2a15c251a317782e39e), [`e4942bc`](https://github.com/mastra-ai/mastra/commit/e4942bc7fdc903572f7d84f26d5e15f9d39c763d)]:
|
|
8
|
+
- @mastra/core@0.0.0-studio-cli-20260504022012
|
|
9
9
|
|
|
10
10
|
## 0.12.0
|
|
11
11
|
|
package/dist/docs/SKILL.md
CHANGED
|
@@ -3,7 +3,7 @@ name: mastra-voice-google
|
|
|
3
3
|
description: Documentation for @mastra/voice-google. Use when working with @mastra/voice-google APIs, configuration, or implementation.
|
|
4
4
|
metadata:
|
|
5
5
|
package: "@mastra/voice-google"
|
|
6
|
-
version: "0.0.0-studio-
|
|
6
|
+
version: "0.0.0-studio-cli-20260504022012"
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
## When to use
|
|
@@ -327,23 +327,24 @@ For the complete list of supported AI SDK providers and their capabilities:
|
|
|
327
327
|
|
|
328
328
|
Mastra supports multiple voice providers for text-to-speech (TTS) and speech-to-text (STT) capabilities:
|
|
329
329
|
|
|
330
|
-
| Provider | Package | Features
|
|
331
|
-
| --------------- | ------------------------------- |
|
|
332
|
-
| OpenAI | `@mastra/voice-openai` | TTS, STT
|
|
333
|
-
| OpenAI Realtime | `@mastra/voice-openai-realtime` | Realtime speech-to-speech
|
|
334
|
-
|
|
|
335
|
-
|
|
|
336
|
-
|
|
|
337
|
-
|
|
|
338
|
-
|
|
|
339
|
-
|
|
|
340
|
-
|
|
|
341
|
-
|
|
|
342
|
-
|
|
|
330
|
+
| Provider | Package | Features | Reference |
|
|
331
|
+
| --------------- | ------------------------------- | ----------------------------------------- | ------------------------------------------------------------------ |
|
|
332
|
+
| OpenAI | `@mastra/voice-openai` | TTS, STT | [Documentation](https://mastra.ai/reference/voice/openai) |
|
|
333
|
+
| OpenAI Realtime | `@mastra/voice-openai-realtime` | Realtime speech-to-speech | [Documentation](https://mastra.ai/reference/voice/openai-realtime) |
|
|
334
|
+
| AWS Nova Sonic | `@mastra/voice-aws-nova-sonic` | Realtime speech-to-speech via AWS Bedrock | [Documentation](https://mastra.ai/reference/voice/aws-nova-sonic) |
|
|
335
|
+
| ElevenLabs | `@mastra/voice-elevenlabs` | High-quality TTS | [Documentation](https://mastra.ai/reference/voice/elevenlabs) |
|
|
336
|
+
| PlayAI | `@mastra/voice-playai` | TTS | [Documentation](https://mastra.ai/reference/voice/playai) |
|
|
337
|
+
| Google | `@mastra/voice-google` | TTS, STT | [Documentation](https://mastra.ai/reference/voice/google) |
|
|
338
|
+
| Deepgram | `@mastra/voice-deepgram` | STT | [Documentation](https://mastra.ai/reference/voice/deepgram) |
|
|
339
|
+
| Murf | `@mastra/voice-murf` | TTS | [Documentation](https://mastra.ai/reference/voice/murf) |
|
|
340
|
+
| Speechify | `@mastra/voice-speechify` | TTS | [Documentation](https://mastra.ai/reference/voice/speechify) |
|
|
341
|
+
| Sarvam | `@mastra/voice-sarvam` | TTS, STT | [Documentation](https://mastra.ai/reference/voice/sarvam) |
|
|
342
|
+
| Azure | `@mastra/voice-azure` | TTS, STT | [Documentation](https://mastra.ai/reference/voice/mastra-voice) |
|
|
343
|
+
| Cloudflare | `@mastra/voice-cloudflare` | TTS | [Documentation](https://mastra.ai/reference/voice/mastra-voice) |
|
|
343
344
|
|
|
344
345
|
## Next steps
|
|
345
346
|
|
|
346
|
-
- [Voice API Reference](https://mastra.ai/reference/voice/mastra-voice)
|
|
347
|
-
- [Text to Speech Examples](https://github.com/mastra-ai/voice-examples/tree/main/text-to-speech)
|
|
348
|
-
- [Speech to Text Examples](https://github.com/mastra-ai/voice-examples/tree/main/speech-to-text)
|
|
349
|
-
- [Speech to Speech Examples](https://github.com/mastra-ai/voice-examples/tree/main/speech-to-speech)
|
|
347
|
+
- [Voice API Reference](https://mastra.ai/reference/voice/mastra-voice): Detailed API documentation for voice capabilities
|
|
348
|
+
- [Text to Speech Examples](https://github.com/mastra-ai/voice-examples/tree/main/text-to-speech): Interactive story generator and other TTS implementations
|
|
349
|
+
- [Speech to Text Examples](https://github.com/mastra-ai/voice-examples/tree/main/speech-to-text): Voice memo app and other STT implementations
|
|
350
|
+
- [Speech to Speech Examples](https://github.com/mastra-ai/voice-examples/tree/main/speech-to-speech): Real-time voice conversation with call analysis
|
|
@@ -265,7 +265,7 @@ const { text } = await voiceAgent.generate('What color is the sky?')
|
|
|
265
265
|
|
|
266
266
|
// Convert text to speech to an Audio Stream
|
|
267
267
|
const audioStream = await voiceAgent.voice.speak(text, {
|
|
268
|
-
speaker: '
|
|
268
|
+
speaker: 'shubh', // Optional: specify a bulbul:v3 speaker
|
|
269
269
|
})
|
|
270
270
|
|
|
271
271
|
playAudio(audioStream)
|
|
@@ -588,6 +588,49 @@ await voiceAgent.voice.send(micStream)
|
|
|
588
588
|
|
|
589
589
|
Visit the [Google Gemini Live Reference](https://mastra.ai/reference/voice/google-gemini-live) for more information on the Google Gemini Live voice provider.
|
|
590
590
|
|
|
591
|
+
**AWS Nova Sonic**:
|
|
592
|
+
|
|
593
|
+
```typescript
|
|
594
|
+
import { Agent } from '@mastra/core/agent'
|
|
595
|
+
import { playAudio, getMicrophoneStream } from '@mastra/node-audio'
|
|
596
|
+
import { NovaSonicVoice } from '@mastra/voice-aws-nova-sonic'
|
|
597
|
+
|
|
598
|
+
const voiceAgent = new Agent({
|
|
599
|
+
id: 'voice-agent',
|
|
600
|
+
name: 'Voice Agent',
|
|
601
|
+
instructions: 'You are a voice assistant that can help users with their tasks.',
|
|
602
|
+
model: 'openai/gpt-5.4',
|
|
603
|
+
voice: new NovaSonicVoice({
|
|
604
|
+
region: 'us-east-1',
|
|
605
|
+
speaker: 'matthew',
|
|
606
|
+
// Static credentials are optional. The default AWS credential
|
|
607
|
+
// provider chain is used when none are passed.
|
|
608
|
+
}),
|
|
609
|
+
})
|
|
610
|
+
|
|
611
|
+
// Connect before using speak/send
|
|
612
|
+
await voiceAgent.voice.connect()
|
|
613
|
+
|
|
614
|
+
// Listen for assistant audio (Int16Array PCM)
|
|
615
|
+
voiceAgent.voice.on('speaking', ({ audioData }) => {
|
|
616
|
+
if (audioData) playAudio(audioData)
|
|
617
|
+
})
|
|
618
|
+
|
|
619
|
+
// Listen for transcribed text
|
|
620
|
+
voiceAgent.voice.on('writing', ({ text, role }) => {
|
|
621
|
+
console.log(`${role}: ${text}`)
|
|
622
|
+
})
|
|
623
|
+
|
|
624
|
+
// Initiate the conversation
|
|
625
|
+
await voiceAgent.voice.speak('How can I help you today?')
|
|
626
|
+
|
|
627
|
+
// Send continuous audio from the microphone
|
|
628
|
+
const micStream = getMicrophoneStream()
|
|
629
|
+
await voiceAgent.voice.send(micStream)
|
|
630
|
+
```
|
|
631
|
+
|
|
632
|
+
Visit the [AWS Nova Sonic Reference](https://mastra.ai/reference/voice/aws-nova-sonic) for more information on the AWS Nova Sonic voice provider.
|
|
633
|
+
|
|
591
634
|
## Voice configuration
|
|
592
635
|
|
|
593
636
|
Each voice provider can be configured with different models and options. Below are the detailed configuration options for all supported providers:
|
|
@@ -760,12 +803,15 @@ Visit the [Speechify Voice Reference](https://mastra.ai/reference/voice/speechif
|
|
|
760
803
|
// Sarvam Voice Configuration
|
|
761
804
|
const voice = new SarvamVoice({
|
|
762
805
|
speechModel: {
|
|
763
|
-
|
|
806
|
+
model: 'bulbul:v3', // TTS model (bulbul:v2 or bulbul:v3)
|
|
764
807
|
apiKey: process.env.SARVAM_API_KEY,
|
|
765
|
-
language: 'en-IN', //
|
|
766
|
-
style: 'conversational', // Style setting
|
|
808
|
+
language: 'en-IN', // BCP-47 language code
|
|
767
809
|
},
|
|
768
|
-
|
|
810
|
+
listeningModel: {
|
|
811
|
+
model: 'saarika:v2.5', // STT model (saarika:v2.5 or saaras:v3)
|
|
812
|
+
apiKey: process.env.SARVAM_API_KEY,
|
|
813
|
+
},
|
|
814
|
+
speaker: 'shubh', // Default bulbul:v3 speaker
|
|
769
815
|
})
|
|
770
816
|
```
|
|
771
817
|
|
|
@@ -825,6 +871,28 @@ const voice = new GeminiLiveVoice({
|
|
|
825
871
|
|
|
826
872
|
Visit the [Google Gemini Live Reference](https://mastra.ai/reference/voice/google-gemini-live) for more information on the Google Gemini Live voice provider.
|
|
827
873
|
|
|
874
|
+
**AWS Nova Sonic**:
|
|
875
|
+
|
|
876
|
+
```typescript
|
|
877
|
+
// AWS Nova Sonic Voice Configuration
|
|
878
|
+
const voice = new NovaSonicVoice({
|
|
879
|
+
region: 'us-east-1',
|
|
880
|
+
speaker: 'matthew',
|
|
881
|
+
sessionConfig: {
|
|
882
|
+
inferenceConfiguration: {
|
|
883
|
+
temperature: 0.7,
|
|
884
|
+
maxTokens: 1024,
|
|
885
|
+
},
|
|
886
|
+
turnDetectionConfiguration: {
|
|
887
|
+
endpointingSensitivity: 'MEDIUM',
|
|
888
|
+
},
|
|
889
|
+
},
|
|
890
|
+
// AWS Nova Sonic is a realtime bidirectional API without separate speech and listening models
|
|
891
|
+
})
|
|
892
|
+
```
|
|
893
|
+
|
|
894
|
+
Visit the [AWS Nova Sonic Reference](https://mastra.ai/reference/voice/aws-nova-sonic) for more information on the AWS Nova Sonic voice provider.
|
|
895
|
+
|
|
828
896
|
**AI SDK**:
|
|
829
897
|
|
|
830
898
|
```typescript
|
|
@@ -954,6 +1022,7 @@ For more information on the CompositeVoice, refer to the [CompositeVoice Referen
|
|
|
954
1022
|
- [Azure Voice](https://mastra.ai/reference/voice/azure)
|
|
955
1023
|
- [Google Voice](https://mastra.ai/reference/voice/google)
|
|
956
1024
|
- [Google Gemini Live Voice](https://mastra.ai/reference/voice/google-gemini-live)
|
|
1025
|
+
- [AWS Nova Sonic Voice](https://mastra.ai/reference/voice/aws-nova-sonic)
|
|
957
1026
|
- [Deepgram Voice](https://mastra.ai/reference/voice/deepgram)
|
|
958
1027
|
- [PlayAI Voice](https://mastra.ai/reference/voice/playai)
|
|
959
1028
|
- [Voice Examples](https://github.com/mastra-ai/voice-examples)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/voice-google",
|
|
3
|
-
"version": "0.0.0-studio-
|
|
3
|
+
"version": "0.0.0-studio-cli-20260504022012",
|
|
4
4
|
"description": "Mastra Google voice integration",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -29,19 +29,19 @@
|
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@types/node": "22.19.15",
|
|
32
|
-
"@vitest/coverage-v8": "4.
|
|
33
|
-
"@vitest/ui": "4.
|
|
34
|
-
"eslint": "^
|
|
32
|
+
"@vitest/coverage-v8": "4.1.5",
|
|
33
|
+
"@vitest/ui": "4.1.5",
|
|
34
|
+
"eslint": "^10.2.1",
|
|
35
35
|
"tsup": "^8.5.1",
|
|
36
|
-
"typescript": "^
|
|
37
|
-
"vitest": "4.
|
|
38
|
-
"@
|
|
39
|
-
"@internal/types-builder": "0.0.0-studio-
|
|
40
|
-
"@
|
|
36
|
+
"typescript": "^6.0.3",
|
|
37
|
+
"vitest": "4.1.5",
|
|
38
|
+
"@mastra/core": "0.0.0-studio-cli-20260504022012",
|
|
39
|
+
"@internal/types-builder": "0.0.0-studio-cli-20260504022012",
|
|
40
|
+
"@internal/lint": "0.0.0-studio-cli-20260504022012"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
43
|
"zod": "^3.25.0 || ^4.0.0",
|
|
44
|
-
"@mastra/core": "0.0.0-studio-
|
|
44
|
+
"@mastra/core": "0.0.0-studio-cli-20260504022012"
|
|
45
45
|
},
|
|
46
46
|
"homepage": "https://mastra.ai",
|
|
47
47
|
"repository": {
|