DSP, que es?

--31852--
#1 por --31852-- el 27/07/2008
Hola, durante el tiempo he estado escuchando el acronimo, o la sigla o lo que sea "DSP", en priemr lugar me gustaria descifrar si es una sigla o... y que significaria cada letra.... me suena a: Digital Signal Procesing (pero no estoy seguro) es eso?
Aparte he visto personas hablando sobre DSP host y de lo que me he enterado es que son como "ordenadores" los cuales gestionan todos los VST's y plug-ins para asi no consumir CPU del ordenador principal y de tal forma que todo vaya mas fluido. estoy en lo cierto, es así?
En segundo lugar cada dos por tres veo el famoso DSP de SSl "Duende Mini" cuando lo vi no creeria que fuese un DSP host ya que carece de encoders, pantalla etc... asi que, si alguien fuese tan amable de explicarme que es realmente esa cajitatan cara se lo agradeceria.

saludos
Subir
eliezer
#2 por eliezer el 27/07/2008
Un DSP es un procesador digital de señales, efectivamente. Se trata de circuitos integrados que están diseñados para procesar señales y producir efectos como reverb. Hay tarjetas de sonido que llevan DSP y eso hace que los efectos se hagan por hardware y no tenga que estar el microprocesados ocupado en eso.

Yamaha tenía una tarjeta (no estoy seguro si se sigue fabricando) que se llamaba Yamaha DSP Factory. Su gran virtud es que proporcionaba muchos efectos a traves de procesos hardware internos en vez de tener que usar plugins. Por ejemplo grabas una guitarra y quieres escuchar con distorsión y delay. Si el programa tiene que, ademá de capturar el sonido y pasarlo al disco duro, hacer los procesos necesarios para que escuches los efectos, la latencia siempre será mas frande que si tienes un chip n la placa que haga los efectos sin que el micro tenga que hacerlo.

Creo que va por ahí la cosa.
Subir
1
obione
#3 por obione el 27/07/2008
Efectivamente, muchos procesos son susceptibles de ser gestionados por un DSP. El de mi Marian por ejemplo está dedicado al mixer del software de la tarjeta.
Subir
1
Kaux
Dark-Mt
#5 por Dark-Mt el 27/07/2008
Un DSP en rasgos generales es un computador que procesa señales de tipo digital. Cuando hablamos de DSP en el mundo del audio, normalmente nos referimos a un dispositivo exclusivamente dedicado a aplicar determinados efectos en el audio digital (realizando muchos cálculos en poco tiempo). Este hardware libra a la CPU de nuestro DAW de una excesiva carga de procesamiento.
Subir
modulay
#6 por modulay el 27/07/2008
Para añadir un poco más lo que ya se ha dicho,un DSP es un procesador con una arquitectura (topología interna) pensada y hecha para la ejecución de procesos repetitivos sobre cantidades grandes de datos en tiempo real, que es, a grandes rasgos, a lo que se reduce el proceso digital de señal, tanto en audio como en vídeo.

Los efectos de audio consisten, en su mayoría, en ir tomando las muestras de la memoria del sistema y multiplicarlas por una serie de coeficientes, e ir sumándolas unas con otras para terminar reubicándolas en la memoria...esto,debido a que implica realizar un gran número de cálculos matemáticos (sumas y multiplicaciones) y un gran número de accesos a memoria para buscar los datos de origen y recolocar los datos una vez procesados,requiere optimizar los tiempos que se consumen en hacer todas esas cosas si se quiere funcionar a tiempo real (cuanto más complejo es el proceso,más se requiere dicha optimización).

Para conseguirlo,no sólo se hacen procesadores que son capaces de correr a más megahertzios,sino que su set de instrucciones y su hardware interno (bloques de memoria,buses de datos,etc) están preparados para llevar a cabo acciones más complejas ejecutando menor cantidad de instrucciones.
Una cpu normalita puede tener un set de 35 instrucciones,y cualquier operación que se quiera realizar en la que no sea suficiente con una instruccion del set pues habrá que realizarla concatenando varias instrucciones (o sea,mediante un algoritmo).Un DSP perfectamente puede contar con un set de 100 instrucciones o más,por lo que en muchos casos podrá llevar a cabo una misma tarea ejecutando menos instrucciones.

Un ejemplo hipotético...un procesador corriente,como el que puede llevar una BCF2000...supongamos que es una cpu corriente y moliente que corre a 10 MHz,lo que vendría a significar que ejecuta 10 millones de instrucciones por segundo (100 nanosegundos por instrucción)...entre sus instrucciones las hay para leer un dato (muestra) de una posición de memoria concreta; para escribir un dato en una posición de memoria concreta; para multiplicar un dato LEÍDO PREVIAMENTE DE MEMORIA por un coeficiente determinado; etc...
Si quisiéramos usar este cpu para, por ejemplo, aplicar un efecto consistente en ir tomando de memoria cada muestra,sumarla con la muestra anterior,multiplicar esa suma por un coeficiente, y entregar el resultado al DAC para que saque el sonido ya procesado, el programa podría ser una cosa así:

