בקשת מידע | הקראת קבצי TTS בעברית באמצעות פייתון
-
@Yehuda-1 כתב בבקשת מידע | הקראת קבצי TTS בעברית באמצעות פייתון:
מישהו יכול לעזור לי למצוא דרך?
TTS (Text-to-Speech) בעברית באמצעות פייתון:
ראשית, ניתן להשתמש בספריית gtts (Google Text-to-Speech) כדי להמיר טקסט לדיבור בעברית. לשם כך יש להתקין את הספרייה:
pip install gTTS
ואז לייבא אותה:
from gtts import gTTS
כעת ניתן ליצור אובייקט gTTS ולהעביר לו טקסט בעברית ולציין שהשפה היא עברית ('he'):
text = "שלום! כאן קורא טקסט אוטומטי בעברית" tts = gTTS(text=text, lang='he')
כדי לשמור את הטקסט כקובץ שמע (mp3):
tts.save("hebrew.mp3")
זה ייצור קובץ שמע עם הטקסט שהעברנו.
כעת ניתן לנגן את הקובץ באמצעות מודול os:
import os os.system("hebrew.mp3")
וכך השגנו הקראת טקסט בעברית לקובץ שמע בפייתון!
-
@Yehuda-1 כתב בבקשת מידע | הקראת קבצי TTS בעברית באמצעות פייתון:
@K-O-G הספרייה לא באמת תומכת בעברית. (הבאת מchatGPT?)
אתה צודק, נראה שהספרייה gtts בפועל לא באמת תומכת היטב בשפה העברית כרגע.
יש כמה דרכים חלופיות להשיג הקראת טקסט בעברית בפייתון:
- השתמש ב-Google Cloud Text-to-Speech. זה שירות מצוין של גוגל שתומך בעברית:
from google.cloud import texttospeech client = texttospeech.TextToSpeechClient() synthesis_input = texttospeech.SynthesisInput(text="שלום ישראל") voice = texttospeech.VoiceSelectionParams( language_code="he-IL", ssml_gender=texttospeech.SsmlVoiceGender.FEMALE ) audio_config = texttospeech.AudioConfig( audio_encoding=texttospeech.AudioEncoding.MP3 ) response = client.synthesize_speech( input=synthesis_input, voice=voice, audio_config=audio_config ) with open("hebrew.mp3", "wb") as out: out.write(response.audio_content)
- השתמש בספריית pyttsx3 שתומכת במנועי TTS שונים, כולל כאלה שתומכים בעברית.
אז יש מספר אופציות טובות יותר מאשר gtts להשגת הקראת טקסט בעברית בפייתון!
-
@Yehuda-1 כתב בבקשת מידע | הקראת קבצי TTS בעברית באמצעות פייתון:
מישהו יכול לעזור לי למצוא דרך?
תבדוק את זה
https://github.com/Sharonio/roboshaul/blob/main/roboshaul_usage_colab.ipynb -
@Yehuda-1 טעיתי, זו לא הספריה הנכונה!
אבל בסוף מצאתי משהו אחר:
ראשית החבילות:
pip install --upgrade transformers accelerate
אחר כך הקוד:
from transformers import VitsModel, AutoTokenizer import torch model = VitsModel.from_pretrained("facebook/mms-tts-heb") tokenizer = AutoTokenizer.from_pretrained("facebook/mms-tts-heb") text = "כאן הטקסט שהוא מקריא" inputs = tokenizer(text, return_tensors="pt") with torch.no_grad(): output = model(**inputs).waveform
אחר כך אפשר לשמור את הקובץ:
import scipy scipy.io.wavfile.write("techno.wav", rate=model.config.sampling_rate, data=output)
או לחילופין להריץ אותו במחברת ג'ופיטר:
from IPython.display import Audio Audio(output, rate=model.config.sampling_rate)