Lastorder-DC / chatreader-kor

채팅 읽어주는 로봇
https://lastorder.xyz/chatreader-kor/speech.html
MIT License
16 stars 11 forks source link

퍼스널리티 적용 #7

Closed telk5093 closed 6 years ago

telk5093 commented 6 years ago

유저별 퍼스널리티(속도, 피치)를 적용할 수 있는 기능이 있으면 좋을텐데 개인적으로 속도의 경우, 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가 제대로 잡히는 지 확인은 안 해본 거라서 (적용은 됨) 코드를 손 보는게 나을 듯 합니다.

그냥 한 번 봐보세용 오홍홍