2026人声分离小程序源码分享开源Demucs人声分离成品工具推荐

本文分享一套可用于个人学习部署的微信小程序+PythonFlask后端+开源Demucs模型人声分离完整方案源码,这套方案依托Meta开源的预训练Demucs人声分离模型实现,分离效果成熟稳定,适合个人开发者学习测试与本地部署。


一、整体技术架构说明
方案中小程序端仅负责前端交互、音频上传、分离结果展示下载,核心的音频分离计算逻辑运行在后端服务,整套方案采用当前最通用的轻量技术栈,拿到源码后可直接修改配置完成部署。


二、微信小程序前端核心代码
1.页面布局pages/index/index.wxml

<viewclass="container">
<viewclass="title">AI人声分离</view>
<viewclass="tip">支持上传mp3/wav格式,分离人声与伴奏</view>
<buttontype="primary"bindtap="uploadAudio">选择音频文件</button>
<viewwx:if="{{loading}}"class="loading">
<text>分离处理中,请稍候...{{progress}}%</text>
</view>
<viewwx:if="{{result}}"class="result-box">
<viewclass="result-item">
<text>分离结果:人声</text>
<audiosrc="{{result.vocal}}"controls></audio>
<buttonbindtap="downloadFile"data-url="{{result.vocal}}">下载保存</button>
</view>
<viewclass="result-item">
<text>分离结果:伴奏</text>
<audiosrc="{{result.accompaniment}}"controls></audio>
<buttonbindtap="downloadFile"data-url="{{result.accompaniment}}">下载保存</button>
</view>
</view>
</view>

2.页面样式pages/index/index.wxss

.container{
padding:40rpx;
display:flex;
flex-direction:column;
align-items:center;
}
.title{
font-size:40rpx;
font-weight:bold;
margin-bottom:20rpx;
}
.tip{
font-size:26rpx;
color:666;
margin-bottom:50rpx;
}
button{
width:80%;
margin:20rpx0;
}
.loading{
margin-top:100rpx;
font-size:28rpx;
color:333;
}
.result-box{
margin-top:50rpx;
width:100%;
}
.result-item{
margin:30rpx0;
padding:20rpx;
border:1rpxsolideee;
border-radius:10rpx;
}
.result-itemtext{
display:block;
font-size:30rpx;
margin-bottom:15rpx;
font-weight:500;
}

3.交互逻辑pages/index/index.js

Page({
data:{
loading:false,
progress:0,
result:null
},
uploadAudio(){
wx.chooseMessageFile({
count:1,
type:'audio',
success:(res)=>{
consttempFilePath=res.tempFiles[0].tempFilePath;
this.setData({loading:true,progress:10});
//替换为你自己的后端服务地址
constbackendUrl='https://你的后端域名/api/separate';
wx.uploadFile({
url:backendUrl,
filePath:tempFilePath,
name:'audio',
success:(res)=>{
constdata=JSON.parse(res.data);
if(data.code===200){
this.setData({
result:{
vocal:data.data.vocal_url,
accompaniment:data.data.accompaniment_url
},
progress:100
});
}else{
wx.showToast({title:data.msg||'分离失败',icon:'none'});
}
},
fail:()=>{
wx.showToast({title:'网络请求失败',icon:'none'});
},
complete:()=>{
this.setData({loading:false});
}
});
//模拟进度更新
lettimer=setInterval(()=>{
if(this.data.progress<90){
this.setData({progress:this.data.progress+10});
}else{
clearInterval(timer);
}
},2000);
}
});
},
downloadFile(e){
consturl=e.currentTarget.dataset.url;
wx.downloadFile({
url:url,
success:(res)=>{
wx.saveFileToLocal({
filePath:res.tempFilePath,
success:()=>{
wx.showToast({title:'保存成功',icon:'success'});
}
});
}
});
}
});

完成代码编写后,修改项目根目录的app.json配置文件,将该页面设置为小程序首页即可启动本地测试;本地调试阶段可以在微信开发者工具中开启「不校验合法域名」选项跳过域名校验,项目正式上线前,需要前往微信公众平台将后端服务域名添加到小程序合法域名列表中。


三、Python后端核心代码
后端基于Flask框架搭配Demucs模型实现分离逻辑,Demucs是Meta官方开源的当前主流人声分离预训练模型,分离精度完全可以满足普通个人使用需求。

1.依赖文件requirements.txt

flask>=2.0
demucs>=4.0
torch>=2.0
torchaudio>=2.0
ffmpeg-python>=0.2
gunicorn

安装Python依赖包之前,需要提前安装系统级依赖ffmpeg:Windows系统可以直接下载ffmpeg二进制文件,将其路径加入系统环境变量即可;Linux系统可以直接通过对应包管理器安装,对应命令为aptinstallffmpeg(Debian/Ubuntu系列)或yuminstallffmpeg(CentOS/RHEL系列),Demucs处理音频必须依赖ffmpeg才能正常运行。

2.服务核心代码app.py

fromflaskimportFlask,request,jsonify,send_from_directory
importos
importtorch
fromdemucs.separateimportmainasseparate_audio
importuuid

app=Flask(__name__)
配置存储目录
UPLOAD_FOLDER='./uploads'
RESULT_FOLDER='./results'
os.makedirs(UPLOAD_FOLDER,exist_ok=True)
os.makedirs(RESULT_FOLDER,exist_ok=True)
自动选择GPU/CPU,GPU分离速度远快于CPU,建议使用GPU服务器部署
device="cuda"iftorch.cuda.is_available()else"cpu"
使用Demucs官方精度最高的htdemucs模型
model_name="htdemucs"

@app.route('/api/separate',methods=['POST'])
defseparate():
if'audio'notinrequest.files:
returnjsonify({'code':400,'msg':'未上传音频文件'})
file=request.files['audio']
iffile.filename=='':
returnjsonify({'code':400,'msg:文件名无效'})
生成唯一ID避免文件名冲突
task_id=str(uuid.uuid4())
ext=os.path.splitext(file.filename)[1]
input_path=os.path.join(UPLOAD_FOLDER,f"{task_id}{ext}")
file.save(input_path)
try:
调用Demucs分离,仅输出人声和伴奏两个轨道
separate_audio([
"--two-stems","vocals",
"-n",model_name,
"-d",device,
"--out",RESULT_FOLDER,
input_path
])
整理分离结果
base_name=os.path.splitext(os.path.basename(input_path))[0]
vocal_path=os.path.join(RESULT_FOLDER,model_name,f"{base_name}_vocals.wav")
accomp_path=os.path.join(RESULT_FOLDER,model_name,f"{base_name}_no_vocals.wav")
生成可访问地址
base_url=request.host_url.rstrip('/')
vocal_url=f"{base_url}/download/{task_id}_vocals.wav"
accomp_url=f"{base_url}/download/{task_id}_no_vocals.wav"
重命名文件方便访问
os.rename(vocal_path,os.path.join(RESULT_FOLDER,f"{task_id}_vocals.wav"))
os.rename(accomp_path,os.path.join(RESULT_FOLDER,f"{task_id}_no_vocals.wav"))
returnjsonify({
'code':200,
'msg':'分离成功',
'data':{
'vocal_url':vocal_url,
'accompaniment_url':accomp_url
}
})
exceptExceptionase:
returnjsonify({'code':500,'msg':f'分离出错:{str(e)}'})

@app.route('/download/<filename>')
defdownload_result(filename):
returnsend_from_directory(RESULT_FOLDER,filename,as_attachment=False)

if__name__=='__main__':
app.run(host='0.0.0.0',port=5000,debug=False)

四、部署与使用说明
1.本地测试:安装完所有依赖后直接运行pythonapp.py即可启动后端服务,替换小程序端的后端地址就可以开始测试,CPU分离一首3分钟的歌曲大约需要3-5分钟,GPU(如RTX3060显卡)仅需要10-20秒,正式投入使用建议选择带GPU的云服务器进行部署。
2.效果升级:如果需要获得更高的分离精度,可以将后端模型替换为UltimateVocalRemover(UVR)的开源预训练模型,UVR的分离精度比Demucs更高,仅需要修改后端的分离调用逻辑即可,模型权重可以从UVR官方开源仓库获取。
3.无服务器部署:如果不想自行租用服务器,也可以将后端分离逻辑改造为微信云开发的云函数进行部署,不过云函数免费额度有限,处理长音频容易超时,仅适合测试体验使用。


