יצירת אודיו ארוך
במאמר הזה מוסבר איך לבצע סינתזה של אודיו ארוך. התכונה "סינתזת אודיו ארוך" מסנתזת באופן אסינכרוני עד מיליון בייטים בקלט. למידע נוסף על המושגים הבסיסיים של Cloud Text-to-Speech, קראו את המאמר היסודות של Cloud Text-to-Speech.
לפני שמתחילים
כדי לשלוח בקשה ל-Cloud Text-to-Speech API, צריך לבצע את הפעולות הבאות. פרטים נוספים זמינים בדף לפני שמתחילים.
- מפעילים את Cloud Text-to-Speech בפרויקט ב- Google Cloud .
- מוודאים שהחיוב מופעל עבור Cloud Text-to-Speech.
- מוודאים שיש לכם את התפקידים הבאים בניהול הזהויות והרשאות הגישה (IAM) בדלי Google Cloud של הפלט.
- יצירת אובייקטים של אחסון
- צפייה באובייקטים של אחסון
-
התקינו את ה-CLI של Google Cloud. אחר כך, מאתחלים את ה-CLI של Google Cloud באמצעות הפקודה הבאה:
gcloud initאם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
סינתזה של אודיו ארוך מטקסט באמצעות שורת הפקודה
כדי להמיר טקסט ארוך לאודיו, שולחים בקשת HTTP POST לנקודת הקצה https://texttospeech.googleapis.com/v1beta1/projects/{$project_number}/locations/global:synthesizeLongAudio.
בגוף של פקודת ה-POST, מציינים את השדות הבאים.
• voice: סוג הקול לסינתזה.
• input.text: הטקסט שרוצים להמיר לדיבור.
• audioConfig: סוג האודיו שרוצים ליצור.
• output_gcs_uri: Google Cloud נתיב הפלט בפורמט gs://bucket_name/file_name.wav.
• parent: ההורה בפורמט projects/{YOUR_PROJECT_NUMBER}/locations/{YOUR_PROJECT_LOCATION}.
הקלט יכול להכיל עד 1MB של תווים, והמגבלה המדויקת יכולה להשתנות בהתאם לקלט.
יוצרים קטגוריית אחסון ב- Google Cloud בפרויקט שמשמש להפעלת הסינתזה. מוודאים שלחשבון השירות שמשמש להפעלת הסינתזה יש גישת קריאה וכתיבה לקטגוריית הפלט Google Cloud .
מפעילים את בקשת ה-REST בשורת הפקודה כדי להמיר את הטקסט לאודיו באמצעות Cloud TTS. הפקודה משתמשת בפקודה
gcloud auth application-default print-access-tokenכדי לאחזר אסימון הרשאה לבקשה.ה-method של ה-HTTP וכתובת ה-URL:
POST https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global:synthesizeLongAudio
תוכן בקשת JSON:
{ "parent": "projects/12345/locations/global", "audio_config":{ "audio_encoding":"LINEAR16" }, "input":{ "text":"hello" }, "voice":{ "language_code":"en-us", "name":"en-us-Standard-A" }, "output_gcs_uri": "gs://bucket_name/file_name.wav" }כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "name": "23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 0, "startTime": "2022-12-20T00:46:56.296191037Z", "lastUpdateTime": "2022-12-20T00:46:56.296191037Z" }, "done": false }פלט ה-JSON של פקודת ה-REST מכיל את השם הארוך של הפעולה בשדה
name. מריצים את בקשת ה-REST בשורת הפקודה כדי לשלוח שאילתה לגבי מצב הפעולה הממושכת.חשוב לוודא שחשבון השירות שמריץ את פעולת ה-GET הוא מאותו פרויקט שבו נעשה שימוש לסינתזה.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations/23456
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "name": "projects/12345/locations/global/operations/23456", "metadata": { "@type": "type.googleapis.com/google.cloud.texttospeech.v1beta1.SynthesizeLongAudioMetadata", "progressPercentage": 100 }, "done": true }מריצים שאילתה על רשימת כל הפעולות שפועלות בפרויקט נתון, ומבצעים את בקשת ה-REST.
חשוב לוודא שחשבון השירות שמפעיל את הפעולה LIST הוא מאותו פרויקט שמשמש להמרה.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://texttospeech.googleapis.com/v1beta1/projects/12345/locations/global/operations
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{ "operations": [ { "name": "12345", "done": false }, { "name": "23456", "done": false } ], "nextPageToken": "" }אחרי שהפעולה הארוכה מסתיימת, קובץ האודיו שנוצר מופיע בשדה
output_gcs_uriב-URI של הקטגוריה שצוינה. אם הפעולה לא הושלמה, צריך למצוא את השגיאה באמצעות שאילתה עם הפקודה GET REST, לתקן את השגיאה ולשלוח שוב את ה-RPC.
סינתזה של אודיו ארוך מטקסט באמצעות ספריות לקוח
כדי לסנתז אודיו ארוך, פועלים לפי ההוראות הבאות.
התקנת ספריית הלקוח
Python
לפני שמתקינים את הספרייה, צריך לוודא שהסביבה מוכנה לפיתוח ב-Python.
pip install --upgrade google-cloud-texttospeech
יצירת נתוני אודיו
אתם יכולים להשתמש ב-Cloud TTS כדי ליצור קובץ אודיו ארוך של דיבור אנושי סינתטי. משתמשים בקוד הבא כדי ליצור קובץ אודיו ארוך בדלי Google Cloud .
Python
לפני שמריצים את הדוגמה, חשוב לוודא שהכנתם את הסביבה לפיתוח בשפת Python.
הסרת המשאבים
כדי להימנע מחיובים מיותרים Google Cloud , כדאי להשתמש בGoogle Cloud console כדי למחוק את הפרויקט אם הוא לא נחוץ.
המאמרים הבאים
- מידע נוסף על Cloud Text-to-Speech זמין במאמר מושגי יסוד.
- כאן מופיעה רשימה של קולות זמינים שאפשר להשתמש בהם לדיבור מסונתז.