컴퓨터가 입력한 내용을 말/말하게 하는 방법

Windows 에는 컴퓨터가 말하는 대로 말하거나 말할(computer talk or speak) 수 있는 멋진 기능이 있습니다! 이 방법은 Windows XP(Windows XP) , Vista , 7, 8 및 10 에 설치된 SAPI ( 음성 응용 프로그래밍 인터페이스(Speech Application Programming Interface) )라는 내장 API 를 활용 합니다.

Microsoft Speech APIWindows 에 기본 제공되는 TTS(텍스트 음성 변환)  접근성 기능(accessibility feature) 에 사용됩니다 . API 를 호출하는 프로그램을 작성할 수도 있습니다 . 이를 통해 애플리케이션이 말할 수 있지만 이는 개발자를 위한 것입니다.

컴퓨터가 원하는 것을 말하게 하는 것만으로도 실제로 매우 쉽습니다! 이 기사에서는 사용자의 텍스트 입력(text input) 을 받아 말하는 VBS 스크립트(VBS script) 를 만드는 방법을 보여줍니다 . 또한 말하고 싶은 텍스트를 하드 코딩한 다음 해당 스크립트가 Windows 시작 또는 로그오프와 같은 특정 이벤트에서 실행되도록 예약하는 방법에 대해서도 언급하겠습니다.

텍스트 입력, 메시지 말하기

Windows에서 말하기를 원하는 내용을 입력할 수 있는 대화 상자(dialog box) 를 팝업하는 간단한 스크립트부터 시작하겠습니다 . 먼저 (First)메모장(Notepad) 을 엽니다 .

1단계:(Step 1:)  다음 텍스트를 새 문서에 붙여넣습니다.

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
sapi.Speak message

