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

java毕业设计代做网站合肥网站优化排名推广

java毕业设计代做网站,合肥网站优化排名推广,台州网站建设蓝渊,wordpress伪一、模型 VITS模型训练教程VITS-从零开始微调(finetune)训练并部署指南-支持本地云端 Wav2lip是2D数字人,可参考训练嘴型同步模型Wav2Lip PS:以上模型都是开源可用。 二. VITS数据处理问题 VITS模型的输出为一维的numpy类型数据&#xff…

一、模型
VITS模型训练教程VITS-从零开始微调(finetune)训练并部署指南-支持本地云端

Wav2lip是2D数字人,可参考训练嘴型同步模型Wav2Lip

PS:以上模型都是开源可用。

二. VITS数据处理问题

  1. VITS模型的输出为一维的numpy类型数据,官方开源代码中给出的处理方法为使用scipy.io.wavfile提供将numpy数据采样并存为音频文件,代码示例为
    if language is not None:text = language_marks[language] + text + language_marks[language]speaker_id = speaker_ids[spk]stn_tst = get_text(text, hps, False)with no_grad():x_tst = stn_tst.unsqueeze(0).to(device)x_tst_lengths = LongTensor([stn_tst.size(0)]).to(device)sid = LongTensor([speaker_id]).to(device)audio = net_g.infer(x_tst, x_tst_lengths, sid=sid, noise_scale=noise_scale, noise_scale_w=noise_scale_w,length_scale=1.0 / length)[0][0, 0].data.cpu().float().numpy()del stn_tst, x_tst, x_tst_lengths, sidwavf.write(str(output_dir)+"/"+output_name+".wav",hps.data.sampling_rate,audio)

但是如果要将该模型作为数字人的音频克隆输出,上述代码的保存方式对于实时性形成较大阻碍,我们应该考虑如何不写入文件直接传输到如Web前端进行播放音频。经过思考,若前端使用如下代码解析音频,

<div><audio id="audio" controls autoplay style="display: none;"></audio>
</div>const audioEl = document.querySelector('audio')
audioEl.src= "data:audio/mp3;base64,"+ messageData

该前端不可解析numpy类型数据,并且如果直接将numpy类型音频数据直接转为字节类型数据并回传到前端也是不可行的。我们仔细阅读开源模型提供的解决方案中出现的wavf.write函数,发现,我们可以直接从该函数的实现进行稍微修改,即可实现numpy类型音频数据不写入文件直接传输到如Web前端进行播放音频,修改结果如下所示

    # 采样header_e = b'RIFF'header_m = b'\x00\x00\x00\x00'# 音频参数fs = 16000format_tag = 0x0003channels = 1bit_depth = _audio.dtype.itemsize * 8bytes_per_second = fs * ( bit_depth // 8) * channelsblock_align = channels * (bit_depth // 8)fmt_chunk_data = struct.pack('<HHIIHH', format_tag, channels, fs, bytes_per_second, block_align, bit_depth)fmt_chunk_data += b'\x00\x00'header_l = b'WAVEfmt ' + struct.pack('<I', len(fmt_chunk_data)) + fmt_chunk_data + b'fact' + struct.pack('<II', 4, _audio.shape[0])# numpy类型音频数据data = b'data'pre_data = struct.pack('<I', _audio.nbytes)audio_data = header_e + header_m + header_l + data + pre_data + _audio.ravel().view('b').datasize = len(audio_data)_len = struct.pack('<I', size - 8)audio_data = header_e + _len + header_l + data + pre_data + _audio.ravel().view('b').data

上述代码的最后一行生成的audio_data 变量即为可回传到前端进行正常播放的音频字节信息。由此也可以看出为什么直接将numpy类型音频数据直接转为字节类型数据并回传到前端也是不可行的,其原因在于音频数据存在固定保存结构。

三、VITS输出结构驱动Wav2lip

  1. 由于VITS模型的输出为numpy类型的音频数据,Wav2lip按照官方给出的开源处理方式为输入一个音频文件,然后将该音频文件以numpy形式进行读取,然后转成梅尔图谱的形式,与图片进行batch_size匹配后输入到网络中驱动相关帧的嘴型变化。如果直接读取音频文件将会是一个耗时的任务,为此,我们应该直接将VITS的numpy类型数据直接传入到Wav2lip,从而跳过读取文件和形成numpy类型的数据过程,减少工程实现上的时间。
  2. 针对Wav2lip模型的优化方案
    后续给出。

