lipsync 썸네일형 리스트형 언리얼4 립싱크(Text To Speech) 구현 방법 Part4 (완성) 1. 실시간 OVRLipSyncFrameSequence 생성 이전에 Runtime Audio Importer 플러그인과 RawData 상태의 소리값을 사용해 SoundWave 객체를 만들고 목소리를 들어봤었다. 그리고 이제 또 립싱크를 위해서는 OVRLipSyncFrameSequence 객체가 필요하다. 그런데 OVRLipSyncFrameSequence 객체로 변환하는 방법이 에디터의 콘텐츠 브라우저에서 진행 되었었다. 입력되는 텍스트를 매번 파일로 만들고 에디터에서 다시 변환한다면 매우 비효율적이다(는 주관적 생각). 때문에 해당 플러그인에서 시퀀스 생성 부분을 실행 중에도 사용할 수 있도록 해보자. 시퀀스 생성 노드를 바로 사용할 수 있다면 좋겠지만, 해당 함수는 Private 폴더에 있고 파일을 생.. 언리얼4 립싱크(Text To Speech) 구현 방법 Part3 1. Viseme 이전에 텍스트를 목소리로 변환해 보았다. 이제 립싱크를 위해서는 그 목소리에서 특정 값을 추출해야한다. 우리가 추출할 값을 보통 Viseme 값이라고 한다. 위키백과(https://en.wikipedia.org/wiki/Viseme) MS 음성 서비스에서 제공하는 REST API 경우 Viseme 값을 추출하는 기능이 지원되지 않는다. 언리얼에서 사용할 AzureTTS 플러그인은 REST API를 이용하기 때문에 또 다른 플러그인이 필요하다. 2. OVRLipSync 2.1. OVRLipSync - USoundBase to Visemes 처음에 플러그인을 모두 준비했겠지만, 만약 안 되어 있다면 마저 다운받고 실행해주자. 그리고 OVRLipSync 플러그인의 테스트에 사용할 대사파일을 .. 언리얼4 립싱크(Text To Speech) 구현 방법 Part2 1. 텍스트를 소리로 변환해보자. 1.1. AzureTTS Sample Project. 먼저, 빈 프로젝트를 하나 만들고, AzureTTS 샘플을 받아서 프로젝트폴더에 추가하자. UE4(https://github.com/breakstring/AzureTTS) UE5(https://github.com/nedcrow/AzureTTS) 프로젝트를 열어보면 블루프린트가 이렇게 딱 하나 보인다. 블루프린트도 열어보면, 예제 노드들이 촤악 펼쳐져있다. 모두 알아두는게 좋다만, 당장 우리가 사용할 그룹은 딱 두 그룹이다. 1.2. AzureCognitiveService '샘플'을 열어봤으니 일단 Play 부터 눌러보는게 당연지사겠지만, 지금은 Play버튼을 눌러도 아무 소리가 들리지 않는다. 먼저 Subscripti.. 언리얼4 립싱크(Text To Speech) 구현 방법 Part1 1. 목적 언리얼 엔진을 사용하여 입력 텍스트에 따라 캐릭터들이 대사를 말하는 모습을 구현. 1.1. 목표 TTS(Text to speech) - AzrueTTS 3D 캐릭터의 립싱크 - 메타휴먼 캐릭터 표정 애니메이션을 다른 애니메이션과 블랜딩 2. 준비 Unreal - 4.26 MetaHuman 캐릭터 에디터에 메타휴먼 가져오는 방법: https://docs.metahuman.unrealengine.com/en-US/HowTos/ExportingMetaHumans/ExportingToUnrealEngine/ 2.4. Plugin 준비 C++로 플러그인 접근 마켓플레이스 플러그인 사용 시, '프로젝트명\Plugins\플러그인명\'경로에 Source 폴더가 있으면 C++로 접근할 수 있다. 없다면 엔진 .. 립싱크 - (메타휴먼, 리얼루전) 테스트1 - 립싱크 맛보기 테스트 매개변수: Text와 음성파일 표현방식: 블랜드 스페이스(BS) 사용 모델: 리얼루전 캐릭터 구현방법: 더보기 1. BS 생성. (기본 입모양 + 세로, 가로로 열린 각각의 입모양) 2. Text를 Letter 객체들로 분리. Letter 객체는 초.중.종성 숫자 파라미터들을 가졌다. (0.0~1.0) 3. 음성 전체 길이는 Letter 객체들이 나눠가진다. (공백 Letter 포함되며, 시간은 일반 자,모음보다 짧다.) 3-1. Letter 내의 시간 길이는 초.중.종시간만큼 다시 나뉜다. 4. 음성파일 실행. 5. 음성 재생동안 Letter들을 이용해서 BS로 연결 된 변수값들을 순차적으로 변형. 5-1. 처음과 끝 Letter 경우 초성, 종성은 무조건 0. 5-2.. 이전 1 다음