RVC-Boss / GPT-SoVITS

1 min voice data can also be used to train a good TTS model! (few shot voice cloning)
MIT License
33.63k stars 3.85k forks source link

快速推理分支,返回的wav格式,导致速度变慢 #1004

Open wubangjunjava opened 5 months ago

wubangjunjava commented 5 months ago

我看到,快速推理分支,api_v2.py 返回的wav格式,导致速度变慢,

同样时长的音频wav要比mp3大不少,怎么样转成mp3返回呢?

求解答,我是java转python 属于新手,在此先感谢各位 。

XXXXRT666 commented 5 months ago

直接封装wav是最快的方式,不进行任何压缩

wubangjunjava commented 5 months ago

直接封装wav是最快的方式,不进行任何压缩

8秒音频,大小是517k 太大了

wubangjunjava commented 5 months ago

我想封装成mp3返回怎么弄呢

v3ucn commented 5 months ago

我想封装成mp3返回怎么弄呢

media_type参数写ogg即可,有损压缩格式中,ogg比mp3体积更小

XXXXRT666 commented 5 months ago

ffmpeg

kirbykirby commented 5 months ago

用这个函数。

def convert_to_mp3(directory, delete_original=False):
    # 支持的音频文件扩展名
    file_extensions = ['.wav', '.aac']

    # 遍历指定文件夹
    for root, dirs, files in os.walk(directory):
        for file in files:
            # 检查文件扩展名是否在支持的列表中
            if os.path.splitext(file)[1].lower() in file_extensions:
                # 构建完整的文件路径
                file_path = os.path.join(root, file)
                # 创建输出的MP3文件路径
                mp3_file_path = os.path.splitext(file_path)[0] + '.mp3'

                # 调用FFmpeg进行转换
                command = ['ffmpeg', '-i', file_path, mp3_file_path]
                subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

                # 删除原始文件
                if delete_original:
                    os.remove(file_path)
lanqingxiao1 commented 3 months ago

用这个函数。>> ```` def convert_to_mp3(目录,delete_original=False):> # 支持的音频文件扩展名> file_extensions = ['.wav', '.aac']>> # 遍历指定文件夹>对os.walk(目录)中的root、dirs、文件:>对文件:> # 检查文件扩展名是否支持的列表中是否支持的列表中.path.lower()在file_extensions中:> # 完整的构建路径文件文件> file_path = os.path.join(根,文件)> # 创建输出的MP3文件路径> mp3_path = os.splitext(file_path.path)[0] + '.mp3'>> # 调用FFmpeg转换>进行命令=['ffmpeg','-i',file_path,

我用的另一个api,我也想返回转成mp3,如何把这段代码插入