mi forma de onda de entrada varía de 100 hz a 10.000 hz.
En serio, eso significa (para Nyquist) que una tasa de muestreo de 20 kHz es suficiente; probablemente desee sobreexplorar un poco, pero todo por encima de 40 kHz es un lujo.
En otras palabras, esta es la mejor tarjeta de sonido-territorio.
Obtenga una tarjeta de sonido USB barata (< 10 $), retire los condensadores de acoplamiento de la entrada del micrófono y use algún tipo de amplificador ajustable basado en opamp para que la señal de entrada entre en el rango de la tarjeta de sonido. Hecho.
Sería difícil usar la tarjeta de sonido para la visualización FFT en vivo (especialmente en algo como una Raspberry PI)
¡Estás haciendo suposiciones erróneas aquí!
El procesamiento de esta cantidad de datos definitivamente no es un problema en nada más rápido que las calculadoras de bolsillo más baratas. Una Raspberry Pi, una computadora portátil, una PC o un teléfono inteligente definitivamente funcionará. Realmente, el esfuerzo de hacer un FFT en esta cantidad de muestras es ridículamente pequeño. Decodificar un MP3 es mucho más fácil para cualquier computadora (hecho divertido: el MP3 requiere una operación bastante similar a la FFT).
No te preocupes si Python te ralentiza: no hay ninguna biblioteca de Python que conozca FFT en python, pero confía en FFTpack o FFTw (numpy, por ejemplo). Puede hacer esas FFT cortas (es decir, "menos de cien mil contenedores") a tasas de muestreo de múltiples Megasamples por segundo en una PC normal, así que no se preocupe por la carga de trabajo que supone la FFT. En serio, ¿100+ transformadas de longitud 1024 por segundo? Más como 1 millón de transformaciones por segundo, en mi experiencia . No puedo dejar de preguntarme por qué la gente piensa que es difícil, pero mira videos codificados en MPEG4 a pantalla completa al mismo tiempo en todos sus dispositivos.
Para demostrar lo fácil que es esto: I escribió una respuesta hace un tiempo que demuestra cómo visualizar datos de audio. Si no haces todo el baile de loopback, pero simplemente seleccionas tu tarjeta de sonido como fuente, habrás terminado y tendrás tu visualización FFT'ing:
Tambiénescribíunfirmwaremínimohaceuntiempo(nopuedoencontrarlo,losiento)queusóunatarjetadeevaluaciónARMTiva-Cde6$paraconvertiryenviarmuestrasaunaPCaunavelocidaddehasta200kS/sporUSBcomotransferenciasmasivas.Tendríaqueescribirsupropiosoftwarede"controlador" para hablar con dicho dispositivo, pero también funcionaría. Pero no hay mucha ganancia al hacerlo en comparación con la compra de una tarjeta de sonido, a menos que necesite usar un microcontrolador de todos modos, por ejemplo. para controlar otra cosa.