介绍
你好。
很突然,
VTuber
我想成为
祝你成为VTuber好运虹三寺输入,YouTube 收入等。斯帕查在赚钱的同时获得批准的愿望我要满足...
但是VTuber
- 准备模型
- 括号可爱的声音
- 不知何故移动模型
- 相机捕捉? ?
- 会唱歌
- 交付需要时间
- 等....
我还没有真正研究它,但听起来这将非常困难。
您不仅要准备硬件和软件,还必须磨练自己的技能。
我真的觉得VTubers很棒。
首先,我不能忽视我的主要工作,所以我没有时间磨练我的技能。
然后再一次
让 AI 做一切(困惑)
我认为。
所以这次让你成为 AI 的文章将会
到底VTuber的第一步视频我们也有,请看一下。
共同开发者
@kdr250
@ko27
@39亚塔比斯
@hrkmed
目录
概述
这次我没有时间了,所以我要创建一个现有的服务。
我们使用的服务如下所列。
- 前 4 名
- Azure 文字转语音
- OVR LipSync
- 元人类
稍后将给出每个的详细解释。
VTuber作为第一步,这一次
成为 3D 模型并说一种语言
目标是地方。
让我们马上去做。
成为人工智能
图表
下面是我们使用的服务的示意图。
流程大致如下。
- 准备合适的文本
- 准备一个 API 来将文本和性别转换为 XML 格式
- 带有文本到语音的音频
- 使用 API 将 mp3 转换为 Base64 编码的 wav 格式
- 使用 OVR Lipsync 从语音中再现嘴部动作
-
加载 META HUMAN 准备的 3D 模型(我)并让它说话
前 4 名
这个项目是必不可少的。
3D制作平台。它主要用作游戏引擎,但最近在非游戏领域也受到关注。
这一次,我将通过检测此引擎上的文本输入、将数据传递给 API 并将 LipSync 加载到 METAHUMAN 来创建我的模型。剩余价值
它是一个用 UE 打 API 的插件。
这一次,它用于通过点击后端 API 来获取音频。
我正在接受文本输入并向后端 API 发出请求。
实际运行的蓝图如下。*蓝图・・・它就像在UnrealEngine中创建程序的工具,它是一个采用称为可视化脚本系统的机制的工具。顾名思义,可视化脚本系统是一种可视化创建程序的机制。
https://tech.pjin.jp/blog/2019/10/23/ue4_blueprint_01/运行时音频导入器
它是一个在应用程序运行时动态处理音频的插件。
这次它用于处理从后端 API 获取的音频。
实际运动部分的蓝图如下。OVR 口型同步
Oculus 口型同步插件。
这次我用它对 MetaHuman 进行口型同步。
动我模特的嘴,它创造了我在那里的错觉。
应用插件的 Blue Print 如下。元人类
META HUMAN 是一个 UE 框架,可让您创建逼真的 3D 人物角色模型。
简而言之我的亲生父母这就是为什么。
也可以将生成的模型导入 UE。这是 MetaHuman 创建的 3D 模型。
由于PC的负载,稍后将发布的视频中使用了左下叔叔。Azure - 文字转语音
Microsoft Azure 上的文本到语音转换文字转语音 API用过的。
如果您注册一个帐户,发出一个令牌并发送以下请求,响应的音频数据将返回
文字、语音类型等专有 SSML 格式可以指定为curl --location --request POST "https://${SPEECH_REGION}.tts.speech.microsoft.com/cognitiveservices/v1" --header "Ocp-Apim-Subscription-Key: ${SPEECH_KEY}" --header 'Content-Type: application/ssml+xml' --header 'X-Microsoft-OutputFormat: audio-16khz-128kbitrate-mono-mp3' --header 'User-Agent: curl' --data-raw '<speak version='''1.0''' xml:lang='''ja-JP'''> <voice xml:lang='''ja-JP''' xml:gender='''Female''' name='''ja-JP-NanamiNeural'''> 日本語の音声を話すテストです。 </voice> </speak>'这一次,我不得不从 UE 调用这个,所以我设置了一个中继服务器,以减少 UE 端的处理负载。
UE VaRest 只能接收字符串格式的 API 响应,因此 Text to Speech API 响应在中继服务器上采用 base64 编码。并返回它。
中继服务器适当Python写在 n.以供参考:
from base64 import b64encode import os from fastapi import FastAPI, Response from pydantic import BaseModel import requests URL = os.getenv(“URL”) # Azure のリクエストURL SPEECH_KEY = os.getenv(“SPEECH_KEY”) # Azure のトークン app = FastAPI() class Body(BaseModel): gender: str text: str @app.get("/tts") def main(response: Response, gender: str, text: str): headers = { "Ocp-Apim-Subscription-Key": SPEECH_KEY, "Content-Type": "application/ssml+xml", "X-Microsoft-OutputFormat": "riff-16khz-16bit-mono-pcm" } payload = f"<speak version='1.0' xml:lang='ja-JP'> <voice xml:lang='ja-JP' xml:gender='{gender}' name='{'ja-JP-KeitaNeural' if gender == 'Male' else 'ja-JP-NanamiNeural'}'> {text} </voice> </speak>" r = requests.post(URL, headers=headers, data=payload.encode("utf-8")) response.headers["Content-Type"] = "text/plain" return b64encode(r.content)结果
到目前为止,我已经完成了输入文本并说出单词的 me 模型。
我们还制作了一段视频,请观看。综上所述
VTuber的路还很长
参考
原创声明:本文系作者授权爱码网发表,未经许可,不得转载;
原文地址:https://www.likecs.com/show-308630002.html