¿El circuito analógico más simple para comparar dos señales de canción?

0

Estoy tratando de construir un circuito analógico simple que compare cuán similares son las señales de dos canciones. Una señal es la canción cantada por mí, por ejemplo, y la otra señal es la señal de la canción de referencia. Dado que la simplicidad es muy deseada, no espero que sea muy precisa o "formal". Mientras pueda darme una medida aproximada de cuán cerca está la canción cantada por mí a la canción de referencia, estoy perfectamente feliz.

Al principio, pensé en hacer un circuito analógico haciendo la transformada / serie de Fourier y luego comparar cuánto caen los componentes de frecuencia de las dos señales, pero las respuestas sugieren que no sería fácil. ¡Así que ahora estoy abierto a cualquier idea / implementación!

Los componentes disponibles son opamp, diodo, resistencia, capacidad, MOSFET, BJT, compuerta NAND, NOR, compuerta, D-flipflop y contador.

    
pregunta Sibbs Gambling

5 respuestas

7

La correlación cruzada es una medida de similitud de dos señales. La transformada de Fourier usa esta propiedad para transformar las señales de referencia frente a las frecuencias de referencia ortogonales (seno y coseno), expresando la transformada de Fourier como una combinación lineal de senos y cosenos.

Por lo tanto, simplemente podría usar un circuito de correlación cuyas entradas son i) la señal de interés; ii) Coseno de frecuencia variable. Repita para Sine (idealmente en paralelo). Luego tiene una medición de la correlación a partir de la cual puede calcular la magnitud y el ángulo como de costumbre.

Para ver cómo funciona, considere una señal que contiene el componente cos (W1.t) y la correlaciona con la señal de prueba cos (W1.t); es decir, la misma frecuencia. Como la correlación es simplemente multiplicar e integrar el producto será cos ^ 2 (W1.t) = 1/2 + cos (2W1.t). Suponiendo que pruebe varias frecuencias a través de ciclos enteros enteros, este será el único componente que se integra a un valor distinto de cero (es decir, tiene un componente de CC). Así es como funcionan los FT y DFT.

He encontrado un artículo muy informativo sobre el enlace entre La DFT y la correlación, que realmente la describen muy bien.

    
respondido por el akellyirl
3

El circuito más simple es solo un DSP (procesador de señales digitales). La señal de entrada entra en una entrada A / D, y algunos pines de salida se usan para indicar si hay suficiente amplitud en los rangos de espectro que le interesan. El resto es firmware.

Al aplicar la complejidad de la electrónica al firmware, se obtiene un circuito simple, que era su especificación principal. Sé que usted dijo que el circuito analógico, pero ese es un detalle de la implementación como se adjunta a una especificación. Así es realizar una transformada de Fourier. Aparentemente solo quieres un analizador de frecuencia de curso. Implementar una transformación de Fourier es una forma de lograrlo, pero puede haber mejores formas.

En cualquier caso, debe separar las especificaciones de la implementación imaginada. Si una respuesta cumple con las especificaciones pero no le da lo que quiere, entonces las especificaciones son malas, no la respuesta.

Añadido:

Ahora dice que quiere ver cómo son "dos" pistas de audio "similares". Ese es un problema bastante complicado y tomará mucho más que tener una idea aproximada del contenido de frecuencia. El circuito más simple para esto no es ningún circuito, aparte de la electrónica que ya tiene. Obtenga ambas grabaciones en su PC, que se pueden realizar a través de la entrada de sonido si es necesario. Después de eso es todo el software.

Una de las primeras cosas que tendrá que hacer el software es ajustar las diferencias de tiempo inevitables. Probablemente tenga que encontrar ritmos u otros elementos a gran escala que se supone que coincidan en ambas pistas, y ajustar el tiempo de la segunda pista para que coincida con la referencia hasta algún error aceptable. Más allá de ese error usted declara una diferencia. A continuación, vería la envolvente de volumen en unos cuantos rangos de frecuencia amplios y mediría qué tan bien se correlacionan. Eso no requiere análisis de Fourier, solo unos pocos filtros de paso alto y bajo.

