Remember to maintain security and privacy. Do not share sensitive information. Procedimento.com.br may make mistakes. Verify important information. Termo de Responsabilidade
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.
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.
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>
No seu ViewController, importe o framework:
import Speech
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()
}
}
Agora, configure o reconhecimento de fala. Primeiro, crie uma instância do SFSpeechRecognizer
.
let speechRecognizer = SFSpeechRecognizer(locale: Locale(identifier: "en-US"))
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)")
}
}
}
Para parar a gravação, você deve parar o audioEngine
e remover o tap do inputNode
.
func stopRecording() {
audioEngine.stop()
recognitionRequest?.endAudio()
recognitionTask?.cancel()
}
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.