שירות Speech-to-Text של Vertex AI ב-Google Distributed Cloud (GDC) עם air gap מזהה דיבור מקובצי אודיו. הכלי "המרת דיבור לטקסט" ממיר את האודיו שזוהה לתמלילי טקסט באמצעות ה-API שעבר אימון מראש.
בדף הזה מוסבר איך לתמלל קובצי אודיו לטקסט באמצעות Speech-to-Text API ב-Distributed Cloud.
לפני שמתחילים
כדי לתמלל קובצי אודיו, צריך לבקש מהאדמין את ההרשאות הנדרשות.
בקשת תפקידים ב-IAM
כדי לתמלל אודיו באמצעות מודל ברירת המחדל של Speech-to-Text, צריך לבקש מהאדמין של הפרויקט ב-IAM את התפקיד מפתח AI Speech (ai-speech-developer) במרחב השמות של הפרויקט.
למידע נוסף על התפקיד הזה, קראו את המאמר הכנת הרשאות IAM.
כדי להתחיל להשתמש ב-Speech-to-Text API, צריך פרויקט שבו ה-API מופעל ופרטי כניסה מתאימים. אפשר גם להתקין ספריות לקוח שיעזרו לכם לבצע קריאות ל-API. מידע נוסף זמין במאמר הגדרת פרויקט לזיהוי דיבור.
תמלול אודיו באמצעות מודל ברירת המחדל
המרת דיבור לטקסט (STT) מבצעת זיהוי דיבור. אתם שולחים את קובץ האודיו שאתם רוצים לזהות בו דיבור ישירות כתוכן בבקשת ה-API. המערכת מחזירה את התמליל של הטקסט בתגובה מה-API.
כששולחים בקשה לזיהוי דיבור, צריך לספק אובייקט הגדרה של RecognitionConfig. האובייקט הזה אומר ל-API איך לעבד את נתוני האודיו ואיזה סוג פלט אתם מצפים לקבל. אם לא מציינים מודל באופן מפורש באובייקט ההגדרות האישיות, Speech-to-Text בוחר מודל כברירת מחדל.
מידע נוסף זמין במאמרי העזרה של ה-API של Speech.
בדוגמה הבאה מתבצע תמלול של דיבור מקובץ אודיו באמצעות מודל ברירת המחדל של Speech-to-Text:
Python
כדי להשתמש בשירות Speech-to-Text מסקריפט Python לתמלול דיבור מקובץ אודיו:
מוסיפים את הקוד הבא לסקריפט Python שיצרתם:
import base64 from google.cloud import speech_v1p1beta1 as speech import google.auth from google.auth.transport import requests from google.api_core.client_options import ClientOptions audience="https://ENDPOINT:443" api_endpoint="ENDPOINT:443" def get_client(creds): opts = ClientOptions(api_endpoint=api_endpoint) return speech.SpeechClient(credentials=creds, client_options=opts) def main(): creds = None try: creds, project_id = google.auth.default() creds = creds.with_gdch_audience(audience) req = requests.Request() creds.refresh(req) except Exception as e: print("Caught exception" + str(e)) raise e return creds def speech_func(creds): tc = get_client(creds) content="BASE64_ENCODED_AUDIO" audio = speech.RecognitionAudio( content=base64.standard_b64decode(content) ) config = speech.RecognitionConfig( encoding=speech.RecognitionConfig.AudioEncoding.ENCODING, sample_rate_hertz=RATE_HERTZ, audio_channel_count=CHANNEL_COUNT, language_code="LANGUAGE_CODE", ) metadata = [("x-goog-user-project", "projects/PROJECT_ID")] resp = tc.recognize(config=config, audio=audio, metadata=metadata) print(resp) if __name__=="__main__": creds = main() speech_func(creds)מחליפים את מה שכתוב בשדות הבאים:
-
ENDPOINT: נקודת הקצה של Speech-to-Text שבה משתמשים בארגון. למידע נוסף על סטטוס השירות ונקודות הקצה PROJECT_ID: מזהה הפרויקט.BASE64_ENCODED_AUDIO: הבייטים של נתוני האודיו שמקודדים בייצוג Base64. המחרוזת הזו מתחילה בתווים שנראים כמוZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. מידע נוסף זמין במאמרRecognitionAudio.-
ENCODING: הקידוד של נתוני האודיו שנשלחו בבקשה, למשלLINEAR16. מידע נוסף זמין במאמרAudioEncoding. -
RATE_HERTZ: תדירות הדגימה בהרץ (8000-48000) של נתוני האודיו שנשלחו בבקשה, למשל16000. חובה לקידודיםLINEAR16,FLACו-MULAW(כולל קובצי WAV). מידע נוסף זמין במאמרRecognitionConfig. -
LANGUAGE_CODE: שפת האודיו שסופק, כתג שפה בתקן BCP-47, למשלen-US. כאן אפשר לעיין ברשימת השפות הנתמכות וקודי השפה שלהן. -
CHANNEL_COUNT: מספר הערוצים בנתוני האודיו של הקלט (1-8), למשל1לאודיו מונו. צריך להגדיר אתaudio_channel_countלקידודיםLINEAR16,FLACו-MULAW. מידע נוסף זמין במאמרRecognitionConfig.
-
שומרים את הסקריפט של Python.
מריצים את הסקריפט של Python כדי לתמלל את האודיו:
python SCRIPT_NAMEמחליפים את
SCRIPT_NAMEבשם שנתתם לסקריפט Python, לדוגמהspeech.py.