feat(asr): support additional Bailian speech models - #866
Conversation
PR Reviewer Guide 🔍(Review updated until commit ca04810)Here are some key observations to aid the review process:
|
|
Follow-up on the PR-Agent 8 kHz tail note: the decimator intentionally keeps source indices 0, 2, 4, ... . Therefore, when a stream ends after three complete 16 kHz samples, the buffered third sample is the next kept 8 kHz sample rather than half of an output pair. Signed commit |
|
Persistent review updated to latest commit a58630b |
…#866) - route paraformer-8k-realtime / sensevoice-8k-realtime to classic WebSocket, matching the 8k downsample naming space in bailian.rs - downsample 16k->8k with pairwise averaging (first-order low-pass) instead of pure decimation to reduce aliasing; drop the lone tail sample on flush - cap async provider validation at 120s (60s poll) instead of 660s so the validate button cannot block for nearly 11 minutes - join async transcript segments with a space so latin-script words do not get glued together
|
Persistent review updated to latest commit 853442c |
…en-Less#866) - qwen3-asr-flash-filetrans only accepts public URLs per DashScope docs; it is incompatible with the local-recording temporary OSS + oss:// path, so reject it in protocol_for_model / routing / picker / docs instead of shipping a model that would silently fail on real recordings - simplify async_transcription_body / extract_async_result_url to the single fun-asr results shape - add bounded retry (exponential backoff, deadline-capped) to async task polling and result download so one transient network blip does not discard an entire recording
|
Persistent review updated to latest commit bc9830d |
Resolve conflicts with Open-Less#876 (qwen-audio-3.0-asr-flash batch support): - route qwen-audio-3.0-asr-flash through protocol_for_model as DashScopeBatchProtocol::Multimodal (streaming variants stay rejected) - drop is_supported_model in favor of protocol_for_model everywhere - keep PR's async transcription / polling / 8k downsample changes intact
|
Persistent review updated to latest commit 2b0c0e8 |
…-Less#866) Merge with beta Open-Less#876 brought qwen-audio-3.0-asr-flash into the model picker and protocol routing; keep the model reference doc in sync and note that -streaming variants are not supported.
|
Persistent review updated to latest commit ca04810 |
|
不要动这个PR,等CI跑过我就合并 |
User description
Closes #850
Summary
Verification
Notes
DashScope temporary OSS upload is documented as a development and low-concurrency path. The added documentation calls out that limitation for users.
PR Type
Enhancement, Tests, Documentation
Description
Relax Bailian ASR whitelist via model-family routing
Add async transcription with temporary OSS upload and polling
Support 8k realtime models through 16k-to-8k downsampling
Align mobile routing, validation, docs, and localized hints
Diagram Walkthrough
flowchart LR A["User selects Bailian model"] --> B{"Model prefix?"} B -- "*-realtime / 8k realtime" --> C["Classic WebSocket"] B -- "qwen3-asr-flash-realtime*" --> D["Qwen Realtime WebSocket"] B -- "fun-asr-flash* / qwen3-asr-flash" --> E["Synchronous Multimodal"] B -- "fun-asr / fun-asr-mtl / paraformer" --> F["Async Transcription + Poll"]File Walkthrough
6 files
Add 8 kHz model support with PCM downsamplingImplement async transcription and model-family routingExtend model picker and route-aware validationRelax whitelist and align desktop/mobile routingUse model-aware dynamic DashScope timeoutsShow protocol hints and extend mobile Bailian UI1 files
Make DashScope transcription cancellation-aware5 files
Add sync/async ASR hints in EnglishAdd sync/async ASR hints in JapaneseAdd sync/async ASR hints in KoreanAdd sync/async ASR hints in Simplified ChineseAdd sync/async ASR hints in Traditional Chinese1 files
Document Bailian model families and endpoints