Orquesta virtual gratuíta... con sorpresa

teniente_powell
#1 por teniente_powell el 21/02/2018
Un usuario del foro oficial de Reaper ha construído una orquesta virtual. Gratuíta. Hasta ahí, nada raro (excepto lo de gratuíta). Es una buena orquesta, formada con samples grabados de varias orquestas de aficionados. Son algo más de 500 Mb de samples en formato wav, por lo que no es cualquier minucia. Y las articulaciones cortas tienen un round robin de 2 capas. Está muy bien. Se ha configurado en formato sfz por lo que se precisa un reproductor al uso. En la web te enlazan con tres posibilidades gratuítas.

http://virtualplaying.com/

Lo que me ha dejado asombrado es la "tocabilidad" de la orquesta. Tocando en un teclado midi, si tocas suave suena un sustain con un ataque suave. Si tocas fuerte suena un sustain con un ataque fuerte. Y si picas una tecla suena un spicatto. Pero no es que dé el pego, no, es que realmente suenan los samples de spicatto, porque he probado con el reproductor Sforzando y en cada momento te dice qué sample está sonando. Y cuando mantienes la tecla suena un "sus", mientras que si picas la tecla suena un "spi". El ataque fuerte lo genera superponiendo un sample "spi" al sample "sus".

Lo he probado, por la curiosidad, y teniendo en cuenta sus características, su tamaño y el origen de los samples, puedo decir que me ha dejado bastante asombrado. Esa "tocabilidad" tiene muchas posibilidades. No tener que andar cambiando de articulación mediante keyswitches o articulations maps o cambios de programa.... solamente con la actitud de tus dedos ya suena una articulación u otra, es algo que al menos yo no había visto en ningún sitio.

Las demos de su página son una castaña, pero he cargado la orquesta en alguna pieza que tengo (el Presto de las 4 estaciones de Vivaldi que ya puse por aquí) y la verdad es que suena muy pero que muy bien.
Subir
3
Danilo Sante
#2 por Danilo Sante el 21/02/2018
Gracias por el dato Teniente, estos regalitos si que se agradecen. Un saludo!
Subir
miangaco
#3 por miangaco el 21/02/2018
Gracias por compartir.
Desde hace un tiempo pienso en la locura de la cantidad de gigas de las librerías. Y cada vez son más pesadas.
Lo mismo está de 500 megas suena de escándalo.
Probaremos.
Subir
KaRPiN
#4 por KaRPiN el 21/02/2018
Alguien escribió:
Las demos de su página son una castaña, pero he cargado la orquesta en alguna pieza que tengo (el Presto de las 4 estaciones de Vivaldi que ya puse por aquí) y la verdad es que suena muy pero que muy bien.


Gracias Teniente ... podrías dejar una prueba con los wavs aunque sea cortita :desdentado:
Subir
KaRPiN
#5 por KaRPiN el 21/02/2018
Alguien escribió:
Las demos de su página son una castaña, pero he cargado la orquesta en alguna pieza que tengo (el Presto de las 4 estaciones de Vivaldi que ya puse por aquí) y la verdad es que suena muy pero que muy bien.


Genial Teniente ... podrías dejar una prueba con los wavs aunque sea cortita :desdentado:
La voy a añadir al material gratuito que tengo en un hilo por ahí tirado.
Subir
teniente_powell
#6 por teniente_powell el 21/02/2018
El sonido no es muy allá. Obviamente no es lo mismo una librería multicapa con 6 round robin grabada en las mejores condiciones con músicos profesionales, que una mezcla de sonidos procedentes de varias orquestas de aficionados grabados con un par de micros. Pero me resulta tremendamente asombroso esa capacidad de poder cambiar de articulación en función del toque de la mano de cada uno.

La verdad es que antes de meterme con librerías de kontakt, yo era usuario de los sonidos en formato soundfont. Muy ligeros y configurables. Los instrumentos virtuales se construían muy fácilmente con un programa llamado Vienna Soundfont Studio (todo gratuíto, los instrumentos, los samples, el propio Vienna....). Con él podías ver la estructura que tenían los samples para formar el instrumento virtual y te permitía modificar lo que quisieras. Yo, que siempre he sido muy "tocón", editaba los instrumentos y los hacía a mi gusto. Incluso formaba conjuntos a base de combinar instrumentos de aquí y de allí.

