p99 وVAP — نماذج تبادل الأدوار الصوتية

يقدّر p99 احتمال انتهاء الدور من قناة صوتية واحدة. ويتنبأ VAP بالنشاط الصوتي من قناتين متزامنتين للمستخدم والوكيل. يقرر التطبيق متى يجيب أو يقاطع بالاعتماد على هذه القيم.

ابنِ SDK من المصدر لاستخدام هذه الواجهات. يستخدم Swift وحدة SpeechVAD ويتطلب C++ الخيار SPEECH_CORE_WITH_ONNX=ON. تستخدم واجهة Android مكتبة ONNX Runtime. تبقى إعدادات مسار المعالجة الحالي الافتراضية كما هي.

النماذج

p99 turn-1-mini5.3M · CoreML · Float3216 kHz · 160 ms · 1 chApache-2.0
VAP (otoSpeech)5.8M · CoreML / ONNX · Float3216 kHz · 20 s · 2 chCC 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)
    }
}

التنزيلات

نتائج الاختبارات

TurnBench · Soniqo

التراخيص