@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-deploy-20260404182525
3
+ ## 0.0.0-studio-cli-20260504022012
4
4
 
5
5
  ### Patch Changes
6
6
 
7
- - Updated dependencies [[`c55b527`](https://github.com/mastra-ai/mastra/commit/c55b52758a31368b2077b0dbbc3badfe4063f560), [`7eb2596`](https://github.com/mastra-ai/mastra/commit/7eb25960d607e07468c9a10c5437abd2deaf1e9a)]:
8
- - @mastra/core@0.0.0-studio-deploy-20260404182525
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
 
@@ -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-deploy-20260404182525"
6
+ version: "0.0.0-studio-cli-20260504022012"
7
7
  ---
8
8
 
9
9
  ## When to use
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.0-studio-deploy-20260404182525",
2
+ "version": "0.0.0-studio-cli-20260504022012",
3
3
  "package": "@mastra/voice-google",
4
4
  "exports": {},
5
5
  "modules": {}
@@ -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 | 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
- | ElevenLabs | `@mastra/voice-elevenlabs` | High-quality TTS | [Documentation](https://mastra.ai/reference/voice/elevenlabs) |
335
- | PlayAI | `@mastra/voice-playai` | TTS | [Documentation](https://mastra.ai/reference/voice/playai) |
336
- | Google | `@mastra/voice-google` | TTS, STT | [Documentation](https://mastra.ai/reference/voice/google) |
337
- | Deepgram | `@mastra/voice-deepgram` | STT | [Documentation](https://mastra.ai/reference/voice/deepgram) |
338
- | Murf | `@mastra/voice-murf` | TTS | [Documentation](https://mastra.ai/reference/voice/murf) |
339
- | Speechify | `@mastra/voice-speechify` | TTS | [Documentation](https://mastra.ai/reference/voice/speechify) |
340
- | Sarvam | `@mastra/voice-sarvam` | TTS, STT | [Documentation](https://mastra.ai/reference/voice/sarvam) |
341
- | Azure | `@mastra/voice-azure` | TTS, STT | [Documentation](https://mastra.ai/reference/voice/mastra-voice) |
342
- | Cloudflare | `@mastra/voice-cloudflare` | TTS | [Documentation](https://mastra.ai/reference/voice/mastra-voice) |
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) - Detailed API documentation for voice capabilities
347
- - [Text to Speech Examples](https://github.com/mastra-ai/voice-examples/tree/main/text-to-speech) - Interactive story generator and other TTS implementations
348
- - [Speech to Text Examples](https://github.com/mastra-ai/voice-examples/tree/main/speech-to-text) - Voice memo app and other STT implementations
349
- - [Speech to Speech Examples](https://github.com/mastra-ai/voice-examples/tree/main/speech-to-speech) - Real-time voice conversation with call analysis
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: 'default', // Optional: specify a 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
- name: 'sarvam-voice', // Example model name
806
+ model: 'bulbul:v3', // TTS model (bulbul:v2 or bulbul:v3)
764
807
  apiKey: process.env.SARVAM_API_KEY,
765
- language: 'en-IN', // Language code
766
- style: 'conversational', // Style setting
808
+ language: 'en-IN', // BCP-47 language code
767
809
  },
768
- // Sarvam may not have a separate listening model
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-deploy-20260404182525",
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.0.18",
33
- "@vitest/ui": "4.0.18",
34
- "eslint": "^9.39.4",
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": "^5.9.3",
37
- "vitest": "4.0.18",
38
- "@internal/lint": "0.0.0-studio-deploy-20260404182525",
39
- "@internal/types-builder": "0.0.0-studio-deploy-20260404182525",
40
- "@mastra/core": "0.0.0-studio-deploy-20260404182525"
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-deploy-20260404182525"
44
+ "@mastra/core": "0.0.0-studio-cli-20260504022012"
45
45
  },
46
46
  "homepage": "https://mastra.ai",
47
47
  "repository": {