No físico aquí.
Por lo que aprendí en la universidad y lo que dice el sentido común, un cambio en la frecuencia de una señal da como resultado un cambio en su duración. Por ejemplo, si una señal sinusoidal de frecuencia y longitud se transfiere al dominio de la frecuencia, es dividido por , luego convertida nuevamente al dominio del tiempo, la longitud de la señal sería .
¡Corrígeme si estoy equivocado! Pero esto es bastante intuitivo. Si haces una señal más lenta, tardará más en terminar y viceversa.
Esta es la razón por la que me han dicho que es imposible cambiar la frecuencia de una señal de transmisión y emitirla con la misma velocidad. Por ejemplo, sería imposible tomar el discurso de un hombre y cambiarlo para que suene como el de una mujer sin hacerlo más rápido.
Ahora he tenido varias observaciones:
Parece que es algo posible cambiar la frecuencia de una señal sin afectar su longitud. Una forma (teórica) en la que puedo pensar sería comprender las "notas" actuales que se reproducen (es decir, las diferentes frecuencias que hacen la señal) en intervalos muy pequeños, cambiar la nota y reproducirlas durante ese intervalo.
Mi pregunta es, primero, si mi comprensión es correcta. De cualquier manera, ¿existe una forma matemática de cambiar el tono de una señal sin afectar su duración en el tiempo? Si no, ¿cómo pueden hacerlo en la práctica?
Tiene razón en que es imposible cambiar la frecuencia de cada componente de una forma de onda mientras (a) conserva todas las relaciones de fase entre las frecuencias y (b) conserva la longitud de la forma de onda. Sin embargo, aunque es matemáticamente imposible hacer esto con precisión, es posible hacer cosas que suenan bastante parecidas al oído humano. Los algoritmos más básicos para esto son bastante simples, pero hacerlo bien es bastante difícil, y los algoritmos se mejoran todo el tiempo. Se denomina "cambio de tono" si el objetivo es cambiar el tono pero no el tiempo, y "extensión del tiempo" si desea cambiar el tiempo manteniendo el tono.
La razón por la que esto es posible es que el oído distingue el ritmo y el tono como cosas muy distintas. Una secuencia de clics sonará como una secuencia de clics hasta que su frecuencia pase de 20 a 30 Hz, momento en el que se convierte en un zumbido que se percibe como si tuviera un tono. Debido a esto, como dijo DumpsterDoofus, puedes dividir el sonido en pequeños segmentos de corta duración, cambiar el tono de cada uno individualmente y luego volver a unirlos, repitiendo cosas o dejando espacios donde sea necesario.
Por sí mismo, esto no suena tan bien, porque obtienes un clic al final de cada segmento, donde las formas de onda no se alinean. Se puede mejorar mucho superponiendo "ventanas" de sonido, cada una de las cuales tiene un fundido de entrada y de salida aplicado. De esa manera, no escuchará los clics en los extremos de los segmentos, pero tiende a escuchar los efectos de cancelación de fase cuando las ventanas se vuelven a agregar. Por esta razón, esta técnica requiere un poco de ajuste para que suene bien en cualquier sonido de entrada dado.
También existen técnicas de dominio de Fourier, como dijo Brandon Enright. Estos también suelen usar ventanas superpuestas; Supongo que la ventaja de usar el dominio de Fourier es que tienes más control sobre las relaciones de fase. (No sé mucho sobre estas técnicas.)
Un desarrollo bastante reciente es el algoritmo de "agregación de superposición síncrona de tono" (PSOLA). Esto también utiliza ventanas superpuestas, pero sincroniza la longitud de las ventanas con el tono del sonido de entrada. Esto hace que sea mucho más difícil para el oído percibir las ventanas individuales. Lo llamo "el algoritmo que arruinó la música", porque es responsable de ese desagradable efecto de "autoajuste" que se ha usado en exceso en las voces de todos los discos pop durante los últimos diez años más o menos. Sin embargo, también tiene aplicaciones pacíficas, y el dial de tono de su amplificador probablemente use alguna versión de él.
Puede encontrar más detalles sobre estos algoritmos en Wikipedia .
basureroDoofus
Brandon Enright
Rajesh D.
N. Virgo
Rajesh D.
N. Virgo
basureroDoofus
Shahbaz
Rajesh D.
Shahbaz