GithubHelp home page GithubHelp logo

lastorder-dc / chatreader-kor Goto Github PK

View Code? Open in Web Editor NEW
16.0 16.0 11.0 185 KB

채팅 읽어주는 로봇

Home Page: https://lastorder.xyz/chatreader-kor/speech.html

License: MIT License

HTML 41.89% JavaScript 58.11%
text-to-speech tts twitch twitchtv

chatreader-kor's Introduction

chatreader-kor's People

Contributors

dmc31a42 avatar fossabot avatar lastorder-dc avatar rishubil avatar telk5093 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

chatreader-kor's Issues

치지직 지원예정 없음

  1. 치지직이 정식 출시되고(혹은 베타접근 권한을 받거나)
  2. 트위치 채팅방처럼 손쉽게 연동이 가능하거나 연동 API를 제공

위 두 조건이 만족되기 전까지 지원예정 없습니다. 요청하셔도 반려됩니다.

TTS 선택기능

  • TTS 자동선택/수동선택
  • TTS 수동 선택 및 반영
  • 언어별 TTS 엔진 선택할수 있게 변경

퍼스널리티 적용

유저별 퍼스널리티(속도, 피치)를 적용할 수 있는 기능이 있으면 좋을텐데
개인적으로 속도의 경우, 145번째 줄의 if (window.initok) { 아래에

// Personality 적용
let personality_range1 = [1, 1.4];
let personality_range2 = [0.9, 1.2];

let personality_int1 = 0, personality_int2 = 0;
for(let i=0; i<e.from.length; i++) {
	personality_int1 += e.from.charCodeAt(i); // + 든 |든 뭐가 됐든 아무거나 쓴 것
	personality_int2 |= e.from.charCodeAt(i);
}
personality_int1 %= ((personality_range1[1]*10 - personality_range1[0]*10) + 1);
personality_int2 %= ((personality_range2[1]*10 - personality_range2[0]*10) + 1);

let personality_speed = 1 + (personality_int1/10) - (1 - personality_range1[0]);
if(personality_speed < 0.8) personality_speed = window.nonmod_speed;
personality_speed = Math.min(personality_speed, personality_range1[1]);

let personality_pitch = 1 + (personality_int2/10) - (1 - personality_range2[0]);
if(personality_pitch < 0.8) personality_pitch = window.nonmod_speed;
personality_pitch = Math.min(personality_pitch, personality_range2[1]);

위의 코드를 넣고

183번째 줄

playText(message, personality_speed, personality_pitch, false, e.from);

로,

191번째 줄

function playText(string, speed, pitch, ignoreKor, nickname) {

로 바꾸어서 개인적으로 사용하고 있는데 min/max가 제대로 잡히는 지 확인은 안 해본 거라서 (적용은 됨) 코드를 손 보는게 나을 듯 합니다.

그냥 한 번 봐보세용 오홍홍

로딩중으로만 뜨고 사용 불가능한 경우

채팅 읽는 로봇은 다음 외부 리소스를 사용하고 있습니다. 아래 리소스 중 하나라도 문제가 발생하면 정상 동작하지 않을 수 있으며 이는 해당 서비스 복구 이외 조치 방법이 없습니다.

  • 구글 TTS(크롬에서 사용시)
  • 트위치 로그인
  • 트위치 채팅 웹소켓

다른 TTS 목소리 지원 가능할까요?

트위치에서 잘 쓰고 있습니다!
혹시 다른 TTS 음성도 쓸 수 있을까요?

브라우저마다 목소리가 다른 것 같습니다.
브라우저에서 지원하는 목소리를 보여주고 선택할 수 있으면 좋겠네요!

크롬 71부터 TTS가 동작하지 않을수 있음

크롬 71부터 TTS 사용시 반드시 사용자 입력이 있어야됨. 즉 사용자가 문서를 한번 클릭해주지 않으면 TTS가 동작하지 않게 됨.

이에 따라 페이지 로드시 무조건 사용자가 클릭하도록 유도하도록 코드변경

모바일 환경 지원 고려

고려해야 할점

  • 모바일 환경은 멀티태스킹이 곤란(크롬을 띄워놔도 방송앱을 켜면 죽어버릴수 있음)
  • 위젯형태 사용이 일반적인데 이경우 크롬에서 제공하는 TTS 사용 불가
  • 별도 서버 사용시 비용이 문제(현재까지 정산된 후원금 0원...)

크롬 업데이트 후 CORB로 인해 사용 불가

아래와 같이 콘솔에 경고가 출력되고, 채팅 메시지를 받아올 수 없습니다.

Cross-Origin Read Blocking (CORB) blocked cross-origin response https://tmi.twitch.tv/group/user/fakechannel/chatters?oauth_token=faketoken&api_version=5&client_id=fakeid&callback=tapicJSONP667474423 with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.

갑자기 소리가 안나요!

안녕하세요 평소 잘 사용중에 있었는데 늘 블루스크린 뜨다가 이게다 Xsplit이 문제였고 결국 거하게 망가져서

Xsplit을 삭제 후 OBS로 다시 시작해서 방송은 오히려 원활해졌는데

현재 사이트를 켜서 tts 사이트 들어가면 로그인도 정상적으로 되는데 우측 클릭 눌러도 '누군구 채널에 들어왔습니다' 라거나 그런 소리도 안들리고 물론 TTS 보이스도 안되고 있어요 ㅠㅠ 어떻게 고쳐야하나요

로그아웃 하고 재 로그인해도 별 다른게 없네요 뭔가 권한 묻는게 안뜨는거 같기도 하구요 한번 해서 그런가 ㄷ

어떻게 해결하면 좋을까요?


머지 방종하고 다시 해보니까 갑자기 되네요ㄷㄷ

AWS Polly 연동 시 채팅 로그 미표시 문제

안녕하세요 저는 트위치에서 방송을 하고 있는 스트리머 워나힐입니다. 먼저

좋은 툴 만들어주셔서 감사합니다. 리듬게임 방송하면서 항상 TTS 감사히 사용하고 있습니다.

오늘 Polly 연동을 시도해 보았는데, 연동 자체는 잘 되어 채팅이 읽히는 것은 확인하였으나 Polly를 사용하지 않을 때와는 다르게 페이지 내에 채팅 로그가 뜨지 않습니다.
기존에 블랙리스트 추가를 커맨드 사용 없이 채팅 로그 단축 버튼을 통해 이용하는 입장에서, 채팅 로그가 뜨지 않는 점이 살짝 아쉽습니다. 혹시 Polly 사용 시에도 채팅 로그를 조회할 수 있도록 수정이 가능할까요?

유료 TTS 연동

  • 아마존 Polly
    • 처음 이용한뒤부터 12개월간 매월 500만글자까지 무료
    • 백만글자당 4달러
  • 구글 TTS(유료)
    • 비 WaveNet은 월 400만글자까지 무료/초과분 백만글자당 4달러
    • WaveNet(좀더 품질이 좋음)은 월 100만글자까지 무료/초과분 백만글자당 16달러
  • 네이버 TTS
    • 무료 없음
    • 1000글자당 4원

엣지에서는 여전히 작동 안 됨

image

image

전에도 썼듯이 크롬에서는 잘 되는데 어째선지 엣지나 다른 브라우저에서는 안 되네요..

!!tts voice 이거 써서 디폴트나 폴리로 바꾸어 보아도 안 되네요

TTS 앞에 "한국서버" 가 따라 붙는 문제

안녕하세요.
크로미움 환경에서 실행시 TTS 가 읽어주는 말마다 앞에 "한국서버" 가 항상 붙는 문제가 발생합니다.

사용자 채팅: 안녕
TTS 발음: 한국서버 안녕

로그인후 아무것도 되지 않는다면

트위치 해킹 이후 기존 발급된 인증키가 모두 무효화되었습니다.
로그아웃후 다시 같은 계정으로 로그인하시면 정상 동작합니다.

향후 업데이트로 마지막 로그인 날짜가 초기화 전인 경우 로그인 정보를 강제 무효화할 예정입니다.

크롬에서는 제대로 작동되는데

Discussed in #63

Originally posted by girinsujang March 29, 2022
엣지에서는 제대로 작동이 안 되네요

목소리도 다르고 일본어도 안 읽어주고

어떻게 해결 방법 없을까요?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.