Add optional FunASR/SenseVoice voice transcription - #289
Conversation
Preserve the browser voice lifecycle, refresh generated requirements, and normalize SenseVoice rich transcription output. Signed-off-by: LauraGPT <LauraGPT@users.noreply.github.com>
|
Resynced this branch with Row-Bot 4.7.0 The new upstream overlap was confined to README. The resolution retains the complete 4.7.0 platform/app/extensibility rows and the FunASR/SenseVoice voice entry. Real-provider validation also exposed that the existing Fresh exact-tree evidence:
The coverage command still exposes an upstream test-fixture race: 9 unchanged workflow tests can let background SQLite work outlive pytest's shared basetemp when coverage slows execution. Those exact four test files pass 21/21 independently, and the complete non-coverage deterministic suite is green. No production workflow code was changed for that unrelated fixture behavior. Fork workflows may require maintainer approval before Actions jobs appear. |
Signed-off-by: LauraGPT <LauraGPT@users.noreply.github.com>
Preserve the Row-Bot 4.7.0 documentation and add the PyTorch audio runtime dependencies required by the optional FunASR/SenseVoice provider. Signed-off-by: LauraGPT <LauraGPT@users.noreply.github.com>
Signed-off-by: Siddharth Sachar <siddsachar@gmail.com>
|
Implemented and pushed the saved SenseVoice hardening plan to this existing contributor branch (no force-push, no new PR, and not merged). Commits:
What changed:
Post-merge validation: Python 3.12 target resolution using
Warnings/known local-environment notes:
Manual/live validation:
No approval or merge was performed. |
|
Live app + real-cache follow-up validation (Windows x64) Pushed follow-up commit Real user workflowTested the ordinary local owner app in the in-app browser against the existing user data directory.
Real offline CPU inferenceUsing the real persisted
The probe completed successfully in about 11 seconds end to end with no network attempt. Automated validationFocused commands: .venv\Scripts\python.exe -m pytest tests\test_settings_overhaul_contracts.py -q
.venv\Scripts\python.exe -m pytest tests\test_voice_sensevoice.py tests\test_voice_runtime.py tests\test_voice_provider_catalog.py tests\test_voice_providers.py tests\test_settings_overhaul_contracts.py tests\test_browser_local_voice.py tests\subsystem\test_source_test_map.py -qResults: 15 passed; then 61 passed. Changed-source gate: uv run python scripts/run_test_matrix.py changed --base origin/main
$env:PYTEST_ADDOPTS='--basetemp=.tmp/pytest_tmp_pr289_live_changed'
uv run python scripts/run_test_matrix.py changed --base origin/main
.venv\Scripts\python.exe -m pytest tests\test_agent_runner.py::test_child_skill_snapshot_starts_profile_skills_and_loads_others_task_locally -q --basetemp=.tmp\pytest_tmp_pr289_agent_isolated -p no:cacheprovider
Full PR gate: $env:PYTEST_ADDOPTS='--basetemp=.tmp/pytest_tmp_pr289_live_pr -p no:cacheprovider'
uv run python scripts/run_test_matrix.py prPassed in 914.4 seconds:
Warnings/limitations:
|
|
OSV follow-up pushed as Root cause: the OSV baseline exceptions expired on 2026-07-31. The failed scan then exposed both newly fixable dependency findings and a few findings whose compatible upstream fixes are not available yet. What changed:
Validation:
GitHub status: PR head is |
Summary
voiceextra self-contained by installing compatible CPUtorchandtorchaudiobuilds with FunASRCloses #152.
Validation
Exact signed head:
d3de864b743d650c1afe5d9c5d77181ac35d81b2, merged withmain@ab3997d74852ea18f1e4ecad8295052034333ab2.voice-only environment:torch 2.12.1+cpuandtorchaudio 2.11.0+cpuimport togetheriic/SenseVoiceSmallCPU inference: every checkpoint key matched and the official 16 kHz sample transcribed as欢迎大家来体验达摩院推出的语音识别模型。