gTTS错误:保存为wav但保存为MPEG

时间:2018-06-06 12:14:21

标签: python-3.x google-text-to-speech

尝试将文本转换为语音并使用gTTS模块另存为wav文件。

我的代码:

<groupId>1</groupId>
<artifactId>1</artifactId>
<version>1.0-SNAPSHOT</version>

<build>
    <plugins>
        <plugin>
            <!-- Build an executable JAR -->
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>3.1.0</version>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>SampleClass</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

<dependencies>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-core_2.12</artifactId>
        <version>1.0.0</version>
    </dependency>

    <!-- Optional Dependencies -->
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-prometheus_2.12</artifactId>
        <version>1.0.0</version>
    </dependency>
    <dependency>
        <groupId>io.kamon</groupId>
        <artifactId>kamon-zipkin_2.12</artifactId>
        <version>1.0.0</version>
    </dependency>
</dependencies>

文件已保存,但是当我检查文件信息时:

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

为什么我会获得不同的保存格式?

2 个答案:

答案 0 :(得分:1)

您可能无法保存它。 gTTS提供将音频剪辑保存为mp3的选项。即使您将名称指定为.wav,它也无法识别并使用默认选项进行保存。如果你需要wav文件,请使用pydub模块更改文件格式。

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

答案 1 :(得分:0)

您的代码中的错误在第一行中。

代替使用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')