יצירת אודיו באורך מלא
במאמר הזה מוסבר איך לבצע סינתזה של אודיו ארוך. סינתזת אודיו ארוך מסנתזת באופן אסינכרוני עד מיליון בייטים של קלט. מידע נוסף על מושגי היסוד ב-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 bucket של הפלט.
מריצים את בקשת ה-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": "" }אחרי שהפעולה הממושכת מסתיימת בהצלחה, מחפשים את קובץ האודיו של הפלט ב-URI של הקטגוריה שצוין בשדה
output_gcs_uri. אם הפעולה לא הושלמה בהצלחה, צריך להריץ שאילתה באמצעות פקודת ה-REST של GET כדי למצוא את השגיאה, לתקן אותה ולהנפיק מחדש את ה-RPC.
יצירת אודיו ארוך מטקסט באמצעות ספריות לקוח
כדי לסנתז אודיו ארוך, פועלים לפי ההוראות הבאות.
התקנת ספריית הלקוח
Python
לפני שמתקינים את הספרייה, צריך לוודא שהכנתם את הסביבה לפיתוח בשפת Python.
pip install --upgrade google-cloud-texttospeech
יצירת נתוני אודיו
אתם יכולים להשתמש ב-Cloud TTS כדי ליצור קובץ אודיו ארוך של דיבור אנושי סינתטי. משתמשים בקוד הבא כדי ליצור קובץ אודיו ארוך בדלי Google Cloud .
Python
לפני שמריצים את הדוגמה, חשוב לוודא שהכנתם את הסביבה לפיתוח בשפת Python.
הסרת המשאבים
כדי להימנע מחיובים מיותרים Google Cloud , כדאי להשתמש בGoogle Cloud console כדי למחוק את הפרויקט אם אין בו צורך.
המאמרים הבאים
- מידע נוסף על Cloud Text-to-Speech זמין במאמר מושגי יסוד.
- אפשר לעיין ברשימה של הקולות הזמינים שאפשר להשתמש בהם לדיבור מסונתז.