Skip to content

Ovozlar va so‘zlovchilar

Chalkashtirish oson bo‘lgan uch xil narsa:

  • Yozuv so‘zlovchisi bu bitta yozuv ichidagi ovoz raqami: segments[].speaker = 0, 1, 2… Keyingi yozuvda o‘sha odam boshqa raqam ostida bo‘lishi mumkin.
  • Loyiha ovozi bu odamning loyihaning barcha yozuvlaridagi doimiy raqami: #100, #101… «Ovozdan tanish» opsiyasi yoqilganda paydo bo‘ladi.
  • Ism bu loyiha ovozini qanday nomlaganingiz: «Azimbek (menejer)». Ism majburiy emas: ismsiz ovoz ham taniladi.

Ovozlar raqamni qanday oladi

Yozuv «Ovozdan tanish» yoqilgan holda qayta ishlanganda:

  1. Yozuvning har bir so‘zlovchisi uchun ovoz izi hisoblanadi.
  2. Iz loyiha ovozlari bilan taqqoslanadi. Mos keldi: so‘zlovchi shu ovozning raqamini oladi, holat matched.
  3. Mos kelmadi, so‘zlovchining nutqi esa 10 soniya va undan ko‘p: keyingi raqam bilan yangi loyiha ovozi ro‘yxatga olinadi, holat new.
  4. Nutq 10 soniyadan kam: holat unknown, raqam yo‘q. Bir necha soniyadan olingan iz ishonchsiz, biz u bo‘yicha ovoz ochmaymiz.

Yozuv so‘zlovchilarining loyiha ovozlari bilan bog‘lanishi voices da:

json
"voices": [
  {"label": "SPEAKER_1", "speaker": 0, "voice_id": 100, "name": null, "status": "new"},
  {"label": "SPEAKER_2", "speaker": 1, "voice_id": 101, "name": "Azimbek", "status": "matched", "score": 0.97}
]

speaker bu segments[].speaker dagi raqam, voice_id loyiha ovozining raqami, speaker_id so‘zlovchilar API si uchun identifikatori.

Ovoz qancha yashaydi

Bir marta eshitilgan har bir ovozni abadiy saqlash shart emas, shuning uchun ovozning turi bor va u kind da ko‘rinadi:

TurBu nimaQancha yashaydi
candidateBir marta eshitilgan ovozOxirgi uchrashuvdan 30 kun, keyin yo‘qoladi
recurringUch va undan ko‘p yozuvda eshitilganO‘chirilmaguncha saqlanadi
namedIsm berilgan ovozO‘chirilmaguncha saqlanadi

Yana uchragan nomzod last_seen_at ni yangilaydi va hisob qaytadan boshlanadi; uchinchi yozuvda u takrorlanuvchiga aylanadi va muddat olib tashlanadi. Ism muddatni darhol olib tashlaydi: ovozga ism berildi — u qoladi. Shuning uchun xodimning ovozini uchinchi yozuvni kutmay, birinchi safar nomlagan ma’qul.

expires_at ovoz qachon yo‘qolishini aytadi; recurring va named da u bo‘sh.

Ism berish

Kabinetning «So‘zlovchilar» bo‘limi loyihaning barcha ovozlarini ko‘rsatadi: nomlanganlar va avtomatik tanilgan «Ovoz #100». «Ism berish» tugmasi raqamni ismga aylantiradi. API orqali: PATCH /v1/speakers/{id} bilan {"name": "…"}.

Parchalarni bir odam sifatida belgilash

Ba’zan so‘zlovchilar bo‘yicha ajratish xato qiladi: bir odam ikki raqamga tushadi yoki aksincha. Yozuv natijasida «Bir odamning bo‘laklarini belgilash» rejimi bor: aniq bir odamga tegishli replikalarni tanlang va bu kim ekanini ko‘rsating: mavjud ovoz yoki yangi ism. Tanlangan replikalardan iz hisoblanadi va shu ovozga qo‘shiladi. Qancha ko‘p nutq tanlansa, shuncha ishonchli; 10 soniyadan kam bo‘lsa kabinet ogohlantiradi.

API orqali: POST /v1/speakers/{id}/enroll bilan {"job_id": "…", "segment_indexes": [3, 5, 8]}. Replikalar raqamini ko‘rsatish kifoya: iz saqlangan yozuvdan bizning tomonda hisoblanadi. Izlarning o‘zi javobda yo‘q — bu biometriya va har ovozga yuzlab son, ular bilan bevosita ishlashning hojati yo‘q.

Ovoz namunasini yuklash

«So‘zlovchilar» bo‘limida bir odamning qisqa yozuvini (masalan, menejer nutqidan 20–30 soniya) yuklab, uni darhol ovozga bog‘lash mumkin. Yozuv oddiy vazifa sifatida taniladi, ya’ni boshqalar qatori balansni sarflaydi.

Ovoz bu biometrik ma’lumot

Ovozlarni faqat odamlarning roziligi bilan qo‘shing. Ovozni o‘chirish uning barcha izlarini o‘chiradi: DELETE /v1/speakers/{id}. Bir ovozda 10 tadan ko‘p iz, bir loyihada 500 tadan ko‘p ovoz bo‘lmaydi.