当前位置: 首页 > wzjs >正文

四川建设网站首页网站设计相似侵权吗

四川建设网站首页,网站设计相似侵权吗,企业网站建设经济效益分析,饿了么网站开发费用0.研究背景 在实际的开发中可能会遇到这样的问题,老板让你把音频中的每个讲话人的声音分离成不同的音频片段。你可以使用au等专业的音频处理软件手动分离。但是这样效率太慢了,现在ai这么发达,我们能否借助ai之力来分离一条音频中的不同的说…

0.研究背景

在实际的开发中可能会遇到这样的问题,老板让你把音频中的每个讲话人的声音分离成不同的音频片段。你可以使用au等专业的音频处理软件手动分离。但是这样效率太慢了,现在ai这么发达,我们能否借助ai之力来分离一条音频中的不同的说话人呢?答案是肯定可以的。
这里将利用声纹识别加上语音识别来对音频中不同的说话人进行语者分离。

1.技术选择

市面上开源的声纹识别和语音识别项目有很多,比如funasr,cam++就是两个不错的选择,并且funasr是国内大厂阿里巴巴旗下开源的一个集成了ASR和标点符号预测,声纹识别,声纹对比等众多模型的一个工具框架。那么本次项目就是基于funasr进行编程开发的。

2.项目源码

项目已经开源到我的代码仓库中,大家可以访问https://github.com/lukeewin/AudioSeparationGUI
如果国内的小伙伴们不方便访问github那么也可以访问gitee,https://gitee.com/lukeewin/AudioSeparationGUI

3.项目功能

改项目支持对音频中每个说话人进行分离,不限制说话人数量,比如你的音频中存在10个说话人,也是可以进行分离的。
同时改项目还支持对分离后的音频,把相同的说话人讲的声音合并在一个音频文件中。
除了支持音频的分离外,该项目还支持分隔视频片段,通过声音驱动分隔视频,形成视频片段。

4.项目部分核心功能代码

这里这粘贴部分核心功能代码,如果需要看详细代码,可以到上面提到的代码仓库中下载。

def trans():if len(selected_file_list) != 0 and save_path.get() != '' and save_path.get() is not None:for audio in selected_file_list:if os.path.exists(audio):audio_name = os.path.splitext(os.path.basename(audio))[0]_, audio_extension = os.path.splitext(audio)show_info_label.config(text=f'正在执行中,请勿关闭程序。{audio}')speaker_audios = {}  # 每个说话人作为 key,value 为列表,列表中为当前说话人对应的每个音频片段# 音频预处理try:audio_bytes, _ = (ffmpeg.input(audio, threads=0, hwaccel='cuda').output("-", format="wav", acodec="pcm_s16le", ac=1, ar=16000).run(cmd=["ffmpeg", "-nostdin"], capture_stdout=True, capture_stderr=True))res = model.generate(input=audio_bytes, batch_size_s=300, is_final=True, sentence_timestamp=True)rec_result = res[0]asr_result_text = rec_result['text']if asr_result_text != '':sentences = []for sentence in rec_result["sentence_info"]:start = to_date(sentence["start"])end = to_date(sentence["end"])if sentences and sentence["spk"] == sentences[-1]["spk"]:sentences[-1]["text"] += "" + sentence["text"]sentences[-1]["end"] = endelse:sentences.append({"text": sentence["text"], "start": start, "end": end, "spk": sentence["spk"]})# 剪切音频或视频片段i = 0for stn in sentences:stn_txt = stn['text']start = stn['start']end = stn['end']# tmp_start = to_milliseconds(start)# tmp_end = to_milliseconds(end)# duration = round((tmp_end - tmp_start) / 1000, 3)spk = stn['spk']# 根据文件名和 spk 创建目录date = datetime.now().strftime("%Y-%m-%d")final_save_path = os.path.join(save_path.get(), date, audio_name, str(spk))os.makedirs(final_save_path, exist_ok=True)# 获取音视频后缀file_ext = os.path.splitext(audio)[-1]final_save_file = os.path.join(final_save_path, str(i)+file_ext)spk_txt_path = os.path.join(save_path.get(), date, audio_name)spk_txt_file = os.path.join(spk_txt_path, f'spk{spk}.txt')spk_txt_queue.put({'spk_txt_file': spk_txt_file, 'spk_txt': stn_txt, 'start': start, 'end': end})i += 1try:if file_ext in support_audio_format:(ffmpeg.input(audio, threads=0, ss=start, to=end, hwaccel='cuda').output(final_save_file).run(cmd=["ffmpeg", "-nostdin"], overwrite_output=True, capture_stdout=True,capture_stderr=True))elif file_ext in support_video_format:final_save_file = os.path.join(final_save_path, str(i)+'.mp4')(ffmpeg.input(audio, threads=0, ss=start, to=end, hwaccel='cuda').output(final_save_file, vcodec='libx264', crf=23, acodec='aac', ab='128k').run(cmd=["ffmpeg", "-nostdin"], overwrite_output=True, capture_stdout=True,capture_stderr=True))else:print(f'{audio}不支持')except ffmpeg.Error as e:print(f"剪切音频发生错误,错误信息:{e}")# 记录说话人和对应的音频片段,用于合并音频片段if spk not in speaker_audios:speaker_audios[spk] = []  # 列表中存储音频片段speaker_audios[spk].append({'file': final_save_file, 'audio_name': audio_name})ret = {"text": asr_result_text, "sentences": sentences}print(f'{audio} 切分完成')result_queue.put(f'{audio} 切分完成')show_info_label.config(text=f'{audio} 切分完成')print(f'转写结果:{ret}')# 存入合并队列audio_concat_queue.put(speaker_audios)else:print("没有转写结果")except Exception as e:print(f"转写异常:{e}")else:print("输入的文件不存在")messagebox.showinfo("提醒", "输入的文件不存在")else:print("没有填写输入输出")messagebox.showinfo("提醒", "没有填写选择文件或保存路径")

