בדף הזה מוסבר איך מקבלים תוויות לדוברים שונים בנתוני אודיו שתומללו על ידי Cloud Speech-to-Text.
לפעמים, נתוני אודיו מכילים דגימות של יותר מאדם אחד שמדבר. לדוגמה, אודיו משיחת טלפון בדרך כלל כולל קולות של שני אנשים או יותר. תמלול של השיחה כולל באופן אידיאלי את המידע על מי דיבר ומתי.
חלוקת קובץ האודיו לפי דוברים
Cloud Speech-to-Text יכול לזהות כמה דוברים באותו קטע אודיו. כששולחים בקשה לתמלול אודיו ל-Cloud Speech-to-Text, אפשר לכלול פרמטר שמורה ל-Cloud Speech-to-Text לזהות את הדוברים השונים בדגימת האודיו. התכונה הזו, שנקראת זיהוי דוברים, מזהה מתי הדוברים מתחלפים ומוסיפה תוויות עם מספרים לקולות השונים שמזוהים באודיו.
כשמפעילים את התכונה 'זיהוי דוברים' בבקשת התמלול, Cloud Speech-to-Text מנסה להבחין בין הקולות השונים שכלולים בדגימת האודיו. בתמליל, כל מילה מתויגת במספר שמוקצה לכל דובר. המילים שנאמרות על ידי אותו דובר מקבלות את אותו מספר. תוצאת התמלול יכולה לכלול מספרים עד מספר הדוברים ש-Cloud Speech-to-Text יכול לזהות באופן ייחודי בדגימת האודיו.
כשמשתמשים בסימון דוברים, Cloud Speech-to-Text יוצר סיכום מתמשך של כל התוצאות שמופיעות בתמלול. כל
תוצאה כוללת את המילים מהתוצאה הקודמת. לכן, המערך words בתוצאה הסופית מספק את התוצאות המלאות של התמלול, עם סימון הדוברים.
כדאי לעיין בדף השפות הנתמכות כדי לראות אם התכונה הזו זמינה בשפה שלכם.
הפעלת חלוקת קובץ האודיו לפי דוברים בבקשה
כדי להפעיל את חלוקת קובץ האודיו לפי דוברים, צריך להגדיר את השדה diarization_config ב-RecognitionFeatures. אתם צריכים להגדיר את הערכים של min_speaker_count
ושל max_speaker_count בהתאם למספר הדוברים שאתם מצפים שיופיעו בתמליל.
Cloud STT תומך בהפרדה בין דוברים בכל השיטות לזיהוי דיבור: speech:recognize וסטרימינג.
שימוש בקובץ מקומי
בקטע הקוד הבא אפשר לראות איך להפעיל את תכונת ההפרדה בין דוברים בבקשת תמלול ל-Cloud Speech-to-Text באמצעות קובץ מקומי
REST
פרטים נוספים זמינים בנקודת קצה ל-API של speech:recognize.
כדי לבצע זיהוי דיבור סינכרוני, שולחים בקשת POST ומספקים את גוף הבקשה המתאים. בדוגמה הבאה מוצגת בקשת POST באמצעות curl. בדוגמה נעשה שימוש ב-Google Cloud CLI כדי ליצור אסימון גישה. הוראות להתקנת ה-CLI של gcloud מופיעות במדריך למתחילים.
curl -s -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://speech.googleapis.com/v2/projects/{project}/locations/{location}/recognizers/{recognizer}:recognize \ --data '{ "config": { "features": { "diarizationConfig": { "minSpeakerCount": 2, "maxSpeakerCount": 2 }, } }, "uri": "gs://cloud-samples-tests/speech/commercial_mono.wav" }' > speaker-diarization.txt
אם הבקשה תתבצע בהצלחה, השרת יחזיר קוד סטטוס 200 OK של HTTP ואת התגובה בפורמט JSON, שתישמר בקובץ בשם speaker-diarization.txt.
{ "results": [ { "alternatives": [ { "transcript": "hi I'd like to buy a Chromecast and I was wondering whether you could help me with that certainly which color would you like we have blue black and red uh let's go with the black one would you like the new Chromecast Ultra model or the regular Chrome Cast regular Chromecast is fine thank you okay sure we like to ship it regular or Express Express please terrific it's on the way thank you thank you very much bye", "confidence": 0.92142606, "words": [ { "startOffset": "0s", "endOffset": "1.100s", "word": "hi", "speakerLabel": "2" }, { "startOffset": "1.100s", "endOffset": "2s", "word": "I'd", "speakerLabel": "2" }, { "startOffset": "2s", "endOffset": "2s", "word": "like", "speakerLabel": "2" }, { "startOffset": "2s", "endOffset": "2.100s", "word": "to", "speakerLabel": "2" }, ... { "startOffset": "6.500s", "endOffset": "6.900s", "word": "certainly", "speakerLabel": "1" }, { "startOffset": "6.900s", "endOffset": "7.300s", "word": "which", "speakerLabel": "1" }, { "startOffset": "7.300s", "endOffset": "7.500s", "word": "color", "speakerLabel": "1" }, ... ] } ], "languageCode": "en-us" } ] }
Go
מידע על התקנה ושימוש בספריית הלקוח של Cloud STT מופיע במאמר ספריות הלקוח של Cloud STT. מידע נוסף מופיע במאמרי העזרה של Cloud STT Go API.
כדי לבצע אימות ב-Cloud STT, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנה ושימוש בספריית הלקוח של Cloud STT מופיע במאמר ספריות הלקוח של Cloud STT. מידע נוסף מופיע במאמרי העזרה של Cloud STT Python API.
כדי לבצע אימות ב-Cloud STT, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.