Windows용 OS X `say` 명령

Windows용 OS X `say` 명령

say명령은 아마도 OS X 터미널의 가장 매력적인 기능일 것입니다. 텍스트를 입력으로 받아 컴퓨터 스피커를 통해 말합니다. Windows에 내장되어 있거나 타사 프로그램을 통해 동등한 명령줄 도구가 있습니까?

답변1

PTTS텍스트를 음성으로 변환하는 매우 간단한 Microsoft Windows 명령줄 프로그램입니다. Microsoft Text to Speech Engine 및 Microsoft Speech SDK를 사용하는 경우. 텍스트 음성 변환 엔진은 Windows XP에 설치되어 품질이 다소 떨어지는 한 음성으로 제공됩니다. Jampal 설치 프로그램에는 더 나은 두 가지 음성이 포함되어 있습니다. (홈페이지에서 인용)

리디렉션을 통해 프로그램에 텍스트를 입력하거나 텍스트를 파이프하여 간단히 사용할 수 있습니다.

ptts < file.txt
echo Hello there|ptts

답변2

오래된 도구를 작동시키려는 노력에 지쳐서 wsay.

처럼 작동하며 say, 다양한 음색을 선택하고 쉽게 웨이브 파일로 출력할 수 있습니다.

https://github.com/p-groarke/wsay/releases

건배

답변3

이를 위해 간단한 배치 스크립트를 만들었습니다. 소스 코드는 다음과 같습니다.

@echo off
echo Dim Speak >> %HOMEPATH%\speak.vbs
echo Set Speak=CreateObject("sapi.spvoice") >> %HOMEPATH%\speak.vbs
echo Speak.Speak "%*">> %HOMEPATH%\speak.vbs
%HOMEPATH%\speak.vbs
del %HOMEPATH%\speak.vbs

이 스크립트를 "speak.bat"라는 파일에 저장하고 PATH 변수가 참조하는 디렉터리로 이동합니다.

이 프로그램은 입력으로 간단한 VBS를 생성한 다음 시스템 음성으로 말합니다. 실행이 끝나면 다른 실행을 위한 공간을 제공하기 위해 스크립트가 삭제됩니다.

답변4

SDK에는 이 라이브러리가 있으므로 개인적인 노력으로 더 고급 유틸리티를 만들 수 있습니다.

https://www.microsoft.com/en-us/download/details.aspx?id=27224

이는 시스템에 기본적으로 내장되어 있고 powershell을 통해 액세스할 수 있으므로 아마도 가장 편리한 방법일 것입니다.

네임스페이스(https://msdn.microsoft.com/en-us/library/gg145021(v=vs.110).aspx)

# Call the function from the namespace
Add-Type -AssemblyName System.Speech

# Instantiate the Object
$synth = New-Object -TypeName System.Speech.Synthesis.SpeechSynthesizer

# Call the function and input your words as it's argument.
$synth.Speak('hey man')

관련 정보