ironsource mediation(Unity LevelPlay)를 사용해서 페이스북(Meta) 광고 테스트를 진행중이었는데

무슨 수를 써도 안되서 한참 해매다

비즈니스 설정에 테스트할 페이스북 계정을 추가하고

앱 - 앱 테스트를 활성화해주니 잘됨;;

'공부 > 프로그래밍' 카테고리의 다른 글

c# reference source  (0) 2019.07.08

Unity 버전을 2021.3에서 2022.3대로 올리고 나서
잘 사용중이던 쉐이더가 디바이스에서 마젠타로 보이는 문제가 생겼다.

뭔일인지 감이 안잡혀서 한참 해매다가 찾아서 기록함

Tags에

 "RenderPipeline" = "UniversalRenderPipeline"

 

 

라고 사용중이었는데

 "RenderPipeline" = "UniversalPipeline"

 

로 바꾸니 잘됨

 

 

Replaced "RenderPipeline" = "UniversalRenderPipeline" with "RenderPipeline" = "UniversalPipeline" as requested by Felipe. by oleks-k · Pull Request #1431 · Unity-Technologies/Graphics (github.com)

 

Replaced "RenderPipeline" = "UniversalRenderPipeline" with "RenderPipeline" = "UniversalPipeline" as requested by Felipe. by ole

Replaced "RenderPipeline" = "UniversalRenderPipeline" with "RenderPipeline" = "UniversalPipeline" as requested by Felipe.

github.com

 

 

'공부 > Unity3D' 카테고리의 다른 글

TimelineCopyTool  (0) 2021.06.28
Unity Path  (0) 2021.05.24
Unity Android Profiler 동작 안될때  (0) 2020.02.13
Eyetracking + Blinking  (0) 2019.06.26
NGUI 한글 마지막 글자 짤리는 문제  (0) 2018.03.21

wlsdml1114/diff-svc: Singing Voice Conversion via diffusion model (github.com)

yaiconwithminsu/model: 노래민수야고마워 모델 (Diff-SVC) (github.com)

인공 르르땅으로 핫한 Diff-svc 학습방법(로컬 환경, 집 컴퓨터) - YouTube

내 목소리로 노래하는 AI 만들기 - YouTube

(위에 전부 링크들임)

 

 

wlsdml1114/diff-svc: Singing Voice Conversion via diffusion model (github.com) 을 기반으로
위 GitHub 및 영상들을 참고하여 적용해보았음.

 

==========================================================================================

23.07.30 - 1일차

점심에 할게 없어서 함 해볼까 싶어서 일단 시작

