일부러 픽셀 느낌을 내는 게임도 있지만 그냥 오래되서 고전 느낌이 나는 게임들이 의외로 많습니다. 대부분은 필터로 처리하지만 그래도 뭔가 이상한건 사실이지요.

 

3D게임에서는 FSR이라던가 DLSS라던가 하는 기술이 만들어졌습니다. 낮은 해상도로 렌더링 한다음 이를 AI로 업스케일링 하는 기술인데 GPU성능 발전이 슬슬 한계를 맞이하고 있다보니 FHD수준으로 렌더링한 다음 4k이상의 화질로 뽑는 것이지요. 그런데 사실 2023년 현재 FHD면 아직 충분하다는 소리를 듣고 있고 굳이 4k까지 욕심을 내지 않다보니 이쪽은 없어도 그만이라는 소리를 주로 듣습니다.

 

그렇다면 옛날 게임은 어떨까요? 옛날에는 640x480이면 고화질이란 소리를 들었습니다. 그리고 이 화질로만 구동되는 게임들이 꽤 있었습니다. 그래서 그런지 옛날 게임을 요즘 돌리면 옛날보다 화질이 더 구립니다. 아티팩트가 튄다고 하는데 말그대로 뭔가 튀어 보이니 화질이 더 구려보이는 겁니다.

 

옛날 게임중에 Need for Speed Underground라는 게임을 예로 들면 메뉴에선 640x480으로 렌더링하고 게임안에서는 1024x728 정도로 렌더링 되도록 짜여있는데 이를 Hook해서 1920x1080으로 렌더링 하는 파일이 배포되고 있습니다. DirectX 구조가 분석이 되다보니 이런것이 가능한 것이지요. 이런 류의 프로그램들은 많이 개발 되었고 지금도 만들어지고 있습니다. 특히 DirectX구버전에서 신버전으로 구동시키는 라이브러리(dgVoodoo같은)들이 이런 기능들을 같이 내장하고 있거나 별도의 플러그인 형태로 지원합니다.

 

3D게임들이야 렌더링 해상도를 강제로 변경하면 되니까 그렇다 치는데 2D게임들은 어떨까요?

이게 참 문제인데 기본적인 2D 이미지들은 해당해상도에서 굴리는 것을 전제로 그려졌기에 픽셀이 튑니다. 그래서 이를 뭉개는 필터들이 만들어졌습니다. 하지만 필터로 뭉개면 또 그건 그것대로 보기가 안 좋습니다. 색감도 죽어버리고요.

 

그래서 개인적으로 2D게임에도 이와 비슷한 DLSS같은 업스케일링 기능이 있었으면 좋겠는데 아직 이런 것이 만들어지지는 않은 것 같습니다. 옛날 게임인 쿠키샵을 해봤는데 해상도가 참...

 그래서 생각한 것이 고전게임을 창모드로 띄운 다음 이를 업스케일링해서 또 띄워주는 그런 프로그램은 없을까하는 것입니다. Waifu2X 라는 것이 느리긴 해도 확실히 아니메풍 2D게임의 업스케일링을 잘 해주고 있고 이와 비슷한 알고리즘들도 많이 만들어져있습니다.(Anime4k, Real-ESRGAN  등) Anime4k는 fast모드로 프레임당 5ms속도로 스케일을 올린다는데 가능하다면 이런 빠른 기술로 어떻게든 가능하지 않겠는가 하는게 제 생각입니다.

 

라고 생각하고 찾아본 순간..

Magpie 라는 프로그램이 있군요... 역시 세상은 좁다..

,

오래만의 넋두리입니다

요즘 전자기기들은 펌웨어라는게 대부분 들어갑니다. 전자기기들에게 있어서 이 펌웨어는 최소 구동을 위한 요소입니다. 즉, 이 펌웨어가 없으면 전자기기들은 그냥 벽돌이됩니다.

펌웨어는 엄연히 소프트웨어이기에 버그란게 당연히 존재합니다. 걔중에는 치명적인 버그도 있고 하드웨어에 밀접한 이상 기기를 망가뜨리기도 합니다.

----------------------------
최근 ESP8266모듈을 쓸일이 있었습니다.  교육용 키트로 와이파이 기능을 쓸 수 있게하는 제품입니다.  인기가 많아서 후속작인 ESP32가 기업용 제품에 쓰이기까지 하지요.

그런데 "교육용"이기에 당연히 저는 이 제품이 아두이노처럼 그냥 예제따라 하면 작동할 줄 알았습니다. 그런데 이상하게 동작이 안 되길래 찾던중 "펌웨어업데이트의 지옥에 온걸 환영한다"라는 글이 있더군요. ESP8266모듈은 펌웨어 업데이트가 엄청 빡세기로 유명하고 시중에 도는 제품은 펌웨어가 있기도 하고 없기도 하답니다.

이게 뭔 소리인가 싶었는데 칩셋제조국을 보고 이해했습니다. 본사가 상하이...
아무래도 칩셋 구하기 쉽다보니 짝퉁도 엄청 많아서(그런데 어찌어찌 동작은 합니다) 펌웨어 버전이 낮거나 없이 파는게 많은듯 하더군요.

