Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade

Como Utilizar o Speech Framework da Apple para Reconhecimento de Voz em iOS

O Speech Framework da Apple é uma poderosa ferramenta que permite aos desenvolvedores incorporar reconhecimento de voz em seus aplicativos iOS. Este artigo técnico irá guiá-lo através do processo de configuração e utilização do Speech Framework para transcrever áudio em texto.

Introdução

O Speech Framework foi introduzido pela Apple no iOS 10 e oferece uma maneira eficiente de converter áudio em texto. Ele pode ser utilizado para uma variedade de aplicações, como comandos de voz, ditado e assistentes virtuais.

Pré-requisitos

  • Xcode 10.0 ou superior
  • Dispositivo com iOS 10.0 ou superior
  • Conhecimento básico de Swift

Passo a Passo

1. Configuração do Projeto

Primeiro, crie um novo projeto no Xcode e adicione a permissão necessária no arquivo Info.plist para acessar o reconhecimento de fala.

<key>NSSpeechRecognitionUsageDescription</key>
<string>O aplicativo precisa acessar o reconhecimento de fala para transcrever áudio em texto.</string>

2. Importando o Speech Framework

No seu ViewController, importe o framework:

import Speech

3. Solicitando Permissão do Usuário

Antes de usar o reconhecimento de fala, você deve solicitar permissão do usuário.

SFSpeechRecognizer.requestAuthorization { authStatus in
    switch authStatus {
    case .authorized:
        print("Usuário autorizou o reconhecimento de fala.")
    case .denied:
        print("Usuário negou o reconhecimento de fala.")
    case .restricted:
        print("Reconhecimento de fala está restrito neste dispositivo.")
    case .notDetermined:
        print("Permissão para reconhecimento de fala não foi determinada.")
    @unknown default:
        fatalError()
    }
}

4. Configurando o Reconhecimento de Fala

Agora, configure o reconhecimento de fala. Primeiro, crie uma instância do SFSpeechRecognizer.

let speechRecognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))

5. Gravando e Transcrevendo Áudio

Para gravar e transcrever áudio, você precisará de uma SFSpeechAudioBufferRecognitionRequest e um AVAudioEngine.

let audioEngine = AVAudioEngine()
var recognitionRequest: SFSpeechAudioBufferRecognitionRequest?
var recognitionTask: SFSpeechRecognitionTask?

func startRecording() throws {
    recognitionRequest = SFSpeechAudioBufferRecognitionRequest()

    guard let recognitionRequest = recognitionRequest else {
        fatalError("Unable to create a SFSpeechAudioBufferRecognitionRequest object")
    }

    let inputNode = audioEngine.inputNode
    let recordingFormat = inputNode.outputFormat(forBus: 0)
    inputNode.installTap(onBus: 0, bufferSize: 1024, format: recordingFormat) { buffer, _ in
        recognitionRequest.append(buffer)
    }

    audioEngine.prepare()
    try audioEngine.start()

    recognitionTask = speechRecognizer?.recognitionTask(with: recognitionRequest) { result, error in
        if let result = result {
            let transcribedText = result.bestTranscription.formattedString
            print("Transcribed Text: \(transcribedText)")
        }

        if let error = error {
            print("Error: \(error.localizedDescription)")
        }
    }
}

6. Parando a Gravação

Para parar a gravação, você deve parar o audioEngine e remover o tap do inputNode.

func stopRecording() {
    audioEngine.stop()
    recognitionRequest?.endAudio()
    recognitionTask?.cancel()
}

Conclusão

Com o Speech Framework da Apple, você pode facilmente adicionar funcionalidades de reconhecimento de voz ao seu aplicativo iOS. Este guia forneceu uma introdução básica e exemplos práticos para começar. Explore mais sobre o Speech Framework na documentação oficial da Apple.

To share Download PDF

Gostou do artigo? Deixe sua avaliação!
Sua opinião é muito importante para nós. Clique em um dos botões abaixo para nos dizer o que achou deste conteúdo.