팁 & 테크
안녕하세요. 매니아입니다.
오토핫키 동호회에서 좋은 정보가 있어서 공유하고자 합니다. 원문은 영문을 클립보드에 담아
이를 읽어내는 프로그램인데... 아쉽게도 단어의 조합이라 읽기속도 문제와 문장의 조합에서는 오류가 나더군요.
간단하게 StringReplace를 이용해서 속도 및 문장의 읽기가 되도록 변경해봤습니다.
참 대단한 스크립트입니다. AutoHotKey!
사용법은 간단하죠 영어문장을 드래그 해서 블럭지정하고 Ctrl+C(복사)한다음 Shift+Pause 누르시면
블럭내용을 영어루 읽어줍니다. 사전찾아서 스피커 버튼 누르는 수고는 덜었네요.
그럼 수고하세요.
;=======================================================
;09. speak (in) English
;=======================================================
#Persistent
return
+Pause::
{
ToolTip, %Clipboard%
TEMPFILE = %TEMP%\TALK.vbs
StringReplace, Clipboard, Clipboard, %A_SPACE%, %A_TAB%%A_TAB%%A_TAB%%A_TAB%, All
StringReplace, Clipboard, Clipboard, `r`n, %A_TAB%%A_TAB%%A_TAB%%A_TAB%%A_TAB%%A_TAB%, All
StringReplace, Clipboard, Clipboard, `", , All; 마늘아빠님 조언으로 추가된 내용입니다.
IfExist, %TEMPFILE%
FileDelete, %TEMPFILE%
FileAppend, Dim Talk`nSet Talk = WScript.CreateObject("SAPI.SpVoice")`nTalk.Speak "%Clipboard%", %TEMPFILE%
RunWait, %TEMPFILE%
FileDelete, %TEMPFILE%
ToolTip,
Clipboard =
}
return
번역 및 네이티브 스피킹 지원 프로그램은 찾아보면 많이 있겠죠.
제가 올린 글도 어느 분의 열의로 부터 시작된 AutoHotKey 오픈소스로부터
나름대로의 궁금함을 해소한데 대한 기쁨을 공유하고자 함 이였습니다.
아울러 기 경험자의 조언을 얻을 수 있었으면 하는 바램이였구요.
적어도 제가 올린 글에대한 해명은 있어야 할 것 같아 몇자 적어 봤습니다.
해보니 오류가 납니다.
GlovePIE라는 프로그램도 써보세요.
Say("hello")라고 쓰기만 하면 “Hello”라고 읽어줍니다.
클립보드를 읽어들이는 것도 어렵지 않을 테고요.
위에 퍼올린 글은 오토핫키 동호회 스크립트 공유란의 글을
HC여유 님게서 소개하신 내용을 옮겨쓴 정도입니다. 미처 출처를 밝히지 못해 죄송~
http://www.autohotkey.pe.kr/bbs/board.php?bo_table=script&wr_id=27&sfl=wr_subject%7C%7Cwr_content&stx=SpVoice&sop=and
말씀해주신대로 영문이나 단어의 앞뒤로 더블쿼텐션(")이 있는경우 오류가 남을 확인했습니다.
무식하지만 StringReplace로 "를 지우는 정도로 해결을 볼 수 있을 것 같습니다만....
처음 오토핫키에 접했을때 마늘아빠님 도움을 많이 받았었거든요... 조언을 해주시면 감사드릴께요. ^^