[draft] Add NVIDIA Riva plugin with STT and TTS support #963
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
Ports the NVIDIA Riva STT and TTS plugins from the Python
livekit/agentsrepository to TypeScript forlivekit/agents-js. This enables LiveKit Agents to use NVIDIA's Riva speech services for speech recognition and synthesis.Changes Made
@livekit/agents-plugin-nvidiapackage with STT and TTS implementationsNVIDIA_API_KEYto turbo.json globalEnvexamples/src/nvidia_agent.ts) demonstrating NVIDIA STT and TTS usagePre-Review Checklist
Testing
pnpm build)pnpm lint)Important Review Notes
Key areas requiring careful review:
gRPC Implementation: The code uses
grpc.makeGenericClientConstructorwith JSON serialization. Reviewers should verify this approach works with NVIDIA Riva's protobuf-based API, or if proper.protofiles need to be used instead.Type Casting: Several
as unknown ascasts are used for gRPC client types (stt.ts:198, tts.ts:130, tts.ts:290). These work around TypeScript but may hide runtime issues.Default Function IDs: Hardcoded function IDs (
1598d209-5e27-4d3c-8079-4751568b1081for STT,877104f7-e885-42b9-8de8-f6e4c6303969for TTS) - verify these are correct/current.Additional Notes
Updates Since Last Revision
minortopatch1.0.0examples/src/nvidia_agent.ts) using NVIDIA STT and TTSLink to Devin run: https://livekit.devinenterprise.com/sessions/ca0209fd85d4460ebe1eab7ed2be31ea
Requested by: @toubatbrian
Note to reviewers: Please ensure the pre-review checklist is completed before starting your review. Runtime testing with NVIDIA credentials is recommended before merging.