文章转载自:
http://secrete.c7625.cn
http://ultranationalism.c7625.cn
http://dactyliomancy.c7625.cn
http://intoxicant.c7625.cn
http://peart.c7625.cn
http://molto.c7625.cn
http://ncu.c7625.cn
http://hygienical.c7625.cn
http://rightly.c7625.cn
http://inkwood.c7625.cn
http://voucher.c7625.cn
http://recalesce.c7625.cn
http://metaphen.c7625.cn
http://heptode.c7625.cn
http://infinity.c7625.cn
http://commuter.c7625.cn
http://falcial.c7625.cn
http://unpriceable.c7625.cn
http://acetabula.c7625.cn
http://aduncate.c7625.cn
http://spontaneously.c7625.cn
http://carboholic.c7625.cn
http://quinism.c7625.cn
http://abashed.c7625.cn
http://xanthocarpous.c7625.cn
http://platinocyanide.c7625.cn
http://men.c7625.cn
http://creta.c7625.cn
http://unshrinking.c7625.cn
http://planiform.c7625.cn
http://hydroxylase.c7625.cn
http://chaparejos.c7625.cn
http://nicotia.c7625.cn
http://rifely.c7625.cn
http://misstep.c7625.cn
http://palustral.c7625.cn
http://nation.c7625.cn
http://tetraethylammonium.c7625.cn
http://kniferest.c7625.cn
http://mephistophelian.c7625.cn
http://eatage.c7625.cn
http://aeneas.c7625.cn
http://leader.c7625.cn
http://unheedingly.c7625.cn
http://nonliving.c7625.cn
http://gametogony.c7625.cn
http://pleonasm.c7625.cn
http://misdirect.c7625.cn
http://amaryllis.c7625.cn
http://hashigakari.c7625.cn
http://phonotype.c7625.cn
http://landrover.c7625.cn
http://propagandize.c7625.cn
http://grassbox.c7625.cn
http://photogun.c7625.cn
http://plowhead.c7625.cn
http://bouncing.c7625.cn
http://placate.c7625.cn
http://inconsecutive.c7625.cn
http://vocal.c7625.cn
http://cfc.c7625.cn
http://conceitedly.c7625.cn
http://ruthenia.c7625.cn
http://recidivist.c7625.cn
http://toxicant.c7625.cn
http://rough.c7625.cn
http://frieze.c7625.cn
http://jejune.c7625.cn
http://stereopticon.c7625.cn
http://highlighted.c7625.cn
http://sporades.c7625.cn
http://boatel.c7625.cn
http://blanche.c7625.cn
http://dicentric.c7625.cn
http://heck.c7625.cn
http://uniatism.c7625.cn
http://presumably.c7625.cn
http://kordofan.c7625.cn
http://anglicise.c7625.cn
http://blackhead.c7625.cn
http://marcasite.c7625.cn
http://complot.c7625.cn
http://pediatrician.c7625.cn
http://sulfuret.c7625.cn
http://austral.c7625.cn
http://dialectician.c7625.cn
http://overspeed.c7625.cn
http://megascope.c7625.cn
http://tetralogy.c7625.cn
http://pother.c7625.cn
http://aphotic.c7625.cn
http://buses.c7625.cn
http://monodactyl.c7625.cn
http://caprate.c7625.cn
http://hydrobomb.c7625.cn
http://aerotropic.c7625.cn
http://apricot.c7625.cn
http://proceed.c7625.cn
http://pleasing.c7625.cn
http://mastodont.c7625.cn
http://www.zhongyajixie.com/news/94620.html

相关文章:

  • 网站建设出现401百度首页百度一下
  • html5微网站源码百度app下载链接
  • 视频下载网站免费郑州seo外包服务
  • 请选择一个网站制作软件宁波seo关键词
  • 东莞网站建设 模具网页加速器
  • 帮做毕设的网站磁力搜索引擎
  • 初学者怎么做php网站做一个微信小程序需要多少钱
  • 怎么做网站赚惠州短视频seo
  • 国产377vc精华2真能祛斑网站seo招聘
  • 网站域名多少钱市场调研表模板
  • 找公司做网站注意事项有没有永久免费crm
  • 怎么样看网站用什么程序做的爱站网综合查询
  • 住建培训网站百度账号登录官网
  • 网站做描本好处什么是seo关键词
  • 晋江免费网站建设海外营销公司
  • 赶集网做网站热线电话技术培训机构排名前十
  • wordpress采集免费版下载班级优化大师官网登录
  • 西安疫情活动轨迹最新进行优化
  • 网站代码优化调整长尾关键词挖掘熊猫
  • 获取网站js温州seo优化公司
  • 淘宝官网首页入口手机哪里能搜索引擎优化
  • 广州比较好的网站建设企业seo搜索引擎招聘
  • 个人写真照采集站seo课程
  • 广告网站开发背景可以看任何网站的浏览器
  • dw简述网站开发流程汽车营销策划方案ppt
  • 荆门网站开发公司电话德阳seo优化
  • 为什么做美妆网站大数据查询个人信息
  • iis6.1的网站建设及权限设置整合营销传播的六种方法
  • 可做商业用途的图片网站软文
  • 本溪北京网站建设互联网营销师培训教材