Skip to content

Reconhecimento de Fala em Python: Criando um Jogo de Adivinhação de Palavras

    O reconhecimento de fala é uma área muito legal da tecnologia que transforma o que dizemos em palavras escritas.

    Neste texto, vamos explorar como usar a biblioteca SpeechRecognition em Python para criar um jogo de adivinhação de palavras que usa o reconhecimento de fala.

    Você está animado para começarmos essa aventura?

    Introdução à Biblioteca SpeechRecognition

    A biblioteca SpeechRecognition é uma ferramenta poderosa que ajuda os desenvolvedores a adicionar o recurso de entender o que dizemos em suas aplicações feitas em Python.

    Com essa biblioteca, dá para criar programas que transformam o que falamos em palavras escritas, o que é útil para coisas como comandos de voz e jogos divertidos.

    Criando o Jogo de Adivinhação de Palavras

    O computador escolherá uma palavra e você tentará adivinhar dizendo a palavra em um microfone.

    A biblioteca SpeechRecognition ajuda muito nesse processo, facilitando tudo.

    import random
    import speech_recognition as sr
    
    def recognize_speech_from_mic(recognizer, microphone):
        response = {"success": True, "error": None, "transcription": None}
    
        # Gravação do áudio do microfone
        with microphone as source:
            recognizer.adjust_for_ambient_noise(source)
            audio = recognizer.listen(source)
    
        # Tentativa de reconhecimento da fala em português do Brasil
        try:
            response["transcription"] = recognizer.recognize_google(audio, language="pt-BR")
        except sr.RequestError:
            response["success"] = False
            response["error"] = "API indisponível"
        except sr.UnknownValueError:
            response["error"] = "Incapaz de reconhecer a fala"
    
        return response
    
    # Configurações iniciais
    PALAVRAS = ["maçã", "banana", "uva", "laranja", "manga", "limão"]
    NUM_TENTATIVAS = 3
    LIMITE_PROMPT = 5
    
    def main():
        recognizer = sr.Recognizer()
        microphone = sr.Microphone()
    
        palavra = random.choice(PALAVRAS)
        instrucoes = (
            "Estou pensando em uma destas palavras:\n"
            f"{', '.join(PALAVRAS)}\n"
            f"Você tem {NUM_TENTATIVAS} tentativas para adivinhar qual é. Vamos lá!\n"
        )
        print(instrucoes)
    
        for i in range(NUM_TENTATIVAS):
            print(f"Tentativa {i + 1}")
            tentativa = recognize_speech_from_mic(recognizer, microphone)
    
            if tentativa["transcription"]:
                print(f"Você disse: '{tentativa['transcription']}'")
                break
    
            if not tentativa["success"]:
                break
    
            print("Desculpe, não entendi. Por favor, repita.")
        
        if tentativa["error"]:
            print(f"ERRO: {tentativa['error']}")
        else:
            if tentativa["transcription"].lower() == palavra.lower():
                print("Correto! Você adivinhou a palavra!")
            else:
                print(f"Incorreto. A palavra era '{palavra}'.")
    
    if __name__ == "__main__":
        main()
    

    Conclusão

    O reconhecimento de fala em Python oferece uma variedade de possibilidades emocionantes, desde assistentes virtuais até jogos interativos.

    Neste texto, nós aprendemos a usar a biblioteca SpeechRecognition para fazer um jogo simples de adivinhação de palavras. Isso é só o começo do que você pode fazer com reconhecimento de fala em seus programas. Espero que este texto tenha te deixado empolgado para experimentar!

    Se você quiser saber mais, sugiro explorar mais recursos e testar diferentes coisas que a biblioteca SpeechRecognition pode fazer.

    Divirta-se descobrindo e criando coisas com reconhecimento de fala!

    Recursos Adicionais

    Link para a biblioteca Speech Recognition: https://pypi.org/project/SpeechRecognition/

    Tags:

    Leave a Reply

    Your email address will not be published. Required fields are marked *