웹 브라우저(web browser and paste) 에서 텍스트를 복사 하여 메모장(Notepad) 에 붙여넣을 때 따옴표로 인해 문제가 발생합니다. 파일을 저장하기 전에 각 인용문(")을 살펴보고 삭제하고 인용문을 다시 입력해야 합니다. 아래 예에는 6개의 따옴표가 있습니다. 아래 이미지(image below) 와 같아야 합니다 .

컴퓨터가 말하게 하다

이제 파일을 저장할 때 이름을 지정하되 이름 뒤에 .VBS 도 입력해야 합니다 . 그런 다음 파일 형식( Save as type) 상자 에서 기본 텍스트 문서(Text Documents) 대신 모든 파일( All files) 을 선택합니다 .

컴퓨터로 이야기하게 하다

이제 VBS 파일(VBS file) 을 두 번 클릭 하면 말하고 싶은 텍스트를 입력할 수 있는 입력 상자 가 표시됩니다! (input box)무언가를 입력(Type something) 하고 확인을 클릭하십시오.

말하기 대화 상자

모든 것을 올바르게(everything right) 했다면 남성 또는 여성의 목소리가 문장을 말하는 것을 들어야합니다. 어떤 종류의 오류 메시지가 나타나면(error message) 텍스트를 다시 복사하여 붙여넣고 해당 따옴표를 바꾸십시오.

SAPI 음성 설정 구성

이것은 재미있지만 다른 설정으로 말하는 컴퓨터를 구성할 수도 있습니다. 우리는 볼륨, 음성 대화의 속도 또는 속도를 변경하고 남성과 여성의 성별을 변경할 수 있습니다. 다음은 몇 줄을 추가한 예제 코드 입니다.(example code)

Dim message, sapi
message=InputBox(“Enter the text you want spoken”,”Speak This”)
Set sapi=CreateObject(“sapi.spvoice”)
Set sapi.Voice = sapi.GetVoices.Item(1)
sapi.Rate = 0
sapi.volume = 100
sapi.Speak message

기본 속도(default rate) 는 0이고 범위는 -10에서 10입니다. -10은 음성이 매우 느리게 말하고 10은 매우 빠르게 말합니다. 볼륨의 기본값은 100이고 범위는 0에서 100입니다. Set sapi.Voice 로 시작하는 줄을 사용하면 시스템에 설치된 경우 다른 음성으로 변경할 수 있습니다.

선택할 수 있는 음성의 수는 운영 체제(operating system) 에 따라 다릅니다 . Windows 7 에는 Microsoft Anna 라는 목소리만 있습니다.

설치된 음성

Windows 10 에는 아래와 같이 Microsoft David와 Microsoft Zira(Microsoft David and Microsoft Zira) 의 두 가지 음성이 있습니다.

마이크로소프트 데이비스 목소리

마이크로소프트 지라 보이스

시스템에 음성이 하나만 설치된 경우 sapi.GetVoices.Item(1)sapi.GetVoices.Item(0) 으로 변경해야 합니다. 그렇지 않으면 스크립트를 실행하려고 할 때 오류 메시지가 표시 됩니다. (error message)다른 메모장 문서(Notepad document and paste) 를 만들고 아래에 코드를 붙여넣으면 어떤 음성이 설치되어 있는지 알 수 있습니다. 위와 같이 .VBS 파일로 저장하고 실행합니다.

Set VObj = CreateObject(“SAPI.SpVoice”)
For Each Voice In VObj.getvoices
I = I + 1
msgbox “” & (I – 1) & ” – ” & Voice.GetDescription
Next

지금까지 이 팝업 대화 상자 를 사용하여 텍스트를 입력했지만 단순히 (popup dialog)스크립트 파일(script file) 에 메시지를 입력할 수도 있습니다 . 이것은 스크립트가 자동으로 실행되도록 예약하려는 경우에 유용합니다. 분명히 이것은 친구와 가족에게 장난을 치는 데 사용될 수 있으며 정말 잘 작동합니다.

누군가 컴퓨터를 켜고 컴퓨터가 " 안녕 John(Hello John) , 나 너무 졸려, 제발 오늘 방해하지 마!"라고 말하는 것을 듣는다고 상상해 보십시오. 부팅할 때! 나는 경험에서 당신에게 약속할 수 있습니다. 그것은 히스테리적이며 당신은 확실히 그것을 시도해야 합니다.

메시지를 하드코딩하려면 마지막 줄을 다음과 같이 변경하면 됩니다.

sapi.Speak “Hello John, I am very tired today!”

스케줄 스크립트 파일

이제 의도한 대상에 대한 메시지를 하드코딩했으므로 원할 때 메시지를 실행하기만 하면 됩니다. 기술에 정통한 경우 AutoIt 과 같은 프로그램을 사용할 수 있습니다. 이 프로그램을 사용 하면 특정 프로그램이 열리거나 창이 최대화 또는 최소화될 때 스크립트 파일(script file) 을 실행하는 것과 같은 극단적인 작업을 수행할 수 있습니다 .

이 게시물에서 모든 것을 다룰 시간이 없지만 다행히 Microsoft 에는 스크립트로 꽤 복잡한 작업을 쉽게 수행할 수 있는 작업 스케줄러(Task Scheduler) 라는 기본 제공 기능이 있습니다.

내 이전 게시물은 Windows 에서 특정 이벤트가 발생할 때 실행되도록 스크립트 파일(script file) 을 예약하는 방법에 대해 자세히 설명합니다 . 스크립트를 작동시키는 데 문제가 있는 경우 언제든지 의견을 게시해 주시면 도와드리겠습니다. 즐기다!



About the author

저는 Windows 및 Office 소프트웨어에 대한 전문 리뷰어입니다. 저는 이러한 프로그램과 다양한 기능에 대한 깊은 지식을 가지고 있습니다. 내 리뷰는 객관적이고 상세하므로 잠재 고객이 프로그램이 얼마나 잘 작동하고 어떤 개선이 이루어질 수 있는지 알 수 있습니다. 나는 또한 리뷰를 통해서든 앱에 대한 최고의 거래를 찾는 것이든 사람들이 필요에 가장 적합한 앱을 찾도록 돕는 것을 좋아합니다.



Related posts