본문 바로가기

개발일지

디스코드 봇 개발 일지 2023-07-12 - TTS 봇 - 갑자기 깨달음 (계획 변경) ※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 직접 하면서 알게된 것을 모두 써서 사족이 많음 ※ 급하게 작성한 계획 변경을 기록한 내용이라 내용이 없음 이래저래 정보 검색하다가 깨달은 점이 하나 있다. RVC를 이용한 TTS 제작을 찾는데 관련된 정보가 정말 안 떴다. 보통은 기술이 나오면 은근히 그런 정보가 몇 달 내에는 나오기 마련인데, 워낙 안 나와서 좀 이상하긴 했다. 결론적으로 말하자면, RVC는 음성 → 음성 변환용 AI 모델이라 RVC로 학습된 모델을 사용해서 TTS 쓰려면 텍스트 → 음성 → 음성의 귀찮은 과정을 거쳐야만 한다. 즉, 처음에 찾았던 Glow-TTS 등과 같은 텍스트 → 음성 전용 AI 모델로 학습을 시켜야 한다. 그래서 계획을 변경하기로 했다. 일단은 RVC 관.. 더보기
디스코드 봇 개발 일지 2023-07-10 - TTS 봇 - RVC로 목소리 학습시키기 ※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 이 글에서 사용하는 프로그램 모두 오픈 소스를 이용했기 때문에 직접 코드를 올리지 않음 ※ 직접 하면서 알게된 것을 모두 써서 사족이 많음 RVC (Retrieval-based-Voice-Conversion) 뭐 AI 라는 것이 다 그렇지만, 결국 방식의 차이가 있을뿐, 효율성을 높이는 것이 그 목적이며, 그렇게 매번 새로운 기술이 나오기 마련이다. 그래서 23년 4월에 나온 것으로 보이는 이 RVC를 이용해서 저번 글에서 모았던 목소리 데이터를 가지고 학습을 시킬 것이다. 참고로 SCE-TTS에서 제시한 방법은 학습에 대략 2~3시간 정도로 예상되며, RVC는 실제로 약 3~40분(데이터 양에 비례) 정도가 걸렸던 것을 생각하면 RVC가 확실히 .. 더보기
디스코드 봇 개발 일지 2023-07-03 - TTS 봇 - 목소리 데이터 모으기 (1) ※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 이 글에서 사용하는 프로그램 모두 오픈 소스를 이용했기 때문에 직접 코드를 올리지 않음 ※ 직접 하면서 알게된 것을 모두 써서 사족이 많음 일단은 목소리를 학습을 시켜보자 일단은 학습된 모델이 있어야 소리를 낼 수 있기 때문에 그것부터 만들어보자. 사실 학습 모델(RVC 등)과 그것에 의해 학습된 모델(그거로 생성된거)이라는 명칭을 쓰는 것이 맞는지는 모르겠는데 일단은 그렇게 서술을 하겠다. 항상 공부하면서 그렇지만 정말 용어가 제일 헷갈린다. SCE-TTS 내 목소리를 이용해서 TTS를 만드는 방법을 검색해서 찾아낸 깃허브 프로젝트다. 링크는 아래에 있다. https://gist.github.com/yunho0130/a97db3296314cd70.. 더보기
디스코드 봇 개발 일지 2023-06-26 - TTS (Text to Speech) 봇 (1) - 아이디어 구상 ※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 작성자가 코드 쓰다가 계속 코드 수정함 주의 TTS (Text to Speech) 봇을 만들어보기로 계획을 했었다. 1학기 바쁜 나날 중, 친구하고 이야기하다가 아이디어를 구상했다. 지금 군인인 친구들이 디스코드에 폰으로 들어와서 (생활관에서 계속 이야기할 수는 없으니까) TTS 봇을 이용해서 말하는데, 가끔 여러 명의 친구가 사용할 때마다 같은 목소리가 나와서 누가 말하는지 헷갈리는 경우가 자주 발생한다. 이는 일반적으로 각 '언어' 별로 하나씩 되어있는 것에 의한 것이 대부분이다. 하지만 이 또한 각 계정마다 다른 언어를 지정해서 말할 수 있기 때문에, 우리가 다른 '목소리'를 지정해서 TTS 봇을 이용한다면 같은 한국어 모델을 써도 각 사람마.. 더보기
백준 10828번 - 스택 (Stack) * 문제 링크 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 내용 요약 문제에서 요구하는 명령어를 구현하는 것으로 스택이란 것을 구현해보자. 접근법 (스택이란 무엇인가?) 매우매우 중요한 자료구조 중 하나인 "스택"을 구현하는 문제다. 이 밑은 "스택"에 대한 설명으로 시작하고, Linked List는 귀찮기 때문에 간단하게 배열을 이용해서 스택을 구현하는 느낌으로 설명을 할 것이지만, 그 밑에 코드는 C++ 의 "st.. 더보기
디스코드 봇 개발 일지 2023-03-03 - OpenAI 업데이트 및 모델(GPT3.5-turbo) 교체 ※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 작성자가 코드 쓰다가 계속 코드 수정함 주의 OpenAI API 가 업데이트가 되었다. 그리고 아예 채팅 특화 모델인 gpt-3.5-turbo 가 생겼고, 가격도 기존 davinci 모델에 비해 0.1배의 가격인 1k token 당 $0.002 로 책정되었다. openai 자체는 버전이 대략 2.6.5 에서 2.7 버전으로 바뀐 것 같다. 일단은 OpenAI 파이썬 패키지를 업데이트 하자. pip install openai --upgrade 그냥 평범하게 cmd 켜서 이걸 쳐주자. 2.7.0 버전인가 그게 설치되었다면 된 것이다. (23.03.11 추가) GPT-3.5-turbo 로 바꾸기만 하면 모델만 바꾸면 아래의 에러 메시지가 뜬다. 혹시나 .. 더보기
제 1회 흐즈로컵 참가 후기 ※ 이 글은 대회가 종료된 직후에 작성자의 기억을 바탕으로 작성되어 저장해놨던 글로, 그때의 감상 및 시점을 기준으로 작성되었음을 미리 알려드립니다. ※ 이건 정말 저녁 식사 시간 빼고 제대로 참가했다. * 대회 링크 https://www.acmicpc.net/contest/view/956 제1회 흐즈로컵 www.acmicpc.net 아니 SUAPC 오픈 컨테스트 끝난지 얼마나 됐다고 1시간동안 어영부영하다가 또다른 대회가 열린걸 보고 그냥 참가를 해보았다. SUAPC Open Contest 를 꼬라박았다고 생각이 든 것도 참가 영향에 포함되었던 것 같다. 거의 정직하게 앞 문제일수록 쉬웠고, 뒷 문제일수록 어려워지는 식이라서 난 솔직히 SUAPC 같이 들쭉날쭉한 것보다는 좋았다고 생각한다. 물론 그거가.. 더보기
2023 신촌지역 대학생 프로그래밍 대회 동아리 연합 겨울 대회 (SUAPC 2023 Winter) Open Contest 어영부영 참가 후기 ※ 이 글은 대회 종료 직후에 작성자의 기억을 바탕으로 작성되어 저장해놨던 글로, 그때의 감상 및 시점을 기준으로 작성되었음을 미리 알려드립니다. ※ 정말 어영부영 참가하고 어영부영 글 쓰는 것이라 영양가 없음 주의 *대회 링크 https://www.acmicpc.net/contest/view/951 2023 신촌지역 대학생 프로그래밍 대회 동아리 연합 겨울 대회 (SUAPC 2023 Winter) Open Contest www.acmicpc.net 어김없이... 대회는 12시(정오) 시작인데 오후 3시 10분 정도에 발견 및 참가했다. 쉬운 거 위주로 풀고 대충 제끼려고 스코어보드 보고 사람들이 많이 맞춘 것부터 풀었다. A, F, K 를 시도해서 A, F 1큐에 맞고, B는 보다가 장문의 설명을 보고.. 더보기

728x90
반응형