[Python] 나만의 음성 AI 일본인 친구 만들기 | github배포 .feat 치사토

미리보기

녹화후 확인해보니 음성이 두개가 겹쳐서 녹화되었네요 실제 작동시에는 깨끗한 목소리로 출력됩니다.

특징

character.ai의 api를 사용했기 때문에 사이트에있는 다양한 Ai와 소통이 가능하며 원한다면 직접 Ai를 제작하여 프로그램에서 사용해볼수 있음

마이크로 얘기를 하면 자동으로 Ai에게 전달해주며 응답언어도 한국어로 번역해줌

다양한 일본어음성 모델을 지원함

무료로 사용가능

 

제작을 위한 동기

 
어느 날 영화관에서 어벤져스를 보러 갔는데, 영화에서 아이언맨이라는 히어로가 등장했습니다. 토니스타크의 두뇌 역할을 담당했던 인공지능 AI가 자비스라는 친구가있는데 이 친구는 토니스타크가 말로 말하면 응답을 해주고 로봇에서 미사일이나오거나 정말 저런게 미래에는 가능할까 라는 의문이 들었을정도로 신기했었습니다.
 
최근에는 chatgpt부터 시작하여 많은 인공지능 서비스들이 발전하고 있으며 이미 해외에서 AI를 사용한 도우미나 친구를 만들기 시도하는걸 보고 저도 도전해보고싶었습니다.
 
전문적인 과정을 거쳐서 AI를 제작하면 좋지만 저는 초보자이기 때문에 기존에있는 기술들을 활용하여 AI친구를 파이썬으로 제작하고자 하였습니다. 이 서비스를 제작하기위해 참고하여 사용한 자료를 제공해주신분들에게 감사드립니다.
 
 

제작 과정

사용자가 직접 채팅을 칠수도있지만 영화속 Jarvis처럼 사용자가 음성을 말하면 음성을 인식하여 ai에게 전달해주고싶었습니다.
 

각 단계를 나누어보자면 마이크를 통해 음성을 인식하고 번역하여 ai에게 전달후 텍스트와 음성을 응답받도록 설계하였습니다.
 
 
그래서 첫번째로 마이크를 통한 음성인식후 텍스트로 전환해주는 STT(Speech-toText)기술이 필요했습니다.
각 나라의 언어도 다양하듯이 음성인식을 지원하는 기술중에서 한국어도 인식여부가 필수이기때문에 STT기술로는 openai의 whisper를 선택했습니다.
 
 

whisper를 사용하면 마이크를통한 음성을 텍스트로 변환해주는데 이미 해당 api를 사용하여 chatgpt와 채팅을 주고받을수있는 프로그램을 개발한 외국유튜버가 있었고 완성도가 높아서 해당영상의 코드중 일부를 가져다 참고하였습니다.
 
 

음성을 텍스트로 변환하였으면 ai에게 전달해주고 ai로부터 응답을 받아야하는데 ai를 chatgpt를 사용하여 제작하려고하였으나 높은 완성도의 ai를 제작하려면 캐릭터 설정이나 세계관등을 학습시켜야하고 그렇지않으면 부자연스러운 대화가 오고가기 때문에 인물이나 캐릭터등 대화를 주고받을수 있도록 다른사람들이 만들어놓은 character.ai를 사용하였습니다.
 
 

질문에 응답할 ai 골랐으면 ai에게 텍스트를 전달해야하는데 해당 ai는 질문한 언어로 대답하고 추후에 음성을 추가할텐데 추가할 음성은 일본어만 제공합니다. 그렇기 때문에 음성을 듣기위해선 일본어로 답변을 받아야합니다.
 
한국어로 질문을하고 해당 한국어로 일본어로 번역하여 ai에게 전달후, ai에게 답변받은 일본어를 음성모델에 전달하여 음성 목소리를 출력하고 답변받은 일본어를 한국어로 번역하여 화면에 띄워주기로 하였습니다.
이 과정에서 번역api가 필요한데 찾아보던중 Deepl 이라는 AI기술 기반 번역API를 사용하고싶었는데 비용이 들어가기때문에 무료로 사용할수 있는 api중 많이들 알고있는 papago를 선택하였습니다.
 
 

나만의 음성 AI 친구 만들기 강좌

지금도 만족하는 결과가 나오긴하였지만 추후에 디스코드나 텔레그램을 통한 응답기능도 고려하고있으며 지금 당장 추가해보고 싶은건 실제 캐릭터도 생성하여 vtuber처럼 대화를 하고싶습니다.
본 게시물을 다음으로 나만의 음성AI친구 만들었던 과정도 강좌로 작성해보겠습니다.
 
 

다운로드 및 깃허브

AI를 직접 사용해보고 싶은경우 github페이지에서 확인하실 수 있습니다.

Top