Me ha dado por comparar la respuesta frecuencial de una captura en Tonex y la Tank-G. Por más que en el paper del ANN te vendan que utilizan no se qué combinación de algoritmos para tratar de afinar mejor las frecuencias agudas, saco la conclusión de que M-vave no es capaz de modelar bien las frecuencias agudas. Entre los 100Hz y los 4kHz podríamos decir que se parecen "bastante", pero a partir de los 4kHz la ganancia de la Tank-G cae en picado y a partir de los 10kHz la respuesta frecuencial se vuelve una fiesta.
Esto puede explicar por qué especialmente en ciertos amplis High-Gain se pierde cierto grano de la distorsión en los agudos.
Adjunto las imágenes con la respuesta frecuencial tanto en escala logarítmica como en lineal.
Archivos adjuntos (
loguéate para descargar)
2
#962
Gran trabajo!
¿Podrías probar con un AM2?
Doy mi teoría, pero el audio no es mi especialidad:
El 99,99% del sonido de la Guitarra eléctrica está comprendido entre los 100Hz y los 3.5Khz, se puede llegar a llegar a los 5KHz utilizando armónicos.
Según el Teorema de Nyquist, en una señal digital debes tener el doble de frecuencia de muestreo de la máxima frecuencia que quieras manejar, se explica mejor con un ejemplo:
Desde una señal muestreada digitalmente a 44.1 KHz, el armónico más alto que se puede reconstruir (transformarlo de vuelta a analógico) es de la mitad de esta frecuencia: O sea... sería un armónico de 20.05 KHz que está por encima de lo que puede escuchar un humano joven y sano.
En teoría, con una señal digital fiel hasta los 10KHZ al modelo original, se deberían poder reconstruir todos los armónicos de hasta 5Khz...lo que cubriría todo el espectro de la guitarra eléctrica (incluyendo las técnicas que conocemos como "armónicos"). Así que entiendo porqué no se molestan en que los algoritmos pierdan tiempo con lo que pasa por encima de los 10Khz.
Mis cuentas pueden fallar en algún sitio, porque ya digo que no soy un especialista en sonido.
PD: De todas formas, también falta algo de presión sonora entre los 6KHz y los 10KHz por lo que estoy viendo. ¿Serán más fieles los AM2 y los AM3 simplemente más fáciles de hacer?
3
Voy a ver si hago algún AMP con cabinet en AM2 y AM3 para que comparemos las diferencias.
2
Esto es un Dual Rectifier de Two Notes Genome... con Cabinet, con settings de sonido metal.
Yo no soy capaz de distinguir el AM2 del AM3... y el AM3 es mucho más fácil y rápido de hacer.
Archivos adjuntos (
loguéate para descargar)
Genome.Metal.DualRecto.CAB.0.047.am3Data
#963 No lo mencioné, el análisis lo hice con un AM2, hoy intento hacerlo con un AM3 de los que pasaste en algún paquete de capturas. La razón por la que lo hice con un AM2 es porque tenía los datos de la pérdida del entrenamiento y me parecía un dato interesante para asegurar que la captura fuese "precisa". Al no tener una GPU válida, mi única opción es usar el Colab y hasta que no actualicen el ann.bin estoy vendido. En el entrenamiento de la captura que utilicé alcancé unas pérdidas de 0.03.
Tengo un par de dudas respecto a los entrenamientos:
¿Alguien ha probado a generar un AM2 pero usando la referencia de entrenamiento de un AM3? Tengo pendiente hacer esa prueba, no sé si dará fallo el ANN al entrenar.
¿Sabéis a ciencia cierta qué significa cada uno de los parámetros de entrenamiento y qué efecto tiene? Yo llego a lo siguiente:
--times -> Número de iteraciones del entrenamiento. A más iteraciones, mejores resultados.
--batch -> Creo que es el buffer de RAM de la GPU reservado para el entrenamiento. No sé a ciencia cierta qué efecto tiene. He hecho alguna prueba doblando el valor por defecto pero no he visto diferencias.
--step -> Ni idea para qué sirve este parámetro.
--lr -> Velocidad de aprendizaje (Fast -> 0.001; Mid -> 0.0005; Slow -> 0.0002). Contra más bajo es este valor, más lento es el entrenamiento. Esta es mi teoría: Dado que los valores son menores contra más baja es la velocidad, supongo que es la tolerancia de error admitida por el algoritmo para dar por finalizada una iteración. Por lo tanto, mi teoría es que las pérdidas que te arroja el entrenamiento son teniendo en cuenta ese error admitido. Esto significaría que entrenando en "Fast" con una tolerancia de 0.001el resultado obtenido va a ser peor que un entrenamiento de velocidad "Slow" con una tolerancia de 0.0002 para un caso en el que las pérdidas al final del entrenamiento hayan sido las mismas. Es decir, si en modo "Fast" obtienes unas pérdidas de 0.05, una captura hecha en "Slow" aunque te arroje el entrenamiento las mismas pérdidas, sería teóricamente mejor. Esto sería la teoría, luego ya en la práctica sería ver si el oído humano es capaz de oír las diferencias...
--delay 0 -> Delay de la muestra de entrenamiento respecto a la referencia.
CarlitosWay ataco ahora tu teoría respecto a las frecuencias, teorema de Nyquist, etc. Creo que la banda de frecuencias que se debería considerar efectiva para la guitarra está entre los 100Hz y los 10kHz para que a la hora de trabajar una mezcla el ingeniero de sonido tenga margen de maniobra. Dependiendo del estilo, quizá te interese conservar cierto grano de la distorsión a frecuencias altas (~9kHz) para que la guitarra "no se esconda". Si en el rango de frecuencias entre 100Hz y 10kHz no eres fiel de principio a fin, no vas a ser capaz de reproducir el carácter del ampli al 100%. El problema de la captura de la Tank-G es que tiene demasiada pérdida de ganancia a partir de los 5kHz. No he entendido muy bien tu reflexión de por qué el límite del algoritmo está en esos 5kHz. La muestra tomada para hacer el entrenamiento ha sido generada por Tonex que trabaja a 44.1kHz, por lo que la máxima frecuencia reproducible de forma fiel estaría teóricamente a la mitad, 22.05kHz.
1
#966
Si se necesita señal de guitarra fiel hasta los 9Khz, se necesita una señal digital fiel hasta los 18Khz....no tengo claro yo que los cacharros de M-vave sean los más adecuados para esto.
Lo que yo quería comentar es que para tener una guitarra fiel al original se suele considerar que con 5 KHz (audio) es suficiente, con lo que la conversión de M-vave tendría sentido que esté pensada para ser buena hasta los 10Khz.
Para controlar que la guitarra corte en la mezcla conservando el grano de los 9KHz están aparatos como el profiler de Mooer GS1000 con 192KHz de muestreo... pero claro, son casi 500€
2
mmm, yo no creo que con hasta 5kHz sea suficiente, hasta 10kHz sí, pero hasta 5kHz lo veo muy limitado. Hay maximizadores que realzan los 9kHz para darle más punch a las distor, así que creo que entre 5kHz y 10kHz también hay matices relevantes de los amplis.
Por otro lado, la Tank-G tiene una frecuencia de muestreo de 44.1kHz, la misma que el Tonex, por lo que por ahí no deberían venir las limitaciones, creo que es un tema que tiene que ver más con limitaciones del algoritmo de entrenamiento o del modelo de red neuronal que utilizan para simular los amplis.
1
#969 Está claro que son unos tramposillos, chinos tenían que ser.... XD
Por cierto, confirmo que se puede utilizar cualquier wav de referencia para entrenar. He probado con la señal de entrenamiento del AM3 y NAM, también he probado a exportar el wav de entrenamiento a 192KHz y nada, en todos los casos el mismo resultado. Es imposible diferenciar entre los diferentes modelos obtenidos con diferentes wav de entrenamiento y siguen sin poder simular las frecuencias por encima de los 5kHz.