Vamos a suponer que se tiene un buffer de entrada de 256 muestras,que están ubicadas desde la posición 0 a la 255 de la memoria,sobre las que se aplica un proceso repetitivo.

CLEAR n // Pone a cero el parámetro n para encarar el algoritmo

ALGORITMO: //Proceso repetitivo
INC n // Incrementa en una unidad el valor de n
READ n // Accede a memoria y lee la muestra de la posición n
SUM n-1 // Suma lo obtenido en la instrucción anterior con la muestra n-1
MUL 0.37 // Multiplica la suma por el coeficiente 0.37
COMP n, 255 // Esta instrucción pone n a cero si ésta vale 255,si no,no la toca
WRITE DAC // Mueve el resultado a donde lo vaya a tomar el DAC
GOTO ALGORITMO // Vuelta a empezar,pero con la muestra siguiente del buffer

En total se ejecutan 7 instrucciones para cada muestra,lo que supone que para procesar todo el buffer se requiere un tiempo de:

100 ns * 7 * 256 = 179.2 microsegundos.

Es un proceso circular (el pan de cada día del proceso digital de señal),es decir,se comienza por el principio del buffer y cuando se llega a la última muestra,se vuelve al principio del buffer,donde se supone ya están disponibles nuevas muestras para procesar.

Ahora veamos un hipotético caso equivalente,pero con un DSP que,por ejemplo corra a 50 MHz (20 nanosegundos por instrucción):

CLEAR n // Pone a cero el parámetro n para encarar el algoritmo

ALGORITMO2: //Proceso repetitivo
READINC n, 255 // Incrementa n (o la reinicia, si toca), y lee las 2 muestras
SUM // Suma las muestras
MULWRITE 0.37, DAC // Multiplica la suma por 0.37 y coloca el resultado para el DAC
GOTO ALGORITMO2 // Vuelta a empezar,pero con la muestra siguiente del buffer

Se han usado 4 instrucciones para aplicar el efecto...
Las instrucciones de un DSP son más poderosas (van acorde a la arquitectura),y para hacer lo mismo que el otro procesador,se requiere menor cantidad de ellas,por lo que se invierte menos tiempo:

20 ns * 4 * 256 = 20.48 microsegundos

Unas 9 veces más rápido que el otro procesador (y no 5 como consecuencia de los megahertizios).

Otra característica de los DSP es que suelen trabajar los datos en punto flotante,lo que permite una mayor precisión en los cálculos.
Subir
3
--31852--
#7 por --31852-- el 27/07/2008
muy muy interesante pero lo de modulay me lo voy a tener que leer otra vez para entenderlo 100% jeje, pero muchisimas gracias... lo unco que no entiendo; el ejemplo de
Alguien escribió:
Por ejemplo grabas una guitarra y quieres escuchar con distorsión y delay

eso no le he pillado bien me lo podeis desmenuzar? :roll:

=D> =D> muchas gracias denuevo
Subir
--31852--
#8 por --31852-- el 28/07/2008
vamos que un DSP hace los calculos matematicos etc... para que se pueda desempeña el efecto que sea cierto? :D
Subir
modulay
#9 por modulay el 28/07/2008
Si.
El efecto se consigue haciendo todas esas operaciones matemáticas con las muestras.
Si tienes un dsp que se baste para aplicar efectos,puedes prescindir de efectos vst y descargar a la cpu
Subir
--31852--
#10 por --31852-- el 28/07/2008
Esto no lo he entendido,.... es decir, que un DSP ademas de hacer los respectivos calculos, "tiene en su interior", los propios instrumentos VST y los efectos en tal o tal formato? y asi, como tu dices, poder prescindir de bajarlos de la red .... :roll: ?
Subir
modulay
#11 por modulay el 28/07/2008
No me refería a eso.
Cuando cuentas con una tarjeta dsp como puede ser una UAD,los efectos software que se encargará de ejecutar el dsp no son vst...están especialmente hechos a la medida del dsp para que el host le mande la señal de entrada,el dsp la procese y le mande de vuelta al host el sonido ya procesado.En el caso de efectos vst,todo el proceso asociado a cada efecto lo ejecuta el host,o sea,la cpu del ordenador,de ahí que cuantos más efectos vst pongas en un proyecto,más cargas la cpu.
Subir
--31852--
#12 por --31852-- el 28/07/2008
deacuerdo, es mas he ido a la pagina de SSL por curiosear sobre el tema y he visto que el mismo Duende viene con sus propios plug-ins. Entonces como comentas... el DSP solo hara los calculos para los efectos que esten "hechos a medida para el DSP" cierto? o lo he entendido mal.... me cuesta :wink:
Subir
modulay
#13 por modulay el 28/07/2008
Así es.
Las tarjetas dsp vienen con su propio paquete software de efectos.
Subir
--31852--
#14 por --31852-- el 28/07/2008
ok todo aclarado, ahora entiendo porque poca gente de los "home-studio utiliza DSP's " jeje :lol: money money
Subir
Respuesta rápida

Regístrate o para poder postear en este hilo