Maskinoversættelse · Engelsk original
p99 og VAP - Turn- take modeller
p99 estimerer end- of- turn sandsynlighed fra en lydkanal. VAP prognoser tale aktivitet fra synkroniserede bruger og agent kanaler. Applikationen bruger disse scorer til at beslutte, hvornår du skal svare eller afbryde.
Byg SDK fra kilde til disse API 'er. Swift bruger SpeechVAD; C++ kræver SPEECH _ CORE _ WITH _ ONNX = ON. Android API anvendelser ONNX RuntimeDisse selvstændige API 'er lader de eksisterende rørledningsdefekter være på plads.
Modeller
| p99 turn-1-mini | 5.3M * CoreML · Float32 | 16 kHz · 160 ms · 1 lm | Apache-2.0 |
|---|---|---|---|
| VAP (otoTale) | 5.8M · CoreML / ONNX · Float32 | 16 kHz · 20 s · 2 lm | CC BY 4.0 / MIT |
Swift API
p99 buffere ufuldstændige trin. Hver 160 ms trin returnerer otte 20 MS rammer. Brug availableAfterSeconds for beslutning timing, og nulstille sessionen mellem samtaler.
import SpeechVAD
let p99 = try await P99TurnModel.fromPretrained()
let session = try p99.createSession()
let frames = try session.pushAudio(pcm16k)
for frame in frames {
print(frame.probability, frame.availableAfterSeconds)
}
try session.reset()
let vap = try await VAPModel.fromPretrained()
let forecast = try vap.forecast(userAudio: userPcm, agentAudio: agentPcm)
print(forecast.pNow, forecast.pFuture, forecast.voiceActivity)VAP bruger de nyeste 20 sekunder på 16 kHz. Tilvejebringelse af lige lange kanaler og nuller til en inaktiv agent. Kortere indgange modtager førende stilhed. Hver prognose genberegner vinduet; vælger et forespørgselsinterval, der passer til enheden.
C++
#include <speech_core/models/onnx_vap.h>
speech_core::OnnxVap model("models/vap.onnx");
auto forecast = model.forecast(user.data(), agent.data(), user.size(), 16000);
// p_now[0]: user, p_now[1]: agent
// p_future and voice_activity use the same channel order.Android
val directory = ModelManager.ensureVapModels(context)
withContext(Dispatchers.Default) {
VoiceActivityProjection(VoiceActivityProjectionConfig(directory)).use { model ->
val forecast = model.forecast(userPcm, agentPcm)
println(forecast.userNearTerm)
println(forecast.agentNearTerm)
}
}Downloads
- P99-Turn-1-Mini-CoreML · 22 MB
- VAP- OTO- CoreML · 39 MB
- VAP-OTO- ONNX · 40 MB
Benchmark-resultater
Licenser
- turn-1-mini af p99lab · Apache-2.0 · LICENSER / ANMELDELSE
- VAP otoSpeech · CC BY 4.0 · VoiceActivityProjection · MIT · LICENSER / ANMELDELSE