Buenas gente,
Puesto que se esta poniendo de "moda" la inteligencia artificial y las IAs que son capaces de falsificar la voz de cualquier persona, en este POST os mostraré como funcionan y que esto realmente no es nuevo, únicamente es un proceso complejo por los cálculos que se necesitan y se requiere de una gran base de muestras; es decir, cualquiera que haya trabajado con algún proceso de aprendizaje automático como 'KNN', sabrá que necesitamos una gran base de datos para que este sistema aprenda y sea más preciso.
Como ya he explicado en casi todos mis Posts, lo que se necesita es aplicar la Transformada de Fourier, y es que sino fuese por esta, no habría ninguna forma de poder tratar ni enviar ninguna señal.
Por ejemplo, si tuviesemos que enviar una señal de voz, que si sacamos su expresión matemática nos quedaría de la forma coseno. Aplicandole la transformada de Fourier nos quedan dos pulsos
Si tuvieseis que enviar la señal de la izquierda por un canal de comunicación se necesitarían infinitos puntos para poder obtener en el receptor la misma señal, ocuparía todo el ancho de banda y ni aún así obtendriamos la misma señal, por lo que se aplica la transformada de Fourier, dos pulsos de la mitad de amplitud de la señal original. 2 bits a 1 y a tomar por culo.
Dicho esto, os explico como funcionan estas IAs
Para que se entienda mejor, partimos de la base que todas las personas de un mismo género tienen la misma voz; es decir, los hombres tienen la misma voz entre ellos, las mujeres también tienen la misma voz entre ellas, ya que hay una diferencia en la frecuencia entre ambos generos.
Pero entonces, ¿Porque podemos reconocer quien es quién únicamente por su voz?
Aquí es donde entra la jodida naturaleza, en el momento que tomas aire para hinchar tus pulmones de fumador para que ese aire pase por tu tráquea y haga vibrar tus cuerdas vocales. Este sonido que producen tus cuerdas vocales además despues pasa por tu boca, donde se encuentran el tamaño de tus dientes, la forma en que estan colocados, como colocas tu lengua para decir una consonante o una vocal, la longitud de tu lengua.... etc etc
Esto es una característica propia de cada persona, y es lo que nos hace producir una voz u otra. Por lo tanto, se puede entender que el tracto vocal es un filtro (La huella dactilar de nuestra voz). Si somos capaces de obtener este filtro y pasar "aire" por este filtro obtendremos la misma voz que esa persona.
Básicamente lo que se hace es una MFCC ( Coeficientes Cepstrales en las Frecuencias de Mel ) básicamente es sacar los puntos más importantes de la voz, son procesamientos matemáticos que no me apetecen explicar y tampoco lo vais a leer.
Os enseñare como fui procesando una señal para sacar su MFCC; es decir, los puntos característicos de la señal y poder "fakearla" más tarde.
En esta foto es donde he sacado los coeficientes cepstrales, es decir "la huella dactilar de la voz". La imagen de arriba
Por último la obtención del filtro, cualquier voz pasada por aquí generará la misma voz que queremos replicar. Esto es lo que se llama la envolvente de la señal, como podeis ver en la imagen hay bastante espacio hasta donde se generan los picos esos que es lo que sería de algun modo las huellas dactilares. Al introducir cualquier voz lo que hacemos es rellenar esa señal
Es decir:
Lo rojo es nuestra voz que rellena la señal y lo unico que se hace es "modular" nuestra señal con las caracterizaciones del filtro o el tracto vocal de la persona.
Tengo un proyecto que hice sobre esto, con código si veo que tal os lo comparto pero fueron bastantes semanas de trabajo y tampoco me apetece mucho que lo veais... el 80% del puto foro no sabe lo que es un bucle y para copiar código teneis ChatGPT
Os podría haber puesto mas chicha en el post, pero luego solo quereis codigo para haceros los h4ckers
En verdad el Post es demasiado básico, lo he hecho recien levantao mientras desayunaba... pero bueno
Dicho esto...
Saludos a Javier de Badajoz
Puesto que se esta poniendo de "moda" la inteligencia artificial y las IAs que son capaces de falsificar la voz de cualquier persona, en este POST os mostraré como funcionan y que esto realmente no es nuevo, únicamente es un proceso complejo por los cálculos que se necesitan y se requiere de una gran base de muestras; es decir, cualquiera que haya trabajado con algún proceso de aprendizaje automático como 'KNN', sabrá que necesitamos una gran base de datos para que este sistema aprenda y sea más preciso.
Como ya he explicado en casi todos mis Posts, lo que se necesita es aplicar la Transformada de Fourier, y es que sino fuese por esta, no habría ninguna forma de poder tratar ni enviar ninguna señal.
Por ejemplo, si tuviesemos que enviar una señal de voz, que si sacamos su expresión matemática nos quedaría de la forma coseno. Aplicandole la transformada de Fourier nos quedan dos pulsos
Dicho esto, os explico como funcionan estas IAs
LA VOZ
Para que se entienda mejor, partimos de la base que todas las personas de un mismo género tienen la misma voz; es decir, los hombres tienen la misma voz entre ellos, las mujeres también tienen la misma voz entre ellas, ya que hay una diferencia en la frecuencia entre ambos generos.
Pero entonces, ¿Porque podemos reconocer quien es quién únicamente por su voz?
TRACTO VOCAL
Aquí es donde entra la jodida naturaleza, en el momento que tomas aire para hinchar tus pulmones de fumador para que ese aire pase por tu tráquea y haga vibrar tus cuerdas vocales. Este sonido que producen tus cuerdas vocales además despues pasa por tu boca, donde se encuentran el tamaño de tus dientes, la forma en que estan colocados, como colocas tu lengua para decir una consonante o una vocal, la longitud de tu lengua.... etc etc
Esto es una característica propia de cada persona, y es lo que nos hace producir una voz u otra. Por lo tanto, se puede entender que el tracto vocal es un filtro (La huella dactilar de nuestra voz). Si somos capaces de obtener este filtro y pasar "aire" por este filtro obtendremos la misma voz que esa persona.
¿Pero que es realmente un filtro?
Por ejemplo, si encendemos la bombilla de nuestra lámpara (nuestra voz), le ponemos un filtro como los de la imagen, una lente de color rojo, azul o naranja (el tracto vocal de la persona que hemos cogido), la luz final que obtenemos es del color del filtro (voz de otra persona)
OBTENCION DEL FILTRO O EL TRACTO VOCAL
Entendiendo lo que os he explicado antes, entendereis la base de esto. Ahora simplemente son matemáticas y procesamiento de señales digitales.
Básicamente lo que se hace es una MFCC ( Coeficientes Cepstrales en las Frecuencias de Mel ) básicamente es sacar los puntos más importantes de la voz, son procesamientos matemáticos que no me apetecen explicar y tampoco lo vais a leer.
Os enseñare como fui procesando una señal para sacar su MFCC; es decir, los puntos característicos de la señal y poder "fakearla" más tarde.
En esta foto es donde he sacado los coeficientes cepstrales, es decir "la huella dactilar de la voz". La imagen de arriba
Por último la obtención del filtro, cualquier voz pasada por aquí generará la misma voz que queremos replicar. Esto es lo que se llama la envolvente de la señal, como podeis ver en la imagen hay bastante espacio hasta donde se generan los picos esos que es lo que sería de algun modo las huellas dactilares. Al introducir cualquier voz lo que hacemos es rellenar esa señal
Es decir:
Lo rojo es nuestra voz que rellena la señal y lo unico que se hace es "modular" nuestra señal con las caracterizaciones del filtro o el tracto vocal de la persona.
Tengo un proyecto que hice sobre esto, con código si veo que tal os lo comparto pero fueron bastantes semanas de trabajo y tampoco me apetece mucho que lo veais... el 80% del puto foro no sabe lo que es un bucle y para copiar código teneis ChatGPT
Os podría haber puesto mas chicha en el post, pero luego solo quereis codigo para haceros los h4ckers
En verdad el Post es demasiado básico, lo he hecho recien levantao mientras desayunaba... pero bueno
Dicho esto...
Saludos a Javier de Badajoz
Última edición: