Ir al contenido principal

FFT mejora mas precisión usando ruido.

Hace tiempo hice un algoritmo FFT para que corriese rápido en máquinas de poca potencia (convierte una onda en una gráfica de frecuencia e intensidad)

El algoritmo típico usa senos cosenos... yo use solo sumas y restas lo que puede ser impreciso pero los senos y cosenos también ahora que lo pienso.

La solución es tomar la muestra de audio y sumar y restar sus valores con ruido estadísticamente neutro pero acotado en frecuencia.

Por ejemplo tomar ruido blanco, sacar la banda de 4hz multiplicar los valores de la muestra por esto.

El resultado una desviación del ruido sobre lo que sería neutro pero que ya no solo es buena para ondas sinusoidales sino para todo tipo de ondas.

Soy un crack ou yeah!

Comentarios

Entradas populares de este blog

Audio de calidad con pocos bit

Si grabas una señal a suficiente velocidad en teoría puedes reducir la velocidad y aumentar la tasa de bits. Sería posible grabar a 12bit y tener señal de 24bit de menor frecuencia. Convertir un archivo PCM a menor tasa de bits pero mayor frecuencia permite conservar la información y si inviertes la forma de onda y los reproduces a la vez se anulan. Pienso es mas interesante para grabar audio con dispositivos de 12bit a mucha velocidad y tener señales de 16 y 24bit de audio. Por ejemplo una Wemos D1 ESP32 tiene entradas analógicas de 12bit pero con esta técnica se puede aumentar la precisión. Un experimento, se genera ruido blanco en audacity que es estadísticamente igual en todas las frecuencias, puro random, y se guarda como 24 bit 48 Khz, se recarga y se guarda como 16 bit 88 Khz. Aquí se busca emular lo que sería grabar a menos bits y reducirlo de velocidad pero aumentar la profundidad. Habrían los mismos datos entre 16 bit y 24? La forma de comprobarlo es invertir la onda de uno d...

Ordenador DIY

Es una posibilidad estos días con el open hardware. Pienso que una plataforma simple podría no mostrar su salida en pantalla sino en una web, cosa que seguramente ya exista. Plataformas baratas como Arduino con capacidad wifi podrían recibir la entrada directamente y en lugar de dibujar una matriz de colores sacar simplemente texto html. La pantalla? Pues un móvil un ordenador etc. Podría ser similar a los ordenadores de los 80s con un lenguaje de programación tipo BASIC o C y las capacidades gráficas dependerían del móvil así como la aceleración gráfica. Podría usar recursos de red o realizar operaciones con archivos en una tarjeta SD. Usaría sus entradas y salidas... En este sentido sería un sistema operativo simple para estas plataformas. Arduino, sus clones y otros similares; son plataformas económicas que no tienen apenas consumo de energía y no se calientan. La idea sería hacerlo algo más independiente y poder ejecutar programas o cargarlos desde él mismo. El Arduino básico igual...