본문 바로가기

디스코드 봇 만들기

디스코드 봇 개발 일지 2024-03-04 - load_extension, add_command ※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 직접 하면서 알게된 것을 모두 써서 사족이 많음 ※ 리빙 포인트) 모듈 단위로 잘 쪼개자 모든 command를 main에 다 넣는 것은 좋지 않다. 기본적으로 main에 모든 명령어를 넣는 것은 매우 비효율적이다. 다만 각 모듈 단위에 명령어를 넣어버리면 main에서 바로 사용할 수는 없다. 이를 해결하기 위해 load_extension이라는 것이 있다. 각 모듈 단위에 명령어를 구현한 파일을 놓고 이를 로드하는 것이다. load_extension #main.py import discord from discord.ext import commands bot = commands.Bot(command_prefix=constants.PREFIX,inten.. 더보기
디스코드 봇 개발 일지 2024-03-03 - 구글 클라우드로 24시간 봇 돌리기 & 주사위 기능 리팩토링 & 이모티콘 사용 ※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 직접 하면서 알게된 것을 모두 써서 사족이 많음 ※ 리빙 포인트) 리팩토링을 하니까 여기에 코드를 직접 올리기가 어렵다. 친구가 구글 클라우드로 마인크래프트 서버를 돌릴 수가 있다더라 조금 전에 디스코드 봇을 24시간 돌릴 수 있는 서버 호스팅 사이트(가급적 무료)를 찾아나섰는데 친구가 구글 클라우드로 마인크래프트 서버를 무료로 돌릴 수가 있다더라고 했다. 무료는 항상 옳기 때문에 바로 실행에 옮기기 시작했다. 검색을 해보니 가장 눈에 띄는 사이트는 https://namu.wiki/w/Discord/%EB%B4%87/%ED%98%B8%EC%8A%A4%ED%8C%85 Discord/봇/호스팅 이 문서는 Discord 봇을 서버로 호스팅하는 방법에 대.. 더보기
디스코드 봇 개발 일지 2024-02-25 - 코드 리팩토링 + command aliases ※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 직접 하면서 알게된 것을 모두 써서 사족이 많음 ※ 리빙 포인트) 리팩토링은 염원이자 닿을 수 없는 미래다 인턴이 끝났다 채용 연계 인턴은 아니라서 되게 짧기는 했는데 그래도 배운 것도 많았고 돈도 받아서 기분이 좋다. 같이 일했던 분도 업무하시면서 (요약하자면) '아 리팩토링 해야하는데' 라는 말씀을 많이 하셨다. 새 학기 시작 전이고, 그런김에 좀 배운 것을 바탕으로 모듈 단위로 좀 파일도 나누어서 코드 짜기에 더 좋게 리팩토링을 해보려고 한다. 글을 쓰는 것이 너무 어려웠다 사실 글을 쓰는 데에 너무 막히는 경우가 많았거나 한 번에 많은 것을 넣으려다가 글 하나 쓰는 데에 며칠이 걸려서 수정에 수정에 수정을 하다보니 피로해지는 것도 있긴 했다.. 더보기
디스코드 봇 개발 일지 2024-01-19 - 로컬에서 LLM 돌려보기 대실패 ※ 작성자가 작성한 내용이 일부 틀릴 수도 있음 주의 ※ 직접 하면서 알게된 것을 모두 써서 사족이 많음 ※ 리빙 포인트) 일하고 퇴근하면 피곤하다 오랜 시간이 지났다 2학기 수업을 빡세게 보내고 팀 프로젝트에서 3명 중 갑자기 1명이 10월 이후로 기여하는 게 없다가 제출 이틀 전에 와서야 포기 선언 때리고 지금은 모 회사에서 인턴을 하고 있다 어딘지, 언제까진지 등은 모두 비밀 어쨌든 퇴근하면 피곤해서 아무것도 하기 싫다 그렇지만... 그래도 계속 운영은 하고 싶기도 하고 나의 일기를 적어놓는 공간이기도 하기에 오랜만에 글을 하나 써보려 한다 사실 그동안 블로그에 올리고 싶었던 것들을 시도해봤는데 모두 다 여러 이유로 실패를 했다 뭔가 진행이 되면 그걸 주제로 쓰고 싶었는데 너무 안돼서 이렇게라도 뭘.. 더보기
디스코드 봇 개발 일지 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 봇을 이용한다면 같은 한국어 모델을 써도 각 사람마.. 더보기

728x90
반응형