שירות Speech-to-Text של Vertex AI ב-Google Distributed Cloud (GDC) עם בידוד פיזי מזהה דיבור מקובצי אודיו. התכונה 'המרת דיבור לטקסט' ממירה את האודיו שזוהה לתמלילי טקסט באמצעות ה-API שאומן מראש.
בדף הזה מוסבר איך לתמלל קובצי אודיו לטקסט באמצעות Speech-to-Text API ב-Distributed Cloud.
לפני שמתחילים
לפני שמתחילים להשתמש ב-Speech-to-Text API, צריך ליצור פרויקט שבו מופעל Speech-to-Text API ולקבל את פרטי הכניסה המתאימים. אפשר גם להתקין ספריות לקוח כדי לבצע קריאות ל-API. מידע נוסף זמין במאמר בנושא הגדרת פרויקט לזיהוי דיבור.
תמלול אודיו באמצעות המודל שמוגדר כברירת מחדל
המרת דיבור לטקסט מבצעת זיהוי דיבור. שולחים את קובץ האודיו שרוצים לזהות בו דיבור ישירות כתוכן בבקשת ה-API. המערכת מחזירה את הטקסט המתומלל בתגובת ה-API.
כשמבצעים בקשה לזיהוי דיבור, צריך לספק אובייקט הגדרה של RecognitionConfig. האובייקט הזה מציין ל-API איך לעבד את נתוני האודיו ואיזה סוג של פלט אתם מצפים לקבל. אם לא מציינים מודל באופן מפורש באובייקט ההגדרה הזה, Speech-to-Text בוחר מודל ברירת מחדל.
מידע נוסף זמין במאמרי העזרה של Speech API.
בדוגמה הבאה מתומלל דיבור מקובץ אודיו באמצעות מודל ברירת המחדל של Speech-to-Text::
Python
כדי להשתמש בשירות Speech-to-Text מסקריפט Python כדי לתמלל דיבור מקובץ אודיו:
מוסיפים את הקוד הבא לסקריפט Python שיצרתם:
import base64 from google.cloud import speech_v1p1beta1 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_v1p1beta1.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) print("Got token: ") print(creds.token) 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_v1p1beta1.RecognitionAudio() audio.content = base64.standard_b64decode(content) config = speech_v1p1beta1.RecognitionConfig() config.encoding= speech_v1p1beta1.RecognitionConfig.AudioEncoding.ENCODING config.sample_rate_hertz=RATE_HERTZ config.language_code="LANGUAGE_CODE" config.audio_channel_count=CHANNEL_COUNT 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: נקודת הקצה של המרת הדיבור לטקסט שבה אתם משתמשים בארגון. למידע נוסף, אפשר לראות את סטטוס השירות ונקודות הקצה. PROJECT_ID: מזהה הפרויקט.-
BASE64_ENCODED_AUDIO: בייטים של נתוני אודיו בקידוד Base64. המחרוזת הזו מתחילה בתווים שנראים דומים ל-ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv. מידע נוסף זמין במאמרRecognitionAudio. -
ENCODING: הקידוד של נתוני האודיו שנשלחים בבקשה, כמוLINEAR16. מידע נוסף זמין במאמרAudioEncoding. -
RATE_HERTZ: קצב הדגימה בהרץ של נתוני האודיו שנשלחים בבקשה, כמו16000. מידע נוסף זמין במאמרRecognitionConfig. -
LANGUAGE_CODE: השפה של האודיו שסופק כתג שפה מסוג BCP-47. כאן אפשר לעיין ברשימת השפות הנתמכות ובקודים של השפות האלה. -
CHANNEL_COUNT: מספר הערוצים בנתוני האודיו של הקלט, כמו1. מידע נוסף זמין במאמרRecognitionConfig.
-
שומרים את סקריפט Python.
מריצים את סקריפט Python כדי לתמלל את האודיו:
python SCRIPT_NAMEמחליפים את
SCRIPT_NAMEבשם שנתתם לסקריפט Python, לדוגמה,speech.py.