בדף הזה מוסבר איך לתמלל קובצי אודיו לטקסט באמצעות Speech-to-Text API במכשיר Google Distributed Cloud (GDC) עם בידוד פיזי.
שירות הדיבור לטקסט של Vertex AI במכשיר GDC עם air gap מזהה דיבור מקובצי אודיו. התכונה 'המרת דיבור לטקסט' ממירה את האודיו שזוהה לתמלילי טקסט באמצעות ה-API שאומן מראש.
לפני שמתחילים
לפני שמתחילים להשתמש ב-Speech-to-Text API, צריך ליצור פרויקט שבו מופעל Speech-to-Text API ולקבל את פרטי הכניסה המתאימים. אפשר גם להתקין ספריות לקוח כדי לבצע קריאות ל-API. מידע נוסף זמין במאמר בנושא הגדרת פרויקט לזיהוי דיבור.
תמלול אודיו באמצעות המודל שמוגדר כברירת מחדל
המרת דיבור לטקסט מבצעת זיהוי דיבור. שולחים את קובץ האודיו שרוצים לזהות בו דיבור ישירות כתוכן בבקשת ה-API. המערכת מחזירה את הטקסט המתומלל בתגובת ה-API.
כשמבצעים בקשה לזיהוי דיבור, צריך לספק אובייקט הגדרה של RecognitionConfig. האובייקט הזה מציין ל-API איך לעבד את נתוני האודיו ואיזה סוג של פלט אתם מצפים לקבל. אם לא מציינים מודל באופן מפורש באובייקט ההגדרה הזה, Speech-to-Text בוחר מודל ברירת מחדל.
המרת דיבור לטקסט במכשיר GDC עם air gap תומכת רק במודל ברירת המחדל.
כדי להשתמש בשירות 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. -
ENCODING: הקידוד של נתוני האודיו שנשלחים בבקשה, כמוLINEAR16. -
RATE_HERTZ: קצב הדגימה בהרץ של נתוני האודיו שנשלחים בבקשה, כמו16000. -
LANGUAGE_CODE: השפה של האודיו שסופק כתג שפה מסוג BCP-47. כאן אפשר לעיין ברשימת השפות הנתמכות ובקודים של השפות האלה. -
CHANNEL_COUNT: מספר הערוצים בנתוני האודיו של הקלט, כמו1.
-
שומרים את סקריפט Python.
מריצים את סקריפט Python כדי לתמלל את האודיו:
python SCRIPT_NAMEמחליפים את
SCRIPT_NAMEבשם שנתתם לסקריפט Python, לדוגמה,speech.py.