במדריך הזה מוסבר איך להשתמש בשפת סימון לסינתזת דיבור (SSML) כדי להקריא קובץ טקסט של כתובות. אתם יכולים להשתמש בתגי SSML כדי להוסיף סימון למחרוזת טקסט ולהתאים אישית את האודיו הסינתטי מ-Cloud Text-to-Speech.
| Plaintext | עיבוד SSML של טקסט רגיל |
|---|---|
123 Street Ln |
<speak>123 Street Ln</speak> |
1 Number St |
<speak>1 Number St</speak> |
1 Piazza del Fibonacci |
<speak>1 Piazza del Fibonacci</speak> |
מטרה
שולחים בקשה לסינתזת דיבור ל-Cloud Text-to-Speech באמצעות SSML וספריות הלקוח של Cloud Text-to-Speech.
עלויות
מידע על עלויות זמין בדף התמחור של Cloud TTS.
לפני שמתחילים
- מוודאים שיש לכם פרויקט Cloud Text-to-Speech במסוףGoogle Cloud .
- במדריך הזה אפשר להשתמש ב-Java, ב-Node.js או ב-Python. אם אתם מתכננים להשתמש ב-Java, אתם צריכים להוריד את Maven ולהתקין אותו. אם אתם מתכננים להשתמש ב-Node.js, הורידו את npm.
הורדת דוגמאות הקוד
כדי להוריד את דוגמאות הקוד, משכפלים את Google Cloud הדוגמאות של GitHub לשפת התכנות שבה רוצים להשתמש.
Java
במדריך הזה נעשה שימוש בקוד בספרייה texttospeech/cloud-client/src/main/java/com/example/texttospeech/ של מאגר הדוגמאות של Java ב-Google Cloud Platform.
כדי להוריד את הקוד של המדריך הזה ולעבור אליו, מריצים את הפקודות הבאות מהטרמינל.
git clone https://github.com/GoogleCloudPlatform/java-docs-samples.git cd java-docs-samples/texttospeech/cloud-client/src/main/java/com/example/texttospeech/
Node.js
במדריך הזה נעשה שימוש בקוד בספרייה texttospeech של מאגר הדוגמאות של Google Cloud Platform Node.js.
כדי להוריד את הקוד של ההדרכה הזו ולעבור אליו, מריצים את הפקודות הבאות מהטרמינל.
git clone https://github.com/GoogleCloudPlatform/nodejs-docs-samples.git cd texttospeech/
Python
במדריך הזה נעשה שימוש בקוד בספרייה texttospeech/snippets של מאגר הדוגמאות של Python ב-Google Cloud Platform.
כדי להוריד את הקוד של המדריך הזה ולעבור אליו, מריצים את הפקודות הבאות מהטרמינל.
git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git cd samples/snippets
התקנת ספריית הלקוח
במדריך הזה נעשה שימוש בספריית הלקוח Text-to-Speech.
Java
המדריך הזה משתמש בתלות הבאה.
Node.js
מריצים את הפקודה הבאה מהטרמינל.
npm install @google-cloud/text-to-speech
Python
מריצים את הפקודה הבאה מהטרמינל.
pip install --upgrade google-cloud-texttospeech
הגדרת פרטי הכניסה ל-Google Cloud Platform
Provide authentication credentials to your application code by setting the
environment variable GOOGLE_APPLICATION_CREDENTIALS. This
variable applies only to your current shell session. If you want the variable
to apply to future shell sessions, set the variable in your shell startup file,
for example in the ~/.bashrc or ~/.profile file.
Linux או macOS
export GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"Replace KEY_PATH with the path of the JSON file that contains your credentials.
For example:
export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/service-account-file.json"
Windows
For PowerShell:
$env:GOOGLE_APPLICATION_CREDENTIALS="KEY_PATH"Replace KEY_PATH with the path of the JSON file that contains your credentials.
For example:
$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\service-account-file.json"
For command prompt:
set GOOGLE_APPLICATION_CREDENTIALS=KEY_PATHReplace KEY_PATH with the path of the JSON file that contains your credentials.
ייבוא ספריות
במדריך הזה נעשה שימוש במערכת ובספריות הלקוח הבאות.
Java
מידע על התקנת ספריית הלקוח של Cloud TTS ושימוש בה מופיע במאמר ספריות הלקוח של Cloud TTS. מידע נוסף מופיע במאמרי העזרה של Cloud TTS Java API.
כדי לבצע אימות ב-Cloud TTS, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Cloud TTS ושימוש בה מופיע במאמר ספריות הלקוח של Cloud TTS. מידע נוסף מופיע במאמרי העזרה של Cloud TTS Node.js API.
כדי לבצע אימות ב-Cloud TTS, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Cloud TTS ושימוש בה מופיע במאמר ספריות הלקוח של Cloud TTS. מידע נוסף מופיע במאמרי העזרה של Cloud TTS Python API.
כדי לבצע אימות ב-Cloud TTS, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שימוש ב-Cloud Text-to-Speech API
הפונקציה הבאה מקבלת מחרוזת טקסט שתויגה באמצעות SSML ואת השם של קובץ MP3. הפונקציה משתמשת בטקסט שתויג באמצעות SSML כדי ליצור אודיו סינתטי. הפונקציה שומרת את האודיו הסינתטי בשם הקובץ MP3 שמוגדר כפרמטר.
כל קלט ה-SSML יכול להיקרא רק על ידי קול אחד.
אפשר להגדיר את הקול באובייקט VoiceSelectionParams.
Java
מידע על התקנת ספריית הלקוח של Cloud TTS ושימוש בה מופיע במאמר ספריות הלקוח של Cloud TTS. מידע נוסף מופיע במאמרי העזרה של Cloud TTS Java API.
כדי לבצע אימות ב-Cloud TTS, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Cloud TTS ושימוש בה מופיע במאמר ספריות הלקוח של Cloud TTS. מידע נוסף מופיע במאמרי העזרה של Cloud TTS Node.js API.
כדי לבצע אימות ב-Cloud TTS, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Cloud TTS ושימוש בה מופיע במאמר ספריות הלקוח של Cloud TTS. מידע נוסף מופיע במאמרי העזרה של Cloud TTS Python API.
כדי לבצע אימות ב-Cloud TTS, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
התאמה אישית של אודיו סינתטי
הפונקציה הבאה מקבלת את השם של קובץ טקסט וממירה את התוכן של הקובץ למחרוזת טקסט שתויגה באמצעות SSML.
Java
מידע על התקנת ספריית הלקוח של Cloud TTS ושימוש בה מופיע במאמר ספריות הלקוח של Cloud TTS. מידע נוסף מופיע במאמרי העזרה של Cloud TTS Java API.
כדי לבצע אימות ב-Cloud TTS, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Cloud TTS ושימוש בה מופיע במאמר ספריות הלקוח של Cloud TTS. מידע נוסף מופיע במאמרי העזרה של Cloud TTS Node.js API.
כדי לבצע אימות ב-Cloud TTS, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Cloud TTS ושימוש בה מופיע במאמר ספריות הלקוח של Cloud TTS. מידע נוסף מופיע במאמרי העזרה של Cloud TTS Python API.
כדי לבצע אימות ב-Cloud TTS, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
סיכום של כל המידע
התוכנית הזו משתמשת בקלט הבא.
123 Street Ln, Small Town, IL 12345 USA 1 Jenny St & Number St, Tutone City, CA 86753 1 Piazza del Fibonacci, 12358 Pisa, Italy
העברת הטקסט שלמעלה אל text_to_ssml() יוצרת את הטקסט המתויג הבא.
<speak>123 Street Ln, Small Town, IL 12345 USA <break time="2s"/>1 Jenny St & Number St, Tutone City, CA 86753 <break time="2s"/>1 Piazza del Fibonacci, 12358 Pisa, Italy <break time="2s"/></speak>
הרצת הקוד
כדי ליצור קובץ אודיו של דיבור סינתטי, מריצים את הקוד הבא משורת הפקודה.
Java
Linux או MacOS
בספרייה java-docs-samples/texttospeech/cloud-client/, מריצים את הפקודה הבאה בשורת הפקודה.
$ mvn clean package
Windows
בספרייה java-docs-samples/texttospeech/cloud-client/, מריצים את הפקודה הבאה בשורת הפקודה.
$ mvn clean package
Node.js
Linux או MacOS
בקובץ hybridGlossaries.js, מבטלים את ההערה של המשתנים TODO (developer)
commented-out.
בפקודה הבאה, מחליפים את projectId במזהה הפרויקט. Google Cloud
בספרייה nodejs-docs-samples/texttospeech, מריצים את הפקודה הבאה בשורת הפקודה.
$ node ssmlAddresses.js projectId
Windows
בקובץ hybridGlossaries.js, מבטלים את ההערה של המשתנים TODO (developer)
commented-out.
בפקודה הבאה, מחליפים את projectId במזהה הפרויקט. Google Cloud
בספרייה nodejs-docs-samples/texttospeech, מריצים את הפקודה הבאה בשורת הפקודה.
$env: C:/Node.js/node.exe C: ssmlAddresses.js projectId
Python
Linux או MacOS
בספרייה python-docs-samples/texttospeech/snippets, מריצים את הפקודה הבאה בשורת הפקודה.
$ python ssml_addresses.py
Windows
בספרייה python-docs-samples/texttospeech/snippets, מריצים את הפקודה הבאה בשורת הפקודה.
$env: C:/Python3/python.exe C: ssml_addresses.py
בדיקת הפלט
התוכנית הזו מוציאה קובץ אודיו example.mp3 של דיבור סינתטי.
Java
מנווטים לספרייה java-docs-samples/texttospeech/cloud-client/resources/.
בודקים אם יש קובץ example.mp3 בספרייה resources.
Node.js
מנווטים לספרייה nodejs-docs-samples/texttospeech/resources/.
בודקים אם יש קובץ example.mp3 בספרייה resources.
Python
ניווט אל python-docs-samples/texttospeech/snippets/resources.
בודקים אם יש קובץ example.mp3 בספרייה resources.
כדאי להאזין לקטע האודיו הבא כדי לוודא שקובץ ה-example.mp3 שלך נשמע זהה.
פתרון בעיות
אם שכחתם להגדיר את משתנה הסביבה GOOGLE_APPLICATION_CREDENTIALS בשורת הפקודה, תוצג הודעת השגיאה:
The Application Default Credentials are not available.
העברת
text_to_ssml()שם של קובץ שלא קיים יוצרת את הודעת השגיאה:IOError: [Errno 2] No such file or directory
העברת פרמטר
ssml_to_audio()ssml_text שמכיל None יוצרת את הודעת השגיאה:InvalidArgument: 400 Invalid input type. Type has to be text or SSML
מוודאים שהקוד מופעל מהספרייה הנכונה.
המאמרים הבאים
הסרת המשאבים
כדי להימנע מחיובים בחשבון Google Cloud Platform על המשאבים שבהם השתמשתם במדריך הזה, אתם יכולים למחוק את הפרויקט באמצעות מסוףGoogle Cloud אם אתם לא צריכים אותו יותר.
מחיקת פרויקט
- במסוףGoogle Cloud , עוברים לדף Projects.
- ברשימת הפרויקטים, בוחרים את הפרויקט שרוצים למחוק ולוחצים על מחיקה.
- כדי למחוק את הפרויקט, כותבים את מזהה הפרויקט בתיבת הדו-שיח ולוחצים על Shut down.