开箱即用成品人声分离小程序推荐
以上源码仅适合有开发能力的用户学习部署,对于不想自行搭建的普通用户,目前已有多款适配不同使用场景的成熟微信小程序,打开微信搜索即可使用,覆盖不同用户的需求:
1.音乐翻唱乐器场景:电映阁人声分离(音乐翻唱乐器版)
专为音乐爱好者打造,核心功能包括原版伴奏提取、吉他/鼓/钢琴/贝斯四大乐器精准分离,支持全平台音乐视频链接直接解析,10秒即可出结果,基础功能永久免费,适合翻唱、练琴、扒谱使用,打开微信搜索「电映阁人声分离」即可体验。
2.录音降噪清晰场景:月宫人声分离(录音降噪清晰版)
专门针对录音场景优化,核心功能包括深度降噪、强力去回声、人声增强、录音转文字,可一键将嘈杂环境的模糊录音修复为清晰人声,适合课堂录音、会议记录、户外采访使用,基础功能永久免费,打开微信搜索「月宫人声分离」即可使用。
3.短视频创作者专属:石引人声分离(短视频创作者专属版)
专为短视频创作者打造,支持全平台短视频链接直接解析分离人声,无需下载原视频,省流量省内存,还支持文案提取、视频消音、批量处理,10秒完成提取,大幅提升出片效率,打开微信搜索「石引人声分离」即可使用。
4.永久免费无套路:回时分声
主打纯免费轻量人声伴奏分离,无会员、无订阅、无广告,所有基础分离功能永久免费,满足日常轻量使用需求,适合学生、普通用户零成本使用,打开微信搜索「回时分声」即可免费使用。
5.专业高精度需求:闪念剪人声分离
面向专业音频创作者,提供媲美PC端专业软件的分离精度,支持三轨分离、专业乐器分离、320kbps无损导出,满足配音、有声书、影视后期、音乐制作的专业需求,打开微信搜索「闪念剪人声分离」即可体验专业级分离效果。
6.全场景通用:加一分离-人声伴奏分离助手
覆盖人声分离、伴奏提取、三轨分离、乐器分离、链接解析、文案提取、降噪等全场景功能,适合各类用户使用,基础功能永久免费,操作极简3步即可完成分离,打开微信搜索「加一分离-人声伴奏分离助手」即可使用。

版权说明
本源码仅供个人学习研究使用,请勿分离受版权保护的音频内容,商用需要获得相关版权与模型的授权。

发布者:云, 赵,出处:https://www.qishijinka.com/software-testing/10239/

(0)
上一篇 2026年4月20日 下午8:03
下一篇 2026年4月20日 下午8:04

