Azure AI VoiceLive for Java
Build real-time, bidirectional AI voice conversations in Java over WebSocket.
It presents API-key and DefaultAzureCredential authentication and recommends managed identity, but it does not explain audio, transcription, or function-call data flows, privacy retention, least-privilege requirements, user confirmation, or server-side external effects. Sensitive-data handling and recovery boundaries are absent, so points are deducted.
The main workflow, audio parameters, and error-handling examples are reasonably detailed, but event class names, method signatures, and examples may be inconsistent. Async subscription, backpressure, lifecycle, and reconnect behavior are not diagnostically controlled, and no skill-specific key-path tests are shown; the static calibration therefore limits the score.
Triggers, Java SDK scope, and real-time voice scenarios are clear, covering API keys, managed identity, audio, VAD, events, and function calling. However, non-fit cases, regional availability, Chinese voice support, and mainland-China network reachability are not stated, leaving important boundary evidence missing.
The skill includes installation, environment variables, authentication, workflow, voice configuration, function calling, error handling, references, MIT licensing, author, and version metadata. However, the dependency is beta, there is no compatibility matrix, changelog, detailed maintenance path, troubleshooting section, or complete limitations disclosure; the supplied reference example is visibly truncated.
The material covers client creation, session setup, audio streaming, event handling, and function calling, so it could support generation of a basic VoiceLive Java implementation. No build or runtime result is included, and API/type accuracy and resource-lifecycle correctness remain uncertain, requiring substantial user verification and likely revision.
SDK source and sample links, pinned dependency versions, and repository CI/test materials provide limited traceability. This review is static only; no skill-specific tests, build evidence, or independent corroboration are shown, and the key references are not actually reproduced in the supplied material, so points are deducted.
- Do not treat the examples as directly runnable; compile them against the target beta.2 SDK and verify event types, method signatures, and dependency versions first.
- Audio, transcription, personal voices, and function calling may involve sensitive data or external effects; add application-level notice, authorization, least privilege, log redaction, and confirmation before function execution.
- Add explicit session closure, disconnect, reconnect, timeout, rate-limit, backpressure, and microphone/speaker resource-cleanup guidance.
- Confirm Azure VoiceLive availability for the target region, account, mainland-China network environment, and Chinese-language voice requirements.
What it does & when to use it
This skill is for Java developers using the Azure AI VoiceLive SDK to create real-time, bidirectional voice sessions. It covers Maven installation, API-key and DefaultAzureCredential authentication, WebSocket session startup, reactive event handling, and audio streaming. The examples define 24 kHz, 16-bit, mono PCM requirements and show turn detection, transcription, noise reduction, echo cancellation, interruption handling, and function calling. It is a practical fit for Java voice-assistant projects, although the source does not document complete testing or production deployment procedures.
Shows how to add the azure-ai-voicelive Maven dependency, read the VoiceLive endpoint and credential environment variables, create a VoiceLiveAsyncClient, start a WebSocket session, and configure voice, modalities, audio formats, sampling rate, transcription, and server-side voice activity detection. It demonstrates sending PCM16 audio chunks, subscribing to session events, playing response audio deltas, handling completion and error events, and configuring OpenAI, Azure Standard, Azure Custom, and Azure Personal voices.
- A Java team building an assistant that listens and responds to users in real time.
- A developer streaming PCM16 microphone audio to VoiceLive over WebSocket.
- A conversational application using server-side voice activity detection for turn-taking and interruptions.
- A Java project enabling Whisper transcription, noise reduction, or echo cancellation for voice input.
- A developer adding custom functions such as weather lookup to a voice assistant.
Pros & cons
- Provides copyable Java examples for client creation, session configuration, and event handling.
- Documents both API-key and DefaultAzureCredential authentication.
- Covers voice activity detection, interruptions, transcription, noise reduction, echo cancellation, and function calling.
- Clearly specifies the required real-time audio format and response-audio event handling.
- The SDK dependency is versioned as 1.0.0-beta.2, a beta release.
- The source provides no skill-specific test scenarios or acceptance results.
- Examples require an external Azure VoiceLive endpoint and real-time WebSocket connectivity.
- Microphone capture, audio playback, and a complete production deployment are not implemented.
How to install
Install the Microsoft Agent Skills collection with:
npx skills add microsoft/skills
Select azure-ai-voicelive-java in the installation wizard. The repository states that skills are installed into the selected agent directory, such as .github/skills/ for GitHub Copilot; the exact destination is determined by the wizard.
How to use
Ask a coding agent using a trigger such as "VoiceLiveClient java", "voice assistant java", "real-time voice java", "audio streaming java", or "voice activity detection java". Add com.azure:azure-ai-voicelive:1.0.0-beta.2, set AZURE_VOICELIVE_ENDPOINT, and choose AzureKeyCredential or DefaultAzureCredential. Start a session with VoiceLiveAsyncClient, configure VoiceLiveSessionOptions, send 24 kHz, 16-bit, mono, signed little-endian PCM audio, and subscribe to the event stream.