이 페이지에서

Qt TextToSpeech 엔진

Qt TextToSpeech 는 다양한 플랫폼에 맞춰 여러 엔진 구현체를 지원하며, 기능, 가용성, 런타임 비용 간에 서로 다른 장단점을 가지고 있습니다.

엔진은 ` QTextToSpeech ` 인스턴스를 생성할 때 선택하거나, 이미 인스턴스화된 객체에서 ` engine ` 속성을 설정하여 선택할 수 있습니다. 엔진이 지정되지 않은 경우, 현재 플랫폼에 권장되는 엔진이 사용됩니다. availableEngines()를 호출하면 현재 시스템에서 사용할 수 있는 엔진 목록을 얻을 수 있습니다. 여기에는 테스트용으로 사용되는 "모의(mock)" 엔진이 포함되며, 이 엔진은 대상 시스템에 배포해서는 안 됩니다.

엔진을 설정할 때, 애플리케이션은 엔진별 매개변수의 키/값 쌍이 포함된 ` QVariantMap ` 객체를 엔진에 전달할 수 있습니다. 다음 섹션에서는 각 엔진에서 지원하는 구성 매개변수를 나열합니다. 엔진에서 지원하지 않는 매개변수는 별다른 오류 메시지 없이 무시됩니다.

WinRT

"winrt" 엔진은 Windows.Media.SpeechSynthesis 네임스페이스의 API를 사용합니다. 최신 Windows SDK가 필요하며, MinGW 컴파일러를 사용할 때는 사용할 수 없습니다. 이 엔진은 현재 Windows 버전에 설치 가능한 모든 음성에 대한 액세스를 제공합니다.

QAudioSink 이 구현은 합성기가 생성한 PCM 데이터 스트림을 오디오 장치에서 재생하기 위해 Qt Multimedia 에서 제공하는 `xml-ph-0000@deepl.internal`를 사용하여 신디사이저에서 생성된 PCM 데이터 스트림을 오디오 장치로 재생합니다.

이름유형비고
audioDeviceQAudioDevice

SAPI

"sapi" 엔진은 Windows SDK에 포함된 SAPI 5.3 프레임워크를 사용합니다. 이 엔진은 "winrt" 엔진에 비해 음질이 떨어지는 제한된 음색을 제공합니다.

SAPI 엔진은 엔진별 매개변수를 지원하지 않습니다.

Darwin

"darwin" 엔진은 iOS 기기 및 macOS 10.15에서 사용할 수 있는 AVFoundation 프레임워크를 사용합니다. 프레임워크 문서에 따르면 macOS 10.14도 지원한다고 명시되어 있지만, 기본적으로 해당 플랫폼에서는 사용할 수 있는 음성이 없습니다.

Darwin 엔진은 엔진별 매개 변수를 지원하지 않습니다.

Android

"android" 엔진은 Android 플랫폼에서 사용할 수 있는 유일한 엔진입니다. 이 엔진은 TextToSpeech 패키지를 사용하며, 이 패키지는 여러 엔진 백엔드를 지원합니다.

참고: "android"엔진은 PauseResume 기능을 지원하지 않습니다.

이름유형비고
androidEngineQStringQt에는 설치된 엔진 목록을 가져오는 API가 없습니다.

HarmonyOS

HarmonyOS 엔진은 Core Speech Kit의 텍스트 음성 변환(TTS) API를 사용합니다. 시스템 엔진이 음성을 합성하고 재생합니다.

Core Speech Kit 엔진은 고정된 언어를 위해 생성되며, 플러그인에서 이를 zh-CN 로 설정합니다. createEngine() 문서에 명시된 바와 같이, 중국어와 영어만 지원되며, 중국어의 경우 zh-CN 을, 영어의 경우 en-US 을 사용하는 것이 권장됩니다.

참고: HarmonyOS엔진은 Speak 기능만 제공합니다. PauseResume, WordByWordProgress, Synthesize 는 지원하지 않습니다.

Flite

QAudioSink "flite" 엔진은 flite 신디사이저를 사용합니다. 이 엔진은 메모리 점유량이 적어 임베디드 환경에서 특히 유용합니다. 이 플러그인은 최소 Flite 2.2 이상이 필요하며, 생성된 PCM 데이터 스트림을 렌더링하기 위해 Qt Multimedia 에서 제공되는 xml-ph-0000@deepl.internal를 사용하여 생성된 PCM 데이터 스트림을 렌더링합니다.

엔진 플러그인은 LD_LIBRARY_PATH 환경 변수에 나열된 디렉터리에서 음성 라이브러리를 검색하며, 검색이 실패할 경우 /usr/lib, /usr/lib64, /usr/lib/x86_64-linux-gnu 와 같은 일반적인 라이브러리 위치를 검색합니다.

Flite를 정적 라이브러리로 사용하는 경우, 필요한 음성 라이브러리도 엔진 플러그인에 정적으로 링크되어야 합니다. 현재 Qt를 구성할 때 이러한 음성 라이브러리를 선택하기 위한 빌드 시스템 API는 구현되어 있지 않습니다.

이름유형비고
audioDeviceQAudioDevice

speech-dispatcher

"speechd" 엔진은 speech-dispatcher 데몬과 통신하며, 최소한 libspeechd 0.9 이상이 필요합니다.

참고: speech-dispatcher엔진은 WordByWordProgress 또는 Synthesize 기능을 지원하지 않습니다.

speech-dispatcher 엔진은 엔진별 매개 변수를 지원하지 않습니다.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.