Ошибка gTTS: сохранение как wav, но как MPEG - PullRequest
0 голосов
/ 06 июня 2018

Попытка преобразовать текст в речь и сохранить как файл wav с помощью модуля gTTS.

мой код:

import gTTS
text = "This is my text in the saving folder"
tts = gTTS(text)
tts.save('sample.wav')

Файл сохранен, но когда я проверяю информацию о моем файле:

$ mediainfo sample.wav
General
Complete name                            : sample.wav
Format                                   : MPEG Audio
File size                                : 15.8 KiB
Duration                                 : 4 s 32 ms
Overall bit rate mode                    : Constant
Overall bit rate                         : 32.0 kb/s
FileExtension_Invalid                    : m1a mpa1 mp1 m2a mpa2 mp2 mp3

Audio
Format                                   : MPEG Audio
Format version                           : Version 2
Format profile                           : Layer 3
Duration                                 : 4 s 32 ms
Bit rate mode                            : Constant
Bit rate                                 : 32.0 kb/s
Channel(s)                               : 1 channel
Sampling rate                            : 24.0 kHz
Compression mode                         : Lossy
Stream size                              : 15.8 KiB (100%)

, почему я получаю другой сохраненный формат?

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

Ошибка в вашем коде находится в самой первой строке .

Вместо использования import gTTS, вы должны были использовать:

from gtts import gTTS

С этой простой модификацией ваш текст в речькод работал нормально, и аудио было сохранено в формате .wav, как и ожидалось .Код решения выглядит следующим образом:

from gtts import gTTS 

# The text that you want to convert to audio 
mytext = "This is my text in the saving folder"

# Language in which you want to convert 
language = 'en'

# Passing the text and language to the engine
tts = gTTS(text=mytext, lang=language, slow=False) 

# Saving the converted audio in a wav file named sample
tts.save('sample.wav')
0 голосов
/ 07 июня 2018

Возможно, вы не сможете его сохранить.gTTS предоставляет возможность сохранить аудиоклип в формате mp3.даже если вы дадите имя как .wav, он не распознает и не использует опцию по умолчанию для сохранения.Incase, если вам нужен только файл wav, измените формат файла с помощью модуля pydub.

from pydub import AudioSegment
sound = AudioSegment.from_mp3("myfile.mp3")
sound.export("myfile.wav", format="wav")
...