Para quien conozca un poquito la estructura de un instrumento virtual en kontakt (se ve pinchando en Mapping Editor), los samples vienen distribuídos en una cuadrícula (2 dimensiones). En el eje X (izquierda o derecha) están las notas y en el eje Y (arriba o abajo) se colocan las diferentes dinámicas de una misma nota. Cuanto más arriba, más fuerte. Abajo el piano, arriba el piu forte. Según la dinámica se controle con la pulsación o la rueda de modulación, tocarás más arriba o más abajo. Hay instrumentos en los que se controla con la pulsación, y otros con la rueda.

Yo imagino un mapeo en 3 dimensiones. Un cubo en lugar de una cuadrícula, donde la fuerza de la pulsación te coloca más arriba o más abajo (regulando el ataque, y no la velocidad) y luego la rueda de modulación te haga moverte horizontalmente por el eje Z (profundidad del cubo), donde ya sí te enfrentas a la dinámica. La pulsación te coloca a una altura determinada (con su ataque correspondiente) y la rueda te coloca en la dinámica deseada. Ahí podrías manejar los legatos, spiccatos y staccatos sin necesidad de cambiar de articulación. Sólo con la pulsación se posiciona en una articulación u otra.

Pero si Native Instruments todavía no ha sido capaz de sacar kontakt en VST3, pedirle que sea capaz de mapear en 3 dimensiones sería una quimera. Pero la orquesta virtual esa que comento, parece que ha sido capaz de conseguir algo así. Controlar el ataque con la pulsación y la velocidad con la rueda. Impresionante. Y con programas gratuítos que cualquier puede conseguir en la red. Yo aun los tengo todos, mis soundfonts, mis instrumentos, el Vienna, ....
Subir
vagar
#7 por vagar el 21/02/2018
teniente_powell escribió:
Yo imagino un mapeo en 3 dimensiones.


La mayoría de los motores de sampling a partir de Gigasampler son hipercubos de N dimensiones, incluidos SFZ y Kontakt. Las dimensiones "altura" y "velocidad" son simplemente las más básicas, por lo que se eligen para hacer una sección 2D representable en pantalla a ese hipercubo N-D. Pero te puedes imaginar que otra dimensión ortogonal es, por ejemplo, el valor de CC1 (rueda de modulación), otra el valor de CC64 (pedal de sustain), etc.

teniente_powell escribió:
El ataque fuerte lo genera superponiendo un sample "spi" al sample "sus".


Pues ahí tienes cómo se hace. Si haces una pulsación fuerte y corta, no te da tiempo a oír el "sus". O a lo mejor el "sus" tiene un pequeño retardo y no entra hasta que termina el "spi". Seguramente el "spi" no tiene corte en note-off. Los archivos SFZ son texto, así que puedes mirar cómo está hecho.

No he editado nunca en Kontakt, pero seguro que se puede hacer algo similar.
Subir
teniente_powell
#8 por teniente_powell el 22/02/2018
vagar escribió:
La mayoría de los motores de sampling a partir de Gigasampler son hipercubos de N dimensiones, incluidos SFZ y Kontakt. Las dimensiones "altura" y "velocidad" son simplemente las más básicas, por lo que se eligen para hacer una sección 2D representable en pantalla a ese hipercubo N-D. Pero te puedes imaginar que otra dimensión ortogonal es, por ejemplo, el valor de CC1 (rueda de modulación), otra el valor de CC64 (pedal de sustain), etc.
Sí... en fin.... la multicapa. Ciertamente a ese mapa en dos dimensiones se le superponen varios mapas del mismo tamaño que representan capas, como si fueran un sandwich de varios pisos. Luego, con la modulación, simulas moverte ortogonalmente. Y digo simulas porque, en realidad, suenan todos los samples de todas las capas en esa posición, aunque la curva de la modulación que configures define cuánto porcentaje de cada capa es la que va a sonar. Yo imagino algo más grande, más poderoso, que permita "realmente" moverte en un mapa en tres dimensiones, no un mapa multicapa.

vagar escribió:
Pues ahí tienes cómo se hace. Si haces una pulsación fuerte y corta, no te da tiempo a oír el "sus". O a lo mejor el "sus" tiene un pequeño retardo y no entra hasta que termina el "spi".
Me recuerda a cuando las librerías de cuerdas no traían el marcato y se simulaba superponiendo el nki de spicatto con el legato. La verdad es que daba el pego.

vagar escribió:
Los archivos SFZ son texto, así que puedes mirar cómo está hecho.
Joder, pues no me acordaba. Cierto. Aunque es puro lenguaje script y hay que entenderlo. Pero leyendo el sfz de los violines, al principio veo cosas que, efectivamente, te dicen cómo está hecho.

-------------------