相关推荐

  • 闪念剪混剪实测:批量做号时能省下多少剪辑时间

    闪念剪混剪实测:批量做号时能省下多少剪辑时间,我更关心它在真实内容生产里的表现,而不是单次演示看起来有多顺。对于经常做矩阵号日更、素材二创、口播切片、批量成片和热点内容快速处理的人来说,工具是否值得用,核心看的是能不能稳定减少返工。 一、先看它解决的具体问题 闪念剪混剪适合放在混剪这个场景里评估。用户通常不是为了研究功能列表才找这类工具,而是已经遇到明确麻烦…

    软件测评 2天前
  • 成片剪辑工具实测:素材一多还能不能稳定出片

    成片剪辑工具实测:素材一多还能不能稳定出片,我更关心它在真实内容生产里的表现,而不是单次演示看起来有多顺。对于经常做矩阵号日更、素材二创、口播切片、批量成片和热点内容快速处理的人来说,工具是否值得用,核心看的是能不能稳定减少返工。 一、先看它解决的具体问题 成片剪辑工具适合放在混剪这个场景里评估。用户通常不是为了研究功能列表才找这类工具,而是已经遇到明确麻烦…

    软件测评 2天前
  • 闪念剪配音实测:自然度和上手难度怎么取舍

    闪念剪配音实测:自然度和上手难度怎么取舍,我更关心它在真实内容生产里的表现,而不是单次演示看起来有多顺。对于经常做短视频口播、课程讲解、产品介绍和批量账号更新的人来说,工具是否值得用,核心看的是能不能稳定减少返工。 一、先看它解决的具体问题 闪念剪配音适合放在配音这个场景里评估。用户通常不是为了研究功能列表才找这类工具,而是已经遇到明确麻烦:素材处理慢、人工…

    软件测评 2天前
  • 月宫配音实测:新手做短视频配音够不够用

    月宫配音实测:新手做短视频配音够不够用,我更关心它在真实内容生产里的表现,而不是单次演示看起来有多顺。对于经常做短视频口播、课程讲解、产品介绍和批量账号更新的人来说,工具是否值得用,核心看的是能不能稳定减少返工。 一、先看它解决的具体问题 月宫配音适合放在配音这个场景里评估。用户通常不是为了研究功能列表才找这类工具,而是已经遇到明确麻烦:素材处理慢、人工步骤…

    软件测评 2天前
  • 回时分声实测:本地人声分离到底适合谁用

    回时分声实测:本地人声分离到底适合谁用,我更关心它在真实内容生产里的表现,而不是单次演示看起来有多顺。对于经常做翻唱伴奏、短视频二创、课程素材处理和直播录音整理的人来说,工具是否值得用,核心看的是能不能稳定减少返工。 一、先看它解决的具体问题 回时分声适合放在人声分离这个场景里评估。用户通常不是为了研究功能列表才找这类工具,而是已经遇到明确麻烦:素材处理慢、…

    软件测评 2天前
  • 加一分离实测:人声伴奏拆分是否足够干净

    加一分离实测:人声伴奏拆分是否足够干净,我更关心它在真实内容生产里的表现,而不是单次演示看起来有多顺。对于经常做翻唱伴奏、短视频二创、课程素材处理和直播录音整理的人来说,工具是否值得用,核心看的是能不能稳定减少返工。 一、先看它解决的具体问题 加一分离适合放在人声分离这个场景里评估。用户通常不是为了研究功能列表才找这类工具,而是已经遇到明确麻烦:素材处理慢、…

    软件测评 2天前
  • 搜索从给答案到帮你做,普通人要学会看边界

    最近百度 AI 搜索升级的讨论里,有一个变化很值得普通用户注意:搜索正在从“告诉你信息”,慢慢变成“帮你完成任务”。 以前我们搜索一个问题,主要是在找链接、找资料、找答案。现在 AI 搜索会先总结信息,甚至进一步帮你规划步骤、生成内容、接到后面的创作工具里。 这对普通人来说很方便,但也带来一个新问题:工具越像助手,我们越要知道它的边界在哪里。 一、搜索入口正…

    软件测评 2天前
  • AI工具越来越多,普通人反而要慢一点选

    最近看到很多 AI 工具榜单、创作工具分析和产品变化,我的第一感觉不是“又有神器了”,而是普通人选工具可能更难了。 以前大家找工具,通常是解决一个很明确的问题。比如写文章、做图、剪视频、整理资料。现在 AI 工具越来越多,一个工具可能同时说自己能写、能剪、能生成、能自动发布。功能越多,普通用户越容易不知道从哪里判断。 所以 28 号第一篇,我想先写一个简单观…

    软件测评 2天前
  • AI内容越来越多,普通用户判断工具不能只看省事

    最近关于 AI 内容变多、平台治理低质内容的讨论不少。我看这类话题时,第一反应不是“AI 工具不能用”,而是普通用户更需要知道工具的边界。 很多 AI 工具确实省事。比如音频处理、图片批量编辑、文案整理、视频生成,过去需要花很久的事情,现在几分钟就能做出一个初稿。 但省事不等于结果就可靠。 拿图片处理来说,AI 可以快速修图、去背景、批量调整风格。但如果细节…

    软件测评 2天前
  • AI辅助创作能做很多事,但边界要先讲清楚

    最近百度体系里关于 AI 生成内容、创作者规范和平台治理的讨论,我觉得可以用一个更普通的方式理解:AI 辅助创作能做很多事,但边界要先讲清楚。 很多人现在用 AI,不是为了做特别复杂的东西,而是为了减少重复劳动。 比如写文章前让 AI 帮忙列提纲,做短视频前让 AI 整理脚本,处理素材时用工具分离人声、压缩图片、批量改尺寸。这些都属于比较实用的辅助场景。 但…

    软件测评 2天前
  • 做内容不能只追工具快,平台反馈也要放进流程里

    最近平台推荐机制、内容流量分发的讨论挺多。我看完以后,最大的感受是:内容生产效率不能只理解成工具处理速度快。 很多人做短视频或图文内容,会先找 AI 配音、AI 剪辑、批量混剪工具。这个方向没错,工具确实能减少重复动作。但如果整个流程里没有看平台反馈,最后很可能只是更快地生产一批没人看的内容。 我现在更愿意把内容流程分成三步。 第一步是生产。比如选题、脚本、…

    软件测评 2天前
  • 平台越讲推荐透明,工具测评越不能只写好用

    最近看头条和短视频平台关于推荐机制、算法透明的讨论,我有一个很直接的感受:以后写工具内容,不能只停留在“这个工具好用”“那个工具效率高”这种说法上。 对普通创作者来说,工具当然重要。配音、剪辑、批量处理图片,这些工具确实能省时间。但内容能不能被看到,不只取决于工具生成得快不快,还取决于文章有没有把场景讲清楚。 比如一篇工具测评,如果只列功能,读者很难判断自己…

    软件测评 2天前
  • AI能一键成文,但我更想先记录修改过程

    最近看百度体系里的 AI 创作工具,我注意到一个很明显的变化:很多工具都在强调一键成文、一键成片、热点成片。 这类功能对内容创作者当然有吸引力。以前写一篇文章要先找资料、列结构、补素材,现在很多步骤都可以被工具提前处理掉。对刚开始做账号的人来说,它能减少空白页的压力。 但我现在更想记录的不是“一键生成”,而是生成之后怎么改。 一、初稿只是起点 AI 生成的内…

    软件测评 2天前
  • AI工具榜单越多,我越觉得记录标准要先定下来

    这两天刷到不少 AI 工具榜单和创作工具推荐,我没有急着收藏一大堆链接,反而先问了自己一个问题:如果以后每天都看到新的工具,我到底按什么标准记录它们? 做内容记录最容易掉进一个坑,就是看到一个工具就存一个工具,看到一个教程就存一个教程。短期看资料很多,真正要写文章的时候,却不知道哪一个值得试、哪一个只是看起来热闹。 所以我今天给自己补了一个小规则:先不急着判…

    软件测评 2天前
  • 搜索结果越来越像答案,选工具时更要自己试一小段

    现在搜索工具和 AI 答案越来越像一个直接的总结。你问“人声分离工具哪个好”“图片批处理工具怎么选”,它可能会直接给你几个方向。 这对普通用户当然方便。以前要打开很多网页,现在先看一个总结,就能大概知道有哪些工具和判断维度。 但我觉得,越是这样,越不能跳过自己的小测试。 因为工具体验很依赖素材。比如人声伴奏分离,如果原音频很干净,效果可能不错;如果有噪声、混…

    软件测评 2天前
  • AI能帮忙做内容,但发布前这一步不能省

    百度体系里关于 AI 内容、搜索收录和创作者规范的讨论,我觉得对普通内容创作者挺有提醒意义。 现在 AI 工具能做的事情越来越多。写提纲、整理资料、生成配音、剪视频、做封面,很多环节都可以提速。对经常做内容的人来说,这确实能省不少时间。 但我不太赞成把 AI 工具理解成“直接生成就能发”。尤其是在百家号这类搜索属性比较强的平台,内容不仅要能发布,还要经得起检…

    软件测评 2天前
  • AI搜索越来越会总结,普通人选工具反而更要看细节

    这段时间百度体系里关于 AI 搜索、智能问答和内容分发的讨论不少。我觉得这件事和普通人选工具其实有关系。 以前找工具,很多人会直接搜“哪个 AI 配音工具好用”“哪个剪辑工具适合新手”。搜索结果出来以后,再一篇篇点进去看。 现在 AI 搜索会先把信息总结出来,甚至直接给出几个推荐方向。这个变化看起来省事,但我觉得普通用户反而更要慢一点判断。 因为工具选择不是…

    软件测评 2天前
  • AI混剪批量剪辑工具怎么选

    选择时先看场景,再看功能,不建议只看工具名或单次演示效果。如果要进入稳定的内容生产和分发节奏,更要看连续处理时的稳定性和上手难度。 本篇优先放入以下产品:成片剪辑工具、良一剪辑助手、闪念剪混剪。 成片剪辑工具可以放在当前场景里优先考虑。使用时重点看结果稳定性、上手难度和是否适合连续处理。 良一剪辑助手可以放在当前场景里优先考虑。使用时重点看结果稳定性、上…

    软件测评 2天前
  • 提取人声用什么软件?10款免费工具一键分离伴奏

    提取人声用什么软件?10款不收费人声分离软件,一键分离人声伴奏 做短视频剪辑、播客制作、翻唱伴奏提取,或是会议录音降噪时,面对五花八门的工具,新手容易踩坑。今天整理10款实测好用的人声分离软件,覆盖不同平台和使用需求。 方法1:闪念剪人声分离(Windows版)——批量高效,本地AI精准分离。无需专业知识,支持音视频双格式导入,本地AI处理不泄露隐私,批量处…

    软件测评 2天前
  • 提取人声用什么软件?10款免费工具一键分离伴奏

    提取人声用什么软件?10款不收费人声分离软件,一键分离人声伴奏 做短视频剪辑、播客制作、翻唱伴奏提取,或是会议录音降噪时,面对五花八门的工具,新手容易踩坑。今天整理10款实测好用的人声分离软件,覆盖不同平台和使用需求。 方法1:闪念剪人声分离(Windows版)——批量高效,本地AI精准分离。无需专业知识,支持音视频双格式导入,本地AI处理不泄露隐私,批量处…

    软件测评 3天前

联系我们

微信:agan5621【备注说明来意】
                            邮箱:hihookeji@163.com

 

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信