p99 और VAP — बोलने की बारी के मॉडल
p99 एक ऑडियो चैनल से बोलने की बारी खत्म होने की संभावना का अनुमान लगाता है। VAP उपयोगकर्ता और एजेंट के समय-संरेखित चैनलों से वाणी गतिविधि का पूर्वानुमान करता है। जवाब देने या बीच में बोलने का निर्णय ऐप लेता है।
इन API के लिए SDK को स्रोत से बनाएँ। Swift में SpeechVAD और C++ में SPEECH_CORE_WITH_ONNX=ON आवश्यक है। Android API ONNX Runtime उपयोग करता है। मौजूदा पाइपलाइन की डिफ़ॉल्ट सेटिंग नहीं बदलती।
मॉडल
| p99 turn-1-mini | 5.3M · CoreML · Float32 | 16 kHz · 160 ms · 1 ch | Apache-2.0 |
|---|---|---|---|
| VAP (otoSpeech) | 5.8M · CoreML / ONNX · Float32 | 16 kHz · 20 s · 2 ch | CC BY 4.0 / MIT |
Swift API
p99 अधूरे चरणों को बफ़र करता है। हर 160 ms चरण से 20 ms के आठ फ़्रेम मिलते हैं। निर्णय के समय के लिए availableAfterSeconds का उपयोग करें और बातचीत बदलने पर सत्र रीसेट करें।
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 पिछले 20 सेकंड का 16 kHz ऑडियो उपयोग करता है। दोनों चैनल बराबर लंबाई के हों; एजेंट चुप हो तो उसका चैनल शून्य से भरें। छोटे इनपुट के शुरू में मौन जोड़ा जाता है। हर पूर्वानुमान पूरी विंडो दोबारा गणना करता है; डिवाइस के अनुसार अंतराल चुनें।
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)
}
}डाउनलोड
- P99-Turn-1-Mini-CoreML · 22 MB
- VAP-OTO-CoreML · 39 MB
- VAP-OTO-ONNX · 40 MB
बेंचमार्क परिणाम
लाइसेंस
- turn-1-mini by p99lab · Apache-2.0 · LICENSE / NOTICE
- VAP otoSpeech · CC BY 4.0 · VoiceActivityProjection · MIT · LICENSE / NOTICE