본문 바로가기
반응형

Ai14

Unity에서 OpenAI API로 AI 도슨트 만들기 Unity에서 OpenAI API로 AI 도슨트 만들기STT → LLM → TTS 흐름을 하나로 연결한 기록앞선 글들에서는 Unity에서 OpenAI API를 이용해 텍스트를 생성하고, 이미지를 만들고, TTS와 STT를 각각 붙여보는 과정을 정리했다. 여기까지는 기능을 하나씩 검증하는 단계였다면, 이번에는 그 기능들을 연결해서 실제로 대화하는 구조를 만들어본 기록을 정리해보려고 한다. 문서 기준 마지막 파트도 바로 이 지점을 다룬다. 즉, 사용자가 마이크에 질문하고, 시스템이 그 말을 이해한 뒤, 적절한 답을 생성해서 다시 음성으로 들려주는 전체 흐름이다. 이번 글의 핵심은 “OpenAI API 기능이 많다”가 아니라, 그 기능들을 어떻게 순서대로 이어서 하나의 사용자 경험으로 만들었는가에 있다. 실제.. 2026. 3. 26.
Unity에서 OpenAI API로 STT 붙이기 Unity에서 OpenAI API로 STT 붙이기마이크 입력을 텍스트로 바꾸는 흐름 정리앞선 글에서는 Unity에서 OpenAI API를 이용해 텍스트를 음성으로 바꾸고, 그 결과를 AudioSource로 재생하는 과정까지 정리했다. 이번에는 그 반대 방향으로 가본다. 즉, 사용자가 말한 음성을 받아서 텍스트로 바꾸는 STT(Speech To Text) 기능이다. 문서 기록에서도 이 파트는 OpenAI API STT Generator로 별도 정리되어 있고, 내용상으로도 이미지나 TTS와는 결이 조금 다르다. 여기부터는 단순 API 호출을 넘어서 마이크 입력, 오디오 저장, STT 요청, 결과 확인까지 하나의 흐름으로 봐야 하기 때문이다. 이번 글은 음성 입력을 받아 텍스트로 바꾸는 단계까지만 다룬다. 아.. 2026. 3. 26.
Unity에서 OpenAI API로 TTS 붙이기 Unity에서 OpenAI API로 TTS 붙이기텍스트를 음성으로 바꾸고 AudioSource로 재생해본 기록앞선 글들에서는 Unity에서 OpenAI API를 이용해 텍스트를 만들고, 이미지를 생성하고, 기존 이미지를 편집하는 과정까지 정리했다. 이번에는 그 흐름을 오디오 쪽으로 확장해봤다. 목표는 단순했다. 텍스트를 입력으로 주고, 그 결과를 실제 음성으로 만들어 Unity 안에서 재생하는 것이었다. 문서 기록 기준으로 이 파트는 OpenAI API TTS Generator로 정리되어 있고, 내용도 비교적 명확하다. 오디오 기능 개요를 먼저 짚고, 그 다음 TTS를 어떻게 Unity 씬 안에 붙였는지 설명하는 구조다. 이번 글은 음성 입력을 받아 다시 텍스트로 바꾸는 STT 파트는 아직 다루지 않는다.. 2026. 3. 26.
Unity에서 OpenAI API로 이미지 편집과 마스킹 해보기 Unity에서 OpenAI API로 이미지 편집과 마스킹 해보기Image Edit부터 부분 편집 테스트까지지난 글에서는 Unity에서 OpenAI API를 이용해 이미지를 생성하고, RawImage에 결과를 표시하는 흐름까지 정리했다. 거기까지가 “없는 이미지를 새로 만든다”는 단계였다면, 이번에는 한 단계 더 가서 기존 이미지를 편집하는 흐름을 정리해보려고 한다. 이미지 편집은 생성보다 실무적인 활용도가 더 높다. 이미 가지고 있는 원본 이미지를 바꾸거나, 특정 부분만 선택해서 수정할 수 있기 때문이다. 문서 기록도 이 구간부터는 “한 장 편집”, “여러 장 참고 편집”, “마스킹을 이용한 특정 부분 편집”처럼 옵션을 나눠 설명하고 있다. 이번 파트에서 가장 중요한 건 두 가지다. 첫째, 기존 Unit.. 2026. 3. 26.
Unity에서 OpenAI API 이미지 생성 붙이기 Unity에서 OpenAI API 이미지 생성 붙이기Organization Verification부터 실제 생성 테스트까지지난 글에서는 Unity에서 OpenAI API를 호출하기 위한 기본 세팅을 잡고, 가장 단순한 텍스트 생성 테스트까지 진행했다. 여기까지가 “API 연결이 된다”를 확인하는 단계였다면, 이번에는 한 단계 더 가서 이미지 생성 기능을 Unity 안에 붙이는 과정을 정리해보려고 한다. 다만 이미지 쪽은 텍스트 생성과 다르게 그냥 바로 코드부터 들어가면 안 됐다. 문서에도 적혀 있듯, OpenAI API로 이미지 생성 기능을 쓰기 위해서는 먼저 사용자 인증, 정확히는 Organization Verification이 선행되어야 했다. platform.openai.com → Settings .. 2026. 3. 26.
Unity에서 OpenAI API 시작하기 Unity에서 OpenAI API 시작하기API 키 발급부터 첫 텍스트 생성 테스트까지 정리이번 작업에서는 Unity 프로젝트 안에서 OpenAI API를 직접 호출할 수 있는 환경을 먼저 만들고, 가장 기본적인 기능인 텍스트 생성까지 확인해봤다. 목표는 단순했다. Unity 안에서 OpenAI SDK가 정상적으로 연결되는지 확인하고, 키 입력 한 번으로 모델 응답이 Console에 출력되는 최소 테스트를 통과시키는 것이었다. 문서 기록 기준으로는 OpenAI 플랫폼에서 API 키를 발급하고, Unity Package Manager에 OpenUPM 레지스트리를 추가한 뒤, OpenAI 패키지를 설치하고 OpenAIConfiguration에 API 키를 연결하는 흐름으로 정리되어 있다. 이번 글은 이미지 .. 2026. 3. 26.
whisper.cpp에 CUDA를 적용하고 CPU/GPU 성능을 비교 whisper.cpp에 CUDA를 적용하고 CPU/GPU 성능을 비교앞선 글에서는 whisper.cpp를 Windows 환경에서 빌드하고, CPU 기준으로 샘플 음성 파일이 정상적으로 전사되는지 먼저 확인했다. 거기까지는 “일단 돌아간다”를 보는 단계였다면, 이번에는 그 다음 단계로 넘어가서 CUDA를 붙였을 때 실제로 얼마나 빨라지는지를 확인해봤다. 결론부터 말하면 체감 차이는 꽤 컸고, 특히 인코더 구간에서 큰 변화가 있었다. 기록 기준으로 CPU에서 8초 넘게 걸리던 작업이 GPU에서는 0.4초 수준으로 줄었다.이번 글의 목적은 CUDA 설치 방법 자체를 길게 설명하는 것이 아니라, whisper.cpp가 GPU 경로로 정상 실행되도록 설정하고, CPU와 비교했을 때 어디가 얼마나 개선되는지를 확인.. 2026. 3. 26.
Windows에서 whisper.cpp를 빌드하고 CPU로 STT를 실행해본 기록 Windows에서 whisper.cpp를 빌드하고 CPU로 STT를 실행해본 기록이번에 정리한 내용은 whisper.cpp를 Windows 환경에서 직접 빌드하고, CPU 기준으로 샘플 음성 파일을 전사해보면서 기본 동작을 확인한 기록이다. 목표는 거창하지 않았다. 우선 로컬 환경에서 Whisper 기반 STT가 정상적으로 돌아가는지 확인하고, 로그를 보면서 어떤 식으로 동작하는지 감을 잡는 것이 1차 목적이었다. 이후 CUDA 적용이나 Unity 연동도 진행했지만, 그건 다음 글에서 따로 다루고 이번 글은 기본 빌드와 CPU 첫 실행에만 집중하려고 한다. 처음부터 GPU나 엔진 연동까지 한 번에 들어가면 확인해야 할 변수가 너무 많아진다. 그래서 이번에는 가장 단순한 경로로 갔다. 저장소를 받고, Vi.. 2026. 3. 26.
데이터를 따로 구해서 다시 시도 데이터를 따로 구해서 다시 시도한 기록직접 모은 데이터로 학습을 계속 돌려보면서 느낀 건 명확했다.생각보다 시간이 많이 들고, 결과는 쉽게 좋아지지 않았고, 데이터 수집 자체도 꽤 손이 많이 갔다. 한 번 잘라서 넣고 끝나는 게 아니라, 음성을 정리하고, 텍스트를 맞추고, metadata를 다시 만들고, 전처리를 돌리고, 학습을 돌린 뒤에 결과를 들어보는 과정이 계속 반복됐다. 그래서 어느 시점부터는 “이걸 계속 직접 모으는 게 맞나?”라는 생각이 들기 시작했다. 자연스럽게 다음 선택지는 공개 데이터셋이었다.처음에는 남자 목소리냐 여자 목소리냐가 중요한 게 아니라고 생각했다.지금 단계에서 가장 필요한 건 특정 화자의 완벽한 복제가 아니라, 학습이 되는 구조 자체를 확인하는 것에 더 가까웠기 때문이다. 그.. 2026. 3. 26.
MeloTTS 학습을 돌리면서 겪은 문제들 MeloTTS 학습을 돌리면서 겪은 문제들설치만 끝나면 금방 될 줄 알았다.재학습 전에 필요한 것들도 나름대로 정리해뒀고, metadata나 캐시, 전처리 같은 것도 한 번씩 점검했다. 그래서 이제부터는 진짜 학습만 잘 돌리면 되는 줄 알았다. 그런데 실제로 들어가 보니, 여기서부터가 더 오래 걸렸다. 설치는 한 번 뚫으면 끝이지만, 학습은 한 번 돌린다고 끝나지 않았다. 오히려 같은 걸 계속 반복해서 돌려보고, 결과를 듣고, 설정을 바꾸고, 다시 돌리는 과정이 계속 이어졌다. 처음에는 “학습만 시키면 점점 좋아지겠지” 정도로 생각했다.그런데 딥러닝 쪽은 늘 그렇듯, 결국 하이퍼파라미터 문제가 바로 앞에 있었다. epoch를 얼마나 줘야 하는지, batch size를 얼마나 올릴 수 있는지, learni.. 2026. 3. 26.
MeloTTS 재학습 전에 먼저 정리한 것들 MeloTTS 재학습 전에 먼저 정리한 것들MeloTTS를 Windows에서 일단 로컬로 돌리는 데까지는 성공했다.한국어 음성도 나왔고, 설치는 귀찮았지만 최소한 “이 프로젝트로 더 가볼 수는 있겠다”는 판단은 섰다. 문제는 그다음이었다. 그냥 제공되는 모델을 실행해보는 것과, 내 데이터를 넣어서 다시 학습시키는 건 완전히 다른 문제였다. 여기서부터는 설치 삽질과는 다른 종류의 귀찮음이 시작됐다. 처음에는 단순하게 생각했다.데이터를 넣고 학습 스크립트를 돌리면 되겠지 싶었다. 그런데 실제로 해보니 그렇게 간단하지 않았다. 데이터를 조금만 수정해도 이전 캐시가 남아서 에러가 나고, wav 파일 하나를 지웠는데 metadata 쪽에 흔적이 남아 있으면 바로 꼬였다. 학습 로그를 보면 손실값보다 먼저 봐야 할.. 2026. 3. 26.
로컬 MeloTTS, Windows 환경에서 진행 로컬 MeloTTS, Windows 환경에서 진행 sherpa-onnx로 한국어 TTS를 먼저 테스트해봤지만, 결과는 만족스럽지 않았다. 실행 자체는 됐는데 한국어가 아닌 외계어 수준으로 나타났다, 이걸 바로 프로젝트에 넣는 건 무리라고 판단했다. 그래서 조금 더 음성 품질이 괜찮아 보이는 쪽으로 다시 찾아보다가 MeloTTS를 보게 됐다. 문제는 처음부터 보였다.MeloTTS는 한국어 기대치는 더 높아 보였지만, Windows 설치가 만만하지 않았다. 공식 문서도 로컬 설치는 Linux/macOS 기준으로 설명하고 있었고, Windows 쪽은 Docker 설치를 권장하는 흐름이었다. 즉, 이 프로젝트는 Windows에서 바로 로컬로 쓰라고 만든 느낌은 아니었다. 그럼에도 불구하고 이번에는 일단 밀어붙여.. 2026. 3. 26.
반응형