// This is a combination of
//
// 1st-violin-SEC-sustain.sfz
// 1st-violin-SEC-staccato.sfz
//
// ... where high key velocity reduces the sample attack time
// and the mod wheel increases the volume

Está muy claro. Y lo que sigue, ya metidos en harina, también es bastante clarificador. Tienes toda la razón en que retrasa la entrada de los samples sustain para simular el acento:

// cc1 controls gain after lowering volume of all samples (PB)
gain_cc1=34
// reduce velocity tracking, use cc1 for volume (PB)
amp_veltrack=60

// reduce attack with increased key velocity (PB)
ampeg_attack=0.8
ampeg_vel2attack=-1.6

// simulate accent by delaying sustain at higher velocity (PB)
delay_cc1=0.12


// randomize like a real player(PB)
pitch_random=5
amp_random=1


// slower attack for sustain (PB)


ampeg_release=0.9
Subir
vagar
#9 por vagar el 22/02/2018
teniente_powell escribió:
Y digo simulas porque, en realidad, suenan todos los samples de todas las capas en esa posición, aunque la curva de la modulación que configures define cuánto porcentaje de cada capa es la que va a sonar.


No sé en Kontakt, pero en SFZ, que conozco bastante, es tan "simulación" como el resto de dimensiones: al igual que con "altura" o "velocidad", tú defines regiones, rangos de coordenadas N-dimensionales (altura, velocidad, CC1, CC64, etc.) en los que un sample se dispara o no. El solapamiento de regiones mediante crossfade es opcional, así que no tienen por qué sonar todos los samples al mismo tiempo.

Me extrañaría que no fuera así en Kontakt, de alguna u otra manera, es un desperdicio de recursos leer una muestra que no suena.

teniente_powell escribió:
Yo imagino algo más grande, más poderoso, que permita "realmente" moverte en un mapa en tres dimensiones, no un mapa multicapa.


¿Por ejemplo?

teniente_powell escribió:
Me recuerda a cuando las librerías de cuerdas no traían el marcato y se simulaba superponiendo el nki de spicatto con el legato. La verdad es que daba el pego.


Es que tampoco hay muchas más maneras de hacer algo así. La información que llega del dispositivo MIDI es altura, velocidad y marca de tiempo, más el estado de los cambios de controladores, pitch bend, aftertouch... A partir de ahí, el software, que no es telepático, tiene que buscarse la vida. Creo recordar que Vienna tenía una herramienta de interpretación bastante sofisticada, con cierto análisis de la historia del canal, pero las posibilidades son las que son.

Por ejemplo:

teniente_powell escribió:
Un cubo en lugar de una cuadrícula, donde la fuerza de la pulsación te coloca más arriba o más abajo (regulando el ataque, y no la velocidad)


No hay sensor de "fuerza" en un teclado MIDI, más que a más fuerza con la que se toque, más rápido desciende la tecla, así que más velocidad. En un controlador de viento puedes mapear alguna información sobre cómo se está soplando a mensajes CC o PB.
Subir
teniente_powell
#10 por teniente_powell el 22/02/2018
vagar escribió:
El solapamiento de regiones mediante crossfade es opcional, así que no tienen por qué sonar todos los samples al mismo tiempo.

Me extrañaría que no fuera así en Kontakt, de alguna u otra manera, es un desperdicio de recursos leer una muestra que no suena.
No, sonar no suenan todos. Quizás simplifiqué demasiado. En kontakt, el posicionamiento se hace en dos dimensiones, o sea, tú tocas una nota a una velocidad y el cursor se coloca horizontalmente en la columna de la nota y verticalmente en la fila de la velocidad, y se posiciona en una casilla exactamente.

notes_643x528.png

Esos cursores rojos es el posicionamiento. Pero ortogonalmente, en el eje Z, no es igual.

Yo conozco dos formas diferentes (que no quiere decir que puedan haber cuarenta..... yo sólo conozco dos). Una es mediante un modulador (se conoce así al control mediante un midi CC, los más usados son CC1 para modulación, CC2 para vibrato y CC11 para expresión). Tú dibujas una curva para cada capa, y dicha curva indica el valor del parámetro modulado en función del valor del midi CC que estés definiendo. O sea, para el CC1 que todos conocemos mucho, si tienes 4 capas con diferentes dinámicas (piano, mezzopiano, mezzoforte, forte) tú defines una curva de CC1 para cada dinámica. Por ejemplo para el forte, la curva sería algo así:

marcato-velocity.jpg

