Tarjeta de Sonido y MIDI's

Imagen de RazaMetaL

Forums: 

Hola.

Tengo unos midis que me pasaron, pero al escucharlos suenan como mi viejo nintendo (NES de los primeros).

Conocen que tarjeta de red puede hacer sonar los midis un poco mas realistas ?

Una vez lleve unos a donde un tipo que tiene un estudio de grabacion, los escuche y whow .. se escuchan como pistas de audio!! claro.. este sujeto tiene una super tarjeta de sonido que mas parece la torre de amplificadores de una orquesta.... y ademas, debe ser muuuuuy cara.

Alguna sugerencia?

Imagen de BitFrost

Puedes utilizar una SoundBlaster AWE64, es una tarjeta de Wavetable, de tabla de ondas, es por eso que suena como si fuera una orquesta, y en linux si existen los drivers precisos para esa tarjeta, ja ja ja recuerdo que el Red Hat Linux 6.2 cuando cargaba el modulo de driver de la tarjeta, sabia hacer un estripitoso sonido de Platillo cuando iniciaba, y recuerdo que todo el mundo brincaba era el goce

"Education is what remains after one has forgotten everything he learned in school." - Albert Einstein
[img]http://counter.li.org/cgi-bin/certificate.cgi/345468[/img]

Imagen de elhumano

Ese es todo un tema

Hace un mes hice una investigación para un pariente que que se dedicaba editar música en formato midi y usar dispositivos midi con Linux.

Bueno te cuento un poco de la teoría.

Resulta que hay dos formas distintas de procesar música midi, hablemos de escuchar el audio.
La primera es usando el procesador midi de la tarjeta de sonido. Nosotros empezamos por usando una Sound Blaster Live 5.1 asumamos que tu kernel ya todo esta bien configurado esto es (soporte para midi) y en nuestro caso el modulo snd-emu10k1 de nuestra tarjeta (ya sabes que todos los módulos que empiezan con snd-xxxxx es driver ALSA y sin snd-xxxxx es OSS).

Comenzamos usamos soundfonts que son unos ficheros que le dicen al procesador midi de la tj de sonido como deben sonar los instrumentos probamos cargando varios tipos algunos funcionaron otros no y los genéricos realmente sonaban pésimo por ultimo decidimos usar unos que llegaron con el cd de los drivers eran unos que tenían la extención .sf2
los cargamos asi:

asfxload /lugar/de/tu/sound/font/xxxxxx.sf2

Esto de los sound fonts no es algo genérico es solamente para SoundBlaster no es general midi, solo si tienes una SB puedes usar esto.

Espero que tengas instalado toda la colección de utilitarios ALSA en tu sistema (alsa-utils)

para probar nuestra configuración usamos pmidi un utilitario que te permite controlar los puertos virtuales por donde quieres que salga la musiquita y tocarla (funciona para todas las tj de sonido)
para ver cuales eran estos puertos virtuales en las SB me salio la siguiente lista.

Pmidi -l

Port Client name Port name
64:0 0: MIDI Synth MIDI 0-0
65:0 AWE Wave Table Synth : 0 Emu10k1 port 0
65:1 AWE Wave Table Synth : 0 Emu10k1port 1
65:2 AWE Wave Table Synth : 0 Emu10k1 port 2
65:3 AWE Wave Table Synth : 0 Emu10k1 port 3

ahora bien a probar el archivo midi

pmidi -p 65:0 mimusica.mid

Y sonaba bien pero realmente me esperaba mas de una SB live ,
Peor aun si la SB tiene fama de ser tan buena como sonará de mal cuando usas esas tarjetas de sonido genericas de 8 dolares!!!

continua........

Imagen de elhumano

Así que encontré una segunda forma de tocar los midis, una en que no usaba la el procesador de la tarjeta sino usaba el procesador de la computadora lo que hacia era interpretar los instrumentos midi y procesarlos convertirlos en wav y sacarlo por el dispositivo de audio normal pcm y todo esto en tiempo real !!!! Realmente si solo quieres escuchar música no vas a notar ninguna diferencia en el tiempo (claro que si monitoreas tu cpu vas a encontrar que esta trabajando poco mas) este utilitario o mejor llamemolo servicio se llama timidity++ y el sonido es espectacular.