결국 20개의 모듈을 개삽질해가면서 펌웨어 업데이트를 했고 지금은 정상작동합니다.
하지만 업데이트 하면서 펌웨어도 안 넣고 판다고 쌍욕을 엄청 했지요.
----------------------------
얼마전에 SSD 인클로저라는걸 샀습니다.
말이 거창해서 그렇지 SSD를 USB로 연결할 수 있게하는 제품입니다.

이쪽은 그래도 나름 유명업체것을 썼기에 큰불만 없었는데 이상하게 사용하고 30분만 지나면 열이 미친듯이 나더군요. 심지어 5기가 이상 파일을 넣으면 작동을 멈춥니다.

알고보니 펌웨어 버그였고 펌웨어 업데이트를 하고나니 정상적으로 작동합니다. 심지어 작년에 핫픽스수준으로 나온것이더군요. 그냥 펌웨어가 초기 버전이었던겁니다.
원인을 알고보니 제가 산건 한국정식업체것이 아니라 병행수입제품이었고 병행수입한곳이 펌웨어업데이트를 할리가 없으니 1년동안 먼지쌓인걸 그냥 배송한겁니다.

저야 이상해서 인터넷을 찾아서 원인을 펌웨어가 문제라고 알았지만 보통사람들은 모르겠지요. 그냥 고장난줄 알거고 버릴겁니다. 정식수입업체는 펌웨어 업데이트를 직접 해준다고 하는데 저는 그것도 불가능했지요.

----------------------------------
한때 닌텐도의 위유가 펌웨어 업데이트로 곤혹을 치뤘습니다.  새제품을 사면 업데이트로 허송세월을 보냈거든요. 그런데 인터넷 상태가 좋은 집만 있는게 아니죠. 그래서 사람들이 펌웨어를 업데이트해서 팔아달라고 하니(어차피 공장에서 나오는 족족 팔려나가고 있었으니) 닌텐도가 "선물하기전에 업데이트해주세요"라는 망발을 해서 욕을 먹었습니다. 포장을 풀어서 선물을 하면 쓰던거 주는거 같아서 좀 그렇잖아요.

플레이스테이션이 구버전 펌웨어에서 보안이 뚫려서 작살난거 생각하면 펌웨어를 미리 올려야 자사에 더 이득이었을텐데요.

스위치부터는 새제품에는 그 당시 최신 펌웨어가 들어있는것 같은데 펌웨어를 공장출고단계에서 올려주는게 이래저래 더 이득이었다는걸 몰랐던것 같습니다.
---------------------------------

그러니까 제발 펌웨어좀 최신버전 넣어서 팔아주세요...

,

노래를 불러주는 AI가 있습니다. Diff-SVC라고 부릅니다.
물론 정확히 말하면 stable-diffusion을 기반으로 목소리를 변환해주는것에 가깝습니다. 뒤에 SVC는 Singing Vocal Conversion이라고 해서 대놓고 목소리변환이라고 정의합니다.

누군가의 목소리를 학습한 AI가 다른 사람이 부른 노래의 목소리를 학습한 목소리로 바꿔주는 겁니다.

방법은 Stable-Diffusion과 동일한데

1. 목소리를 학습한 AI를 준비합니다. 이 AI는 사실 MEL-Spectrogram형태로 목소리를 학습했습니다.
2. 타겟의 음성을 준비합니다.
3. 여기에 각종노이즈를 섞어줍니다. 그냥 전파가 잘 안잡히는 라디오 수준으로 만든다고 생각하면 됩니다. 노래가 잡음과 함께 들려서 "노래가 들린다"수준으로 만드는겁니다.
4. 이걸 AI한테 "복원"하라고 시킵니다. AI는 자기나름대로 "복원"작업을 해서 돌려줍니다. 물론 아는 목소리는 자기가 학습한 목소리 뿐이라 오리지널이 아닌 학습한 그 목소리로 복원해줍니다.

...?

5. 보컬의 목소리가 바뀌었습니다.


그래서 이것저것 해보던 중 굉장한 사실을 알았습니다. 분명 "복원"이지만 원래 파일상태가 개판인 타겟을 넣으면 복원된것도 개판으로 나오더군요.

전 이걸 가이드보컬이라고 부르고 있습니다. 실제 녹음실에서 가수들이 노래부를때 가이드보컬의 노래를 듣고 이에 맞춰서 자신의 목소리로 부르거든요. 가이드보컬은 주로 오래된 경력자나 진짜 실력자가 합니다. 그래야 신인 가수들이 따라오니까요.

꼭 AI가 하는 짓이 가이드보컬을 따라 부르는 느낌이네요. 괜찮은 보컬은 AI가 변환했을때 상당히 훌륭한 결과가 나오는 반면 엉망인(특히 음반에서 보컬추출 등으로 만들어서 여기저기 망가진)걸 타겟으로하면 AI도 이상하게 만듭니다.

재미있지요.
TTS의 경우 학습초기를 보면 옹알이를 들을 수 있는데 꼭 애기들이 말을 배우는 느낌이 듭니다. 그런데 보컬AI도 좋은 가이드를 만나야 좋은 결과가 나온다는게 참 신기하네요.

,