5.运行效果

在这里插入图片描述

6.其它

该项目使用Python开发,这里推荐Python版本为3.8,同时该项目中还依赖于ffmpeg,因此你需要提前安装好ffmpeg,并且配置好环境变量,这里需要注意,安装的路径中不要出现中文或者空格或者特殊字符。
如果你是小白,不懂如何运行这个项目,你也可以点击这里。


文章转载自:

http://QLKTes21.hbLkq.cn
http://5fDuNjXG.hbLkq.cn
http://IHxHqyJV.hbLkq.cn
http://oDytE1cr.hbLkq.cn
http://3FKDXwVH.hbLkq.cn
http://ZODinx0Q.hbLkq.cn
http://eWdsEN31.hbLkq.cn
http://wLX8HqJF.hbLkq.cn
http://jW8ChkWM.hbLkq.cn
http://xh0A8K9x.hbLkq.cn
http://vXwC9PPL.hbLkq.cn
http://Bsd524BY.hbLkq.cn
http://yzKCs0qh.hbLkq.cn
http://stJGJcH1.hbLkq.cn
http://x5GBCmAL.hbLkq.cn
http://O0aWCQiV.hbLkq.cn
http://jh9l857F.hbLkq.cn
http://fXkioslh.hbLkq.cn
http://wapLOQTT.hbLkq.cn
http://LizwRjh1.hbLkq.cn
http://75bZN53P.hbLkq.cn
http://QbgXzN2N.hbLkq.cn
http://KkHP3FmQ.hbLkq.cn
http://GL6LrwNt.hbLkq.cn
http://lBJdZFJK.hbLkq.cn
http://A0p0Je6Y.hbLkq.cn
http://WuY2ET9A.hbLkq.cn
http://42YybXyH.hbLkq.cn
http://qL2vdbkr.hbLkq.cn
http://KBuqyvF9.hbLkq.cn
http://www.dtcms.com/wzjs/698996.html

相关文章:

  • 北白象镇做公司网站哪里有国内建网站知名企业
  • 哈尔滨口碑好的网站建设成都农业网站建设
  • 站长工具官方网做信贷抢客户网站
  • 网站如何添加百度地图免费创建网站平台有哪些
  • 商城网站的基本功能做网站一个月能挣多少钱
  • 建设企业网站的意义网页游戏平台返利
  • html 动漫网站烟台优化网站排名
  • html5 网站logo地方门户网站的推广
  • 网站改备案信息吗威海seo公司
  • 企业网站推广哪个公司好佛山伦教网站设计
  • 网站这么做404页面网站模版源码
  • 做网站编辑有什么发展wordpress编辑器增加按钮
  • 网站建设 方案书网站开发职位要求
  • 网站建设服务器的搭建方式淮阳城乡建设局网站
  • 黄南州wap网站建设公司互联网加项目策划书
  • 做视频网站 视频放在哪里找淮北市相山区建设局网站
  • 给别人做网站怎么收取费用中国十大企业培训公司
  • 如何建微信商城网站苏州网站建设制作公司
  • 石家庄网站建设维护杭州个体户注册
  • 网站规划和建设的基本要求安庆做网站的公司
  • 建设网站报价表大连网络产业大厦
  • 网站怎么收录到百度值得信赖的深圳app开发公司
  • 张店网站优化网站域名要钱吗
  • 2017网站建设趋势网站集群建设是
  • 商丘河南网站建设义乌便宜自适应网站建设厂家
  • 自己做网站可以上传软件网络推广方案包括哪些内容
  • 小型购物网站开发国内网站建设公司排名
  • 网站怎么做自营销三门峡网站制作
  • 华硕建设公司网站wordpress添加全屏广告
  • 北京住房和城乡建设网站怎么做试玩平台推广网站