Este es todo un paquete tienes que tiene codecs y tiene algo similar a los soundfonts que no tiene nada que ver con SB .
(TMIDITY++)
Bien este te crea puertos nuevos midi en mi caso vi esta lista

pmidi -l

Port Client name Port name
64:0 0: MIDI Synth MIDI 0-0
65:0 AWE Wave Table Synth : 0 Emu10k1 port 0
65:1 AWE Wave Table Synth : 0 Emu10k1 port 1
65:2 AWE Wave Table Synth : 0 Emu10k1 port 2
65:3 AWE Wave Table Synth : 0 Emu10k1 port 3

128:0 AWE Wave Table Synth : 0 Timidity++ port 0
128:1 AWE Wave Table Synth : 0 Timidity++ port 1
128:2 AWE Wave Table Synth : 0 Timidity++ port 2
128:3 AWE Wave Table Synth : 0 Timidity++ port 3

los puertos 128:X son los que crea timidity
para probar como la música la sacamos por 128:0

pmidi -p 128:0 tumusica.mid

Finalmente viene la parte en donde hay que configurar las aplicaciones (players) para que usen determinado puerto midi para que toquen música.
En lo personal solo me dedique a los editores de música y los hay extraordinarios te sacan partituras pistas instrumentos etc...

Aun ando buscando una forma global para hacer esto enviar un puerto midi determinado al /dev de salida para cualquier player genérico (aun no lo logro).

Una cosa mas que agregar ...
para escuchar música el Timidity++ es fantástico por su calidad de salida pero usarlo para editar música midi no es muy recomendable empieza a degradarse la velocidad y ya no se escucha en tiempo real, es por que procesa las pistas por separado teminando por hacerse lento en ese caso es mejor usar el procesador de la t. de sonido.

El kernel 2.6.9 hay muchas mejoras en el ALSA MIDI, esto es buena noticia para todos los que nos gusta esta tecnología tanto los compositores de música como los que nos gusta el karaoke (.kar)

Espero que los que tengan mas información al respecto contribuyan un poco.
He escrito todo este lara...lara...lara a ver si alguien se anima a compartir mas experiencias, personalmente me interesa mucho este tema...

RazaMetal espero que te sirva esta información y si tienes mas datos no dudes en compartirlos

aquí van los links

TMIDITY++
http://timidity.sourceforge.net/

PMIDI (viejo pero util)
http://www.parabola.demon.co.uk/alsa/pmidi.html

ASFXLOAD
http://alsa.opensrc.org/index.php?page=asfxload

Suerte

Imagen de RazaMetaL

[quote:96a6ec1418]pmidi -l

Port Client name Port name [/quote:96a6ec1418]

Ese comando me muestra:
[quote:96a6ec1418]Port Client name Port name [/quote:96a6ec1418]

Voy a probar en la pc que tengo con fedora a ver que tal y les aviso. Imaginate, tengo un monton de "metal midis" si los hago pistas .... whow ! :twisted: :D

-----

Visita este [url=http://www.sindominio.net/ayuda/preguntas-inteligentes.html]link[/url] :evil:

[img]http://www.bbspot.com/Images/News_Features/2003/01/os_quiz/debian.jpg[/img]

(adsbygoogle = window.adsbygoogle || []).push({});

Imagen de elhumano

Si correcto...
la salida en pantalla la escribi de memoria.
tambien
[code:1:06600fa55c] 128:0 AWE Wave Table Synth : 0 Timidity++ port 0[/code:1:06600fa55c]
es algo como:
[code:1:06600fa55c] 128:0 timidity : 0 Timidity++ port 0[/code:1:06600fa55c]

Es interesante como se puede tener WaveTables si tener el hardware..
Hay portatiles que no tienen sintetizador midi como resultado funcionan mejor que las que si lo tiene...

Suerte: cuentame que mas descubres...