mirror of
https://github.com/mudler/LocalAI.git
synced 2026-10-10 07:47:29 -04:00
chore: ⬆️ Update 0xShug0/audio.cpp to cf124a67cc55d8f65a9a15eec69edbff0fb212c8 (#12421)
* ⬆️ Update 0xShug0/audio.cpp Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * fix(audio-cpp): mirror the turn detection task The upstream enum adds TurnDetection, so the exhaustive conversion fails to compile. Extend both conversions and preserve the RPC admission rules. Test that turn detection cannot route through VAD or another existing RPC. Assisted-by: Codex:gpt-6 --------- Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: mudler <2420543+mudler@users.noreply.github.com> Co-authored-by: localai-org-maint-bot <306269227+localai-org-maint-bot@users.noreply.github.com>
This commit is contained in:
6 files changed
+37
-7
No files matched your search
@@ -361,7 +361,8 @@ static void test_names_round_trip() {
|
||||
Task::SourceSeparation, Task::AudioGeneration, Task::Tts,
|
||||
Task::VoiceCloning, Task::VoiceConversion,
|
||||
Task::SpeechToSpeech, Task::Alignment, Task::VoiceDesign,
|
||||
Task::SpeakerRecognition, Task::Svc, Task::Midi};
|
||||
Task::SpeakerRecognition, Task::Svc, Task::Midi,
|
||||
Task::TurnDetection};
|
||||
for (const Task t : all) {
|
||||
Task parsed = Task::Vad;
|
||||
const bool ok = parse_task_name(task_name(t), parsed);
|
||||
@@ -567,7 +568,28 @@ static void test_unsupported_surface_message_with_empty_capabilities() {
|
||||
"empty-capability message says the family supports nothing");
|
||||
}
|
||||
|
||||
static void test_turn_detection_is_not_vad() {
|
||||
Task turn = Task::Vad;
|
||||
check(parse_task_name("turn", turn), "upstream turn task parses");
|
||||
check(std::string(task_name(turn)) == "turn", "turn task name round-trips");
|
||||
Capabilities caps{"smart_turn", {{turn, {Mode::Offline}}}};
|
||||
const Rpc all[] = {Rpc::Tts, Rpc::TtsStream, Rpc::AudioTranscription,
|
||||
Rpc::AudioTranscriptionStream, Rpc::AudioTranscriptionLive,
|
||||
Rpc::Vad, Rpc::Diarize, Rpc::SoundGeneration, Rpc::AudioTransform};
|
||||
for (const auto rpc : all) {
|
||||
check(!resolve_route(rpc, RequestShape{}, caps).ok,
|
||||
"turn detection cannot serve an existing RPC");
|
||||
RequestShape pinned;
|
||||
pinned.pinned_task = "turn";
|
||||
check(!resolve_route(rpc, pinned, caps).ok,
|
||||
"pinning turn detection cannot bypass RPC admission");
|
||||
}
|
||||
check(describe_capabilities(caps).find("turn/offline") != std::string::npos,
|
||||
"turn detection has an accurate capability diagnostic");
|
||||
}
|
||||
|
||||
int main() {
|
||||
test_turn_detection_is_not_vad();
|
||||
test_plain_tts();
|
||||
test_tts_with_voice_reference_prefers_cloning();
|
||||
test_tts_voice_reference_falls_back_to_tts();
|
||||
|
||||
Reference in new issue
Block a user