努力实现开源模块化GPT4-o与Hugging Face的语音到语音

2025年01月07日 由 佚名 发表 26 0

在AI技术的发展中,许多令人惊叹的闭源模型被锁在公司内部,我们只有参与内部工作才能访问它们。


微信截图_20250108104430



相比之下,社区尝试通过构建开源模型并允许每个人改进模型来达到闭源模型的水平。我们需要了解的项目之一是Hugging Face的语音到语音。


什么是Hugging Face的语音到语音项目,为什么你应该了解它?


让我们来讨论一下。 


Hugging Face的语音到语音项目

 

该Hugging Face的语音到语音项目是一个模块化项目,使用Transformers库将多个开源模型集成到语音到语音的流程中。


该项目旨在通过利用开源模型来达到GPT4-o的能力,设计上易于修改并支持许多开发者的需求。


该流程由多个模型功能以级联方式组成,包括:


  1. 语音活动检测(VAD)
    • Silero VAD v5
  2. 语音转文本(STT)
    • 任何Whisper模型
    • Lightning Whisper MLX
    • Paraformer - FunASR
  3. 语言模型(LM)
    • Hugging Face Hub中的任何指令模型
    • max-lm
    • OpenAI API
  4. 文本转语音(TTS)
    • Parler-TTS
    • MeloTTS
    • ChatTTS


这并不意味着你需要使用上面所有可用的模型,但该流程需要上面四个模型才能正确运行。


上述流程的主要目标是将任何输入的语音转换为另一种形式,例如不同语言或语调的语音。


让我们在你的环境中设置项目以测试该流程。

 

项目设置


首先,我们需要将GitHub仓库克隆到你的环境中。以下代码将帮助你完成此操作。

git clone https://github.com/huggingface/speech-to-speech.gitcd speech-to-speech

 

根据上述设置,你可以使用pip安装所需的软件包。推荐的方法是使用uv,但你也可以使用pip安装。

pip install -r requirements.txt

 

如果你使用的是Mac,请使用以下代码。

pip install -r requirements_mac.txt

 

确保你的安装完成后再继续。还建议你使用虚拟环境,以免干扰你的主环境。
 

项目使用


有几种推荐的方法来实现该流程。第一种是使用服务器/客户端方法。


为此,你可以运行以下代码在你的服务器上运行该流程。

python s2s_pipeline.py --recv_host 0.0.0.0 --send_host 0.0.0.0

 

然后,本地运行以下代码以接收麦克风输入和生成的音频输出。

python listen_and_play.py --host

 

此外,如果你使用的是Mac,可以使用以下参数在本地使用。

python s2s_pipeline.py --local_mac_optimal_settings --host

 

如果你更喜欢这种方法,你也可以使用Docker。然而,你需要NVIDIA容器工具包来运行它。环境准备好后,你只需运行以下代码。

docker compose up

 

这就是你可以运行该流程的方法;让我们看看一些你可以在Hugging Face语音到语音流程中探索的参数。
 

附加参数


每个STT(语音转文本)、LM(语言模型)和TTS(文本转语音)都有以前缀开头的流程参数


sttlmtts


例如,这是使用CUDA运行该流程的方法。

python s2s_pipeline.py --lm_model_name microsoft/Phi-3-mini-4k-instruct --stt_compile_mode reduce-overhead --tts_compile_mode default --recv_host 0.0.0.0 --send_host 0.0.0.0

 

在上面的代码中,我们明确决定使用哪个语言模型(LM),同时控制其他模型的行为。


该流程还支持多语言使用案例,包括英语、法语、西班牙语、中文、日语和韩语。


我们可以通过以下代码添加语言参数以实现自动语言检测。

python s2s_pipeline.py --stt_model_name large-v3  --language auto --mlx_lm_model_name mlx-community/Meta-Llama-3.1-8B-Instruct

 

也可以通过以下代码强制使用特定语言(例如中文)。

python s2s_pipeline.py --stt_model_name large-v3 --language auto --mlx_lm_model_name mlx-community/Meta-Llama-3.1-8B-Instruct

 

结论

 
在追求实现闭源模型能力的过程中,Hugging Face尝试模仿一个名为语音到语音的项目。该项目利用Hugging Face Transformers库中的模型来创建一个可以执行语音到语音任务的流程。在本文中,我们探讨了该项目的结构以及如何设置它。

文章来源:https://www.kdnuggets.com/striving-open-source-modular-gpt4o-hugging-face-speech
欢迎关注ATYUN官方公众号
商务合作及内容投稿请联系邮箱:bd@atyun.com
评论 登录
热门职位
Maluuba
20000~40000/月
Cisco
25000~30000/月 深圳市
PilotAILabs
30000~60000/年 深圳市
写评论取消
回复取消