Después de eso, tendrás que experimentar. Nunca he intentado hacer esto antes, así que no sé qué significa "igual" perceptivo al sistema auditivo humano.

    
respondido por el Olin Lathrop
2

Una señal de voz será difícil porque siempre está cambiando. El espectro de Fourier no es "estacionario". Si fuera así, podría construir un filtro de paso de banda con una Q moderada (tal vez 10-20) y barrer o escalonar la frecuencia del filtro. (Tendría que barrer lentamente para permanecer en cada frecuencia. Q veces la frecuencia.) Y luego pegar un voltímetro de CA después de eso. Si el costo no es un objeto, podría hacer un montón de filtros, cada uno con una resonancia diferente, y enviar la señal a todos ellos. procesamiento en paralelo. Pero también podrías obtener un ADC y hacerlo en software.

    
respondido por el George Herold
2

Mezclo un montón de pistas vocales y comparando una pista vocal con otra es mejor SOLO que lo haga el oído. Por ejemplo, una de las cosas más obvias acerca de las pistas vocales es el tiempo impreciso de cómo se escriben las palabras mientras se cantan. Nunca obtendrá una alineación perfecta, pero ¿eso significa su interpretación vocal de una canción (con frases y sonidos ligeramente diferentes?) el tiempo de algunas palabras) es mejor o peor que el original.

¿Qué pasa con la forma de sus armónicos vocales? Simplemente no serán similares a los originales, no importa cuánto intente imitarlos. ¿Qué pasa con los insultos vocales (desviar el tono de una frase cantada de una nota a otra? Probablemente será diferente al original, pero a quién le importa si su voz suena bien para un oído humano profesional (y también para un tipo normal)). p>

La voz cantada original (si se realiza de manera profesional) tendrá, al menos, compresión y reverberación y probablemente también tendrá algunos artefactos de eco: nunca se puede cantar de ninguna manera que reproduzca estos efectos de "estudio". De acuerdo, puede usar cierta reverberación, compresión y eco, posiblemente incluso algunas mejoras de amplitud de coro y estéreo, PERO estas no serán las mismas que las originales, sin importar cuánto intente.

¿Qué pasa con la ecualización? oh, oh, mío, ¿crees honestamente que una voz cantada de manera profesional no tendrá algún tipo de mejora de "tono" para mejorar la presencia de la voz en la canción? Creo que aquí es un ajuste común es de 3 dB a 1kHz, 4 dB a 6kHz y una reducción general de frecuencias de aproximadamente 200Hz a DC.

Pondré dinero aquí abajo y ESTADO (sin más justificación que no sea mi experiencia), para que pierdas el tiempo intentando hacer lo que quieres.

    
respondido por el Andy aka
1

Tal vez podría hacer una serie de filtros de paso de banda y rectificadores de precisión y comparar el contenido de frecuencia en cada bandeja. Sugeriría comparar la diferencia de los registros del contenido y encender varios LED en secuencia para obtener mayores diferencias. Este será un circuito bastante simple, pero repetido para cada frecuencia, tantas partes.

Los bloques para n frecuencias son:

  • filtro de paso de banda (se requiere 2n)
  • rectificador de precisión (se requiere 2n)
  • circuito de registro (se requiere 2n)
  • circuito de diferencia (n requerido)
  • filtro de paso bajo (n requerido)
  • ADC 'termómetro' con salidas de control LED (no es necesario)

Fuera del reino analógico, ciertamente podría hacer esto con un DSP o FPGA y probablemente con un microcontrolador ARM o MIPS (por ejemplo, PIC32) de 32 bits.

    
respondido por el Spehro Pefhany

Lea otras preguntas en las etiquetas