1. 아나콘다3 설치 (https://www.anaconda.com/products/distribution)
- 환경 변수 자동 설정 옵션만 키고 다음 다음 눌러서 설치

2. ffmpeg 설치 (https://www.gyan.dev/ffmpeg/builds/)
- mp4, avi 등 영상 파일에서 소리만 추출 할 때와 결과물과 음악을 합칠 때 사용

3. CUDA 설치 (https://developer.nvidia.com/cuda-11-6-2-download-archive?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local)

4. 위의 wlsdml1114/diff-svc: Singing Voice Conversion via diffusion model (github.com) Repository Clone함

5. Checkpoint 다운로드
- Nsf Hifigan만 받구 했었는데
binarize때였나 training때였나 에러가 나서 뭐지 싶었는데
로그에서 Hubert를 찾으려다 실패한듯 보여 Hubert도 받아서 넣어주니 잘 됨

 

* 환경 설정 파트

6. Anaconda 관리자 권한으로 prompt 실행 후 clone받은 프로젝트 폴더로 이동

7. conda create -n diff-svc python=3.9
conda activate diff-svc

8. pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1 --extra-index-url https://download.pytorch.org/whl/cu116
pip install -r requirements.txt

9. 설치 완료 후
set PYTHONPATH=.
set CUDA_VISIBLE_DEVICES=0

 

10. 학습용 파일 10개 제작.
(자료 찾고 받고 만드는데만 4시간 쓴듯..)

다시보기 파일을 준비해서

 

적당히 노래부르는 부분을 자른다.


- 내가 가진 영상 편집 프로그램이 따로 없어서 윈도우에 탑재되어 있는 프로그램을 썼더니 해상도 최저치가 540이라 시간을 많이 잡아먹음.. (10번같은 경우 짧아졌는데 용량이 더 커진다던지 이런일이 생김 ㅠ)
- 이제와서 생각해보면 에코나 배경음이 안들어간 그냥 말하는 부분도 준비하는게 좋았을듯

 

자른 영상에서 오디오만 추출

 

준비된 데이터들

 

 

 

11. preprocess 폴더에 제작한 학습용 파일들 다 넣음

12. 걍 python sep_wav.py 때림

15. training폴더의 config_nsf.yaml에서 설정을 바꿈
- config_nsf.yaml 파일 내용 (아래 내용들은 바꾸기 전 내용들. 항목 참고용으로 남김)

config_nsf.yaml
##################################################################################
## original wav dataset folder
## 3번에서 자르고 변환한 결과 wav파일들을 학습데이터로 만들기위해 넣어줄 폴더 이름
raw_data_dir: data/raw/test
## after binarized dataset folder
## 위 폴더에 있는 학습데이터들을 실제 학습에 사용하기위해 binarize한 결과물을 저장할 폴더
binary_data_dir: data/binary/test
## speaker name
## 이건 나중에 결과물 뽑을 때 쓰게될것
speaker_id: test
## trained model will be save this folder
## 학습데이터로 학습한 모델을 저장할 장소
work_dir: checkpoints/test
## batch size
## 모델이 한번에 학습할 양을 정한다 (CUDA out of memory에러가 나면 이 숫자를 줄이면 된다)
max_sentences: 10
## AMP(Automatic Mixed Precision) setting(only GPU) for less VRAM
## AMP를 사용할것인지 설정, 학습시간에 차이는 없지만, 한번에 더 많은 batch를 학습시킬 수 있음.
use_amp: true
load_ckpt: checkpoints/nehito_44khz/nehito_ckpt_steps_1000000.ckpt
##################################################################################

14. preprocess_out 폴더 하위의 final, voice 등 폴더에 파일들이 생성되어 있는데,
voice폴더의 파일들이 적합하지 않을까 싶어서 이것들을 위에 설정한 raw_data_dir폴더로 옮겨줌

15. python preprocessing/binarize.py --config training/config_nsf.yaml

 

* 학습 시작

16. python run.py --config training/config_nsf.yaml --exp_name test --reset
(자기 직전에 시작해서 출근 직전까지 8시간 정도 돌리다가 일단 종료하고 출근함. 대충 30,000 스텝 좀 넘게 돈걸로 기억)
python run.py --exp_name test로 재시작 확인까진 함

 

 

23.07.31 - 2일차

퇴근하구 가서 마저 해보자.
참고한 글들을 다시 보다보니 위의 작업에서 model을 nehito를 사용했는데,
여자 목소리는 liee가 더 적합하다는 듯하다. 결과물을 일단 보고 이상하면 다시해보자.

학습 돌리다가 어느 순간되면 띵! 하고 끝나는 줄 알았는데 아닌가보다.
집에가서 결과물을 한번 뽑아보자

* Tensorboard
일단 시각화해서 보는게 편할듯해서 Tensorboard 설치함

pip install tensorboard

# 설치 후
tensorboard --logdir=checkpoints/test/lightning_logs/lastest

흠 아직 갈 길이 멀다.. 거의 무슨 기계음이 전부이다
(gt와 밑에 음성이 비슷할수록 잘된거라 한다. gt_0과 wav_0을 들어보니 못알아먹을 수준이었다)
이렇게된거 liee로 바꿔서 다시 해보자
liee는 여기서 받았다.
Release LIEE_DIFF-SVC_AI_V2 · julieraptor/LIEE-DIFF-SVC-AI (github.com)

 

23.08.01 - 3일차

아침에 일어나서 확인

 

비슷은 한데... 
아직 좀 아쉽다. 하루정도만 더 돌려보자.

뭔가 아쉬워서 결과물 하나 뽑아보려는데 에러가 남.
우선
raw 폴더에 원본 파일을 넣고,
infer.py 코드를 수정한다.
(77 line의 model_path값에 지금 뽑힌 체크포인트 최신으로 바꿔준다던지 등등)

python infer.py

돌렸는데,
AssertionError: | ckpt not found in checkpoints/0102_xiaoma_pe/model_ckpt_steps_60000.ckpt.
에러가 난다. 일단 찾아서 넣어주고 돌림
(Releases · MoonInTheRiver/DiffSinger (github.com) 여기서 받음)

결과물 나쁘지 않음. 아직 기계음이 중간중간 섞이는데 더 돌리면 되는건가?
일단 오늘 하루 풀로 돌려보고 회사에서 몰래몰래 찾아봐야겠다
결과물이 flac으로 나와서

#파일 변환
ffmpeg -i input.flac -ab 320k -map_metadata 0 -id3v2_version 3 output.mp3

#합치기.
ffmpeg -i input.mp3 -i bgm.mp3 -filter_complex "[0:a][1:a]amerge=inputs=2[a]" -map "[a]" -ac 2 output.mp3

ffmpeg로 파일 변환 후 bgm과 합침

집에 도착해서 확인하니 44,000스텝에서 멈춰있다 머지???
일단 44,000 기준으로 결과물을 한번 더 뽑아 확인해보니 목소리 자체는 만족할만한 퀄리티가 나왔는데
피치나 기계음이 좀 섞이는게 맘에 안들어서 오늘 밤까지만 더 돌려보자

오후 9시 44분 - 46,000스텝 기준으로 정말 훌륭한 결과가 나왔으나 아직 튀는 구간이 좀 있다

 

23.08.02 - 4일차

마찬가지로 아침에 일어나서 확인..

78,000스텝

결과물이 맘에 든다.
기계음도 상당수 개선되어 결과물을 한번 뽑아보자

거의 다 온거 같은데 살~~~~짝 맘에 안든다.
오늘은 끄고 출근하고 밤에만 돌려보자

회사에서 비는 시간에 자료를 좀 더 찾아봤는데,
lr값을 낮춰 더 정확하게 할 수 있다고 한다.
0.0001 까지 미세 조정해가는게 좋다한다.
위의 스크린샷을 통해 내 세팅을 확인해보니 0.0008이다. 집에가서 0.0003정도로 낮춰서 해보자.

 

23.08.03 - 5일차

자기 직전 lr값을 0.0001로 낮췄는데 돌리니까 0.0002로 표시된다.
일단 걍 돌리고 일어났더니 114,000 스텝까지 쌓여있다.
결과물이 많이 정교해졌으나 아직 조금조금 튀는데 금요일까지만 돌려보고
계속 그러면 이정도는 직접 조정하는게 맘 편할듯하다

 

23.08.04 - 6일차

158,000 스텝까지 옴.
거의 다 온거 같은데 오늘 하루종일 한번 돌려보고 마무리 하면 될듯?

20만 스텝 기준으로 나쁘지는 않은데 60만까지 한번 해보자

 

23.08.06 - 8일차

30만 스텝임
저음 및 일반적인 음역대는 완벽할지두??
고음이 소스가 없어서 좀 이상함
소스를 찾아 추가해보자

그리고 목소리만 있는 깔끔한 소스를 쓰지 않은 탓 + 고음 소스가 없는 탓인지
결국엔 태어나서 한번도 안해본 믹싱 연습을 하게 되는듯..?

스텝 목표치는 60만

 

 

 

23.08.07 - 9일차

퇴근 시간이 다가오기에 고음 고민하면서 농땡이 피우고 있는데 이런걸 찾음

 

음향 엔지니어가 알려주는 AI 보컬믹싱 1편 - (재료준비와 소리섞기) - AI 음성 채널 (arca.live) - 링크

음역대+데이터 늘려주는 코드 - AI 음성 채널 (arca.live) - 링크

 

확인해보자

 

 

제대로 학습되고 있는지 확인을 위해


보컬의 특징을 잘 학습 못하는것 같은 문제 - AI 음성 채널 (arca.live) - 링크

 

이것두 확인해보자

 

----------------------------------------------------------------------------------------------------------------

여러 시도를 더 했었지만 데이터 소스가 부족해서 그런지 실패하고 (비슷하게는 나오는데 결과물이 맘에 안든다)
그냥 테스트 삼아 돌려본 RVC가 훨씬 좋은 퀄리티가 나왔다...
DIFF-SVC는 더이상 사용하지 않을듯

+ Recent posts