שירות המרת הדיבור לטקסט של Vertex AI ב-Google Distributed Cloud (GDC) עם air gap מאפשר להמיר דיבור מקובצי אודיו לתמלילי טקסט. אתם יכולים להשתמש ב-Speech-to-Text API שעבר אימון מראש ובספריית הלקוח של Python כדי לעבד אודיו מוקלט באמצעות מודל ברירת המחדל.
לפני שמתחילים
כדי לתמלל קובצי אודיו, בקשו מהאדמין את ההרשאות הנדרשות.
בקשת תפקידים ב-IAM
כדי לתמלל אודיו באמצעות מודל ברירת המחדל של Speech-to-Text, צריך לבקש מהאדמין של הפרויקט ב-IAM את התפקיד מפתח AI Speech (ai-speech-developer) במרחב השמות של הפרויקט.
למידע נוסף על התפקיד הזה, קראו את המאמר הכנת הרשאות IAM.
כדי להתחיל להשתמש ב-Speech-to-Text API, צריך פרויקט שבו ה-Speech-to-Text 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.