Para valores de CC1 entre 0 y 80 no suena el grupo de samples del forte, y a partir de 80 cada vez suena más. El del piano te lo puedes imaginar justo del revés. Descendente entre 0 y 40, por ejemplo, y a partir de ahí 0. Kontakt no precisa leer los samples del grupo de forte, pero sí precisa conocer los valores de CC1 para todas las capas, o sea, debe conocer los valores de CC1 para todo el eje Z, a diferencia del eje X (la nota) y el eje Y (velocidad) en que se posiciona directamente.

La otra forma que conozco es mediante Round Robin. Tienes, por ejemplo, 6 capas de RR y el algoritmo se posiciona en una o en otra según hayas definido la regla de RR (aleatoriamente, secuencial, ....).

O eso es lo que veo, que tampoco soy experto en kontakt.

vagar escribió:
¿Por ejemplo?
No soy capaz de definir exactamente cómo debiera ser. Sé que me gustaría una especie de cubo (se podría expresar mejor, pero no soy capaz) donde lo que ahora son capas fueran diferentes articulaciones de una misma nota a una misma velocidad, de modo y manera que según la manera de tocar se posicione en "legato" o en "pizzicato". Pero como muy acertadamente apuntas, el midi es lo que es, da la información que da, y el software no es telepático. Supongo que terminarán haciéndolo con scripts. Lo cierto es que ahora, para cambiar de articulación, tienes que apretar algo, si no es un keyswitch es un Program Change o un midi CC. Sería la releche poder tocar un controlador midi como quien toca un instrumento real.
Subir
newbcs 5.0
#11 por newbcs 5.0 el 22/02/2018
Muy interesante :-)
Subir
vagar
#12 por vagar el 22/02/2018
teniente_powell escribió:
En kontakt, el posicionamiento se hace en dos dimensiones


Obviamente tiene que haber otras maneras de disparar muestras que simplemente activar una coordenada [altura, velocidad], pero a lo mejor en Kontakt es todo por script. Por ejemplo, cuando pulsas el pedal de apagadores (CC64) sin tocar ninguna nota, hay pianos kontakt que producen el típico sonido resonante al separarse los fieltros y dejar las cuerdas al aire. O las colas. A ver si un día le echo un vistazo al manual, a ver cómo es su arquitecura de sampling, lo que explicas de moduladores se parece más a cómo funcionan las soundfonts.

A finales de los 90 Gigasampler ya implementaba un concepto como el que tú intuyes y que, de manera algo distinta, también se encuentra en SFZ. Además de las dimensiones de altura y velocidad, permitía añadir otras dimensiones (varios ejes Z, si quieres) en los que definir regiones.

?u=http%3A%2F%2Fwww.alchemystudio.it%2FTutorial%2FGigasampler%2Flesson06%2Ffig2.jpg&f=1
Subir
Javiondo
#13 por Javiondo el 22/02/2018
Y cómo está esto, bajo los tres enlaces?
Subir
teniente_powell
#14 por teniente_powell el 22/02/2018
Te bajas el zip con los samples wav, y el zip con la orquesta (la New Performace, pues la Standard no tiene las características descritas) y descomprimes ambos zip en la misma carpeta, sobreescribiendo lo que te diga. Y ya está. Y ahora precisas el instrumento virtual para reproducir los samples (recomendado el Sforzando). En dicho Sforzando cargas un fichero sfz.
Subir
1
vagar
#15 por vagar el 23/02/2018
Por lo que he visto en el manual de Kontakt, tiene pinta de que se puede hacer algo similar a las dimensiones de Giga usando el editor de grupos, que permite activar grupos de samples según el estado de algún controlador. Ahí habría el equivalente a dimensiones Z, Z', Z'', etc. para ese hipercubo.

Pero, como hemos hablado, una pulsación de una tecla sólo da dos coordenadas, y en un cubo necesitamos 3.

Si se quisiera, por ejemplo, cambiar un patch de cuerdas a pizzicato si la pulsación es muy corta y sin tocar ningún controlador o keyswitch, no sería posible.

A no ser que esperemos unos milisegundos a ver si llega el evento note-off antes de disparar la muestra "leg" o "pizz", lo que introduciría latencia. Puede ser un compromiso aceptable. Nunca la he usado, pero tengo entendido que Vienna Performance Tool hacía cosas así.

Pero vamos, que si te convence cómo lo ha resuelto el autor de la orquesta que mencionas en el primer post, en Kontakt tiene pinta de que se puede replicar algo así perfectamente.
Subir
Hilos similares
Respuesta rápida

Regístrate o para poder postear en este hilo