OpenVoiceV2本地部署教程,苹果MacOs部署流程,声音响度统一,文字转语音,TTS

news2024/10/7 14:32:30

在这里插入图片描述

最近OpenVoice项目更新了V2版本,新的模型对于中文推理更加友好,音色也得到了一定的提升,本次分享一下如何在苹果的MacOs系统中本地部署OpenVoice的V2版本。

首先下载OpenVoiceV2的压缩包:

OpenVoiceV2-for-mac代码和模型 https://pan.quark.cn/s/33dc06b46699

该版本针对MacOs系统做了一些优化,同时针对中文语音做了响度统一的修改。

解压缩后,首先将项目目录中的HF_HOME中的hub文件夹拷贝到当前系统的如下目录:

/Users/当前用户名/.cache/huggingface

这是huggingface模型在Mac系统的默认保存路径,如果不拷贝的话,需要从头下载十几个G的预训练模型,非常麻烦。

随后回到项目的根目录,输入命令:

conda create -n openvoice python=3.10

创建Python版本为3.10的虚拟环境,注意版本只能是3.10。

接着激活虚拟环境:

conda activate openvoice

系统返回:

(base) ➜  OpenVoiceV2 git:(main) ✗ conda activate openvoice  
(openvoice) ➜  OpenVoiceV2 git:(main) ✗

说明激活成功。

由于底层需要mecab,所以通过brew进行安装:

brew install mecab

开始安装依赖:

pip install -r requirements.txt

由于OpenVoice只负责音素的提取,转换语音还需要tts支持,这里底层依赖melo-tts模块。

进入Melo目录:

(openvoice) ➜  OpenVoiceV2 git:(main) ✗ cd MeloTTS   
(openvoice) ➜  MeloTTS git:(main) ✗

安装MeloTTS依赖:

pip install -e .

成功后,需要单独下载字典文件:

python -m unidic download

随后回到根目录,启动项目即可:

python app.py

系统返回:

(openvoice) ➜  OpenVoiceV2 git:(main) ✗ python app.py   
Running on local URL:  http://0.0.0.0:7860  
IMPORTANT: You are using gradio version 3.48.0, however version 4.29.0 is available, please upgrade.  
--------  
  
To create a public link, set `share=True` in `launch()`.

至此,就完成了在MacOs中针对OpenVoice的部署。

结语

OpenVoice的一个突破性功能是其能够进行zero-shot跨语言声音克隆。它可以将声音克隆到未包含在训练数据集中的语言中,而无需为这些语言提供大量说话者的训练数据。但事实上,与具有丰富标记数据的传统监督学习相比,Zero-shot learning在未知类别上通常面临较低的准确性,特别是在复杂类别上。依赖辅助信息可能会引入噪声和不准确性,所以,对于一些很特殊的音色,OpenVoice的效果并不好,必须针对底模进行微调才能够解决此类问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1660234.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Minio(官方docker版)容器部署时区问题研究记录

文章目录 感慨&概述补充:MINIO_REGION和容器时间的关系 问题一:minio容器和本地容器时间不一致问题说明原因探究解决方法结果验证 问题二:minio修改时间和本地查询结果不一致具体问题原因探究解决办法时间转化工具类调用测试和验证上传文…

4. 从感知机到神经网络

目录 1. 从感知机到神经网络 2. 最简单的神经网络 3. 激活函数的引入 1. 从感知机到神经网络 之前章节我们了解了感知机,感知机可以处理与门、非与门、或门、异或门等逻辑运算;不过在感知机中设定权重的工作是由人工来做的,而设定合适的&a…

障碍物识别软件的优缺点

在这个科技与人文关怀交织的时代,一款基于激光雷达技术的障碍物识别软件正悄然为视障人士的日常生活带来一场革命性的改变。这一款叫做“蝙蝠避障”的软件利用先进科技的力量,为盲人出行铺设了一条更加安全、独立的道路。今天,让我们从资深记…

智能呼叫中心客服系统:企业客户服务的新引擎

在如今商业竞争激烈的大环境下,企业的客户服务需求已不仅仅局限于简单的沟通。随着科技的进步,客户对于高效、智能的交互体验有着更高的期待。为了满足这些需求,智能呼叫中心客服系统应运而生,成为企业提升客户服务质量、优化客户…

vs Code配置python环境

vs Code 作为一款轻量级的源代码编辑IDE,其以轻量级和易用性著称,笔者今天记录分享下在其上面配置python环境,因为 笔者最近在学习了解Python,其实关于python的IDE有 pyCharm,但后期还需要进行其他语言的开发,索性就弄个集成度比较…

Python专题:十、字典(1)

数据类型:字典,是一个集合性质的数据类型 字典的初始化 字典{关键字:数值} 新增元素 修改元素 字典元素访问 字典[关键字} in 操作符 字典关键字检测 字典元素遍历 ①遍历关键字

每日OJ题_记忆化搜索②_力扣62. 不同路径(三种解法)

目录 力扣62. 不同路径 解析代码1_暴搜递归(超时) 解析代码2_记忆化搜索 解析代码3_动态规划 力扣62. 不同路径 62. 不同路径 难度 中等 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器…

【算法基础实验】排序-最小优先队列MinPQ

优先队列 理论知识 MinPQ(最小优先队列)是一种常见的数据结构,用于有效管理一组元素,其中最小元素可以快速被检索和删除。这种数据结构广泛应用于各种算法中,包括图算法(如 Dijkstra 的最短路径算法和 Pr…

弱监督语义分割-对CAM的生成过程进行改进1

一、仿射变换图像结合正则项优化CAM生成 论文:Self-supervised Equivariant Attention Mechanism for Weakly Supervised Semantic Segmentation (CVPR,2020) 1.SEAM方法 孪生网络架构(Siamese Network Architecture&#xff09…

基于Springboot+Vue的Java项目-车辆管理系统开发实战(附演示视频+源码+LW)

大家好!我是程序员一帆,感谢您阅读本文,欢迎一键三连哦。 💞当前专栏:Java毕业设计 精彩专栏推荐👇🏻👇🏻👇🏻 🎀 Python毕业设计 &am…

html划过盒子出现弹窗

<template><div><div class"content">盒子<div class"topUserInfo">弹窗</div></div></div> </template><script> export default {} </script><style lang"less" scoped> .…

Pycharm 执行pytest时,会遇见某些case Empty suite

我这边的情况是有些case就是执行不了&#xff0c;百度了很多&#xff0c;有说设置选pytest的&#xff0c;有命名规范的&#xff0c;都没有成功。后面问了同事之后才发现&#xff0c;pytest 的框架&#xff0c;pytest.ini 执行的时候&#xff0c;加了个标签&#xff0c;主动把某…

2024数维杯B题详细思路代码数学建模高质量保姆级

2024年第九届数维杯大学生数学建模挑战赛题目 B 题 生物质和煤共热解问题的研究 &#xff08;1&#xff09;基于附件一&#xff0c;请分析正己烷不溶物(INS)对热解产率&#xff08;主要 考虑焦油产率、水产率、焦渣产率&#xff09;是否产生显著影响&#xff1f;并利用图像 加…

Spring如何控制Bean的加载顺序

前言 正常情况下&#xff0c;Spring 容器加载 Bean 的顺序是不确定的&#xff0c;那么我们如果需要按顺序加载 Bean 时应如何操作&#xff1f;本文将详细讲述我们如何才能控制 Bean 的加载顺序。 场景 我创建了 4 个 Class 文件&#xff0c;分别命名为 FirstInitialization Se…

2024年文化交流与综合艺术国际学术会议(ICCECA 2024)

2024年文化交流与综合艺术国际学术会议(ICCECA 2024) 2024 International Conference on Cultural Exchange and Comprehensive Art 一、【会议简介】 22024年文化交流与综合艺术国际学术会议&#xff0c;将汇集全球的艺术家和学者。 在这个盛大的学术会议上&#xff0c;来自世…

SQLServer数据库还原重命名

将备份的数据还原&#xff0c;因为数据库名冲突&#xff0c;需要将还原的数据库重命名 1.新建数据库&#xff0c;例如Test1 2.右键数据库-》任务-》还原&#xff0c;进入还原数据库界面 选择设备&#xff0c;然后找到还原数据库备份文件 3.点击文件选项&#xff0c;选中‘将所…

论文阅读:《Sequence can Secretly Tell You What to Discard》,减少推理阶段的 kv cache

目前各类大模型都支持长文本&#xff0c;例如 kimi chat 以及 gemini pro&#xff0c;都支持 100K 以及更高的上下文长度。但越长的上下文&#xff0c;在推理过程中需要存储的 kv cache 也越多。假设&#xff0c;数据的批次用 b 表示&#xff0c;输入序列的长度仍然用 s 表示&a…

Python专题:六、循环语句(1)

补充知识 代码的注释 #描述性文字 阅读代码的人更好的理解代码 while循环语句 x<100条件控制语句&#xff0c;Totalx,Total自增加x&#xff0c;x1&#xff0c;x自增加1&#xff0c;x<100此条件满足时&#xff0c;执行while循环&#xff0c;当x101时&#xff0c;x101条…

开源教程「动手学大模型应用开发」,从零基础到掌握大模型开发的关键技能!

LLM 正逐步成为信息世界的新革命力量&#xff0c;其通过强大的自然语言理解、自然语言生成能力&#xff0c;为开发者提供了新的、更强大的应用开发选择。随着国内外井喷式的 LLM API 服务开放&#xff0c;如何基于 LLM API 快速、便捷地开发具备更强能力、集成 LLM 的应用&…

JAVA文件的简单操作

文件IO&#xff08;Input和Output&#xff09; 文件的输入和输出是人为规定的&#xff0c;那么什么是输入&#xff1f;什么是输出捏&#xff1f;在这里统一已CPU为基准 例如&#xff1a;将文件由内存写入硬盘就是输出&#xff0c;有硬盘写入内存就是输入。可以总结为&#xff…