TTS(텍스트 음성 변환)

AppFramework는 TTS(텍스트 음성 변환) 기능을 위한 Speech QML 플러그인을 제공합니다. 이 기능을 사용하면 AppStudio로 생성된 응용프로그램이 음성 변조가 포함된 TTS(텍스트 음성 변환) 등의 접근성 기능을 지원할 수 있습니다. 이 TextToSpeech 컴포넌트를 사용하면 최종 사용자에게 오디오 피드백을 제공하여 시각 장애인을 지원하고 기기에서 보이지 않는 정보를 사용자에게 제공할 수 있습니다. 이 기능을 사용하려면 먼저 다음과 같은 가져오기 문을 포함해야 합니다.

import ArcGIS.AppFramework.Speech 1.0

TTS(텍스트 음성 변환)

TextToSpeech 컴포넌트의 핵심은 제출된 텍스트를 음성 문으로 변환하는 say 메소드입니다. 다음 코드 샘플은 버튼을 클릭했을 때 텍스트 영역의 내용을 읽는 방법을 보여 줍니다.

ColumnLayout {
    anchors {
        fill: parent
        margins: 4 * AppFramework.displayScaleFactor
    }
    TextToSpeech {
        id: textToSpeech
    }
    Rectangle {
        Layout.fillWidth: true
        Layout.preferredHeight: 200 * scaleFactor
        color: transparent
        border.color: black
        border.width: 1 * scaleFactor
        TextArea {
            id: sayText
            width: parent.width
            Material.accent: "#8f499c"
            padding: 5 * scaleFactor
            selectByMouse: true
            wrapMode: TextEdit.WrapAnywhere
            text: "This text will be read."
        }
    }
    Button {
        Layout.fillWidth: true
        text: "Say it"
        onClicked: {
            textToSpeech.say(sayText.text);
        }
    }
}

음성 변경

TextToSpeech 컴포넌트로 생성된 음성은 컴포넌트의 volume, pitch, rate 속성을 수정하여 조절할 수 있습니다. 이러한 각각의 속성은 2배 정밀도 정수(소수점 한자리)로 저장되며 기본 값은 50입니다. 다음 코드 샘플은 volume 속성의 슬라이더를 제공합니다.

Slider {
    id: volumeSlider
    Layout.fillWidth: true
    Layout.leftMargin: 10 * AppFramework.displayScaleFactor
    Layout.rightMargin: Layout.leftMargin
    from: 0
    to: 100
    stepSize: 1
    onValueChanged: {
        textToSpeech.volume = value/100;
    }
}