Mi proyecto es controlar un sistema de videojuegos de mano Nintendo 3DS desde mi Arduino Mega. Tengo todos los controles básicos conectados y funcionando bien.
Necesito poder reconocer el estado de un videojuego que se está reproduciendo con sus señales de audio conocidas.
Específicamente, el juego de lucha Super Smash Bros. Al final del partido habrá un ganador. El ganador se anuncia con un clip de sonido conocido.
Un ejemplo es: cuando Mario gane, habrá un clip de sonido conocido que se reproducirá cuando el locutor diga "¡El ganador es Mario!".
Para mi ventaja, el clip de sonido "ganador de partido" que se reproduce es conocido y será EXACTAMENTE el mismo cada vez que se reproduzca.
Necesito reconocer este clip de sonido específico y luego hacer que el Arduino presione el botón "Inicio" en la Nintendo 3DS para mover el juego a la siguiente pantalla.
He realizado numerosas búsquedas en FFT, FHT, Filtros emparejados, Reconocimiento de voz, etc. y no he encontrado una forma sólida de hacerlo.
No creo que las técnicas de reconocimiento de voz funcionen bien ya que el audio no es una voz humana normal, pero una voz de "caricatura" del locutor de videojuegos con mucho sonido de fondo afecta.
Un enfoque teórico que tengo es "entrenar" al Arduino con clips de sonido pregrabados y hacer que reaccione cuando los escucha. Similar al EasyVR Shield 3.0.
¿Alguna idea sobre cómo hacer esto?
Vídeo de los clips de sonido: enlace
¡Soy un ingeniero de software y me siento muy cómodo con la codificación! Cualquier ayuda es apreciada.