Informática musical

Añadiendo una entrada S/PDIF a la Sound Blaster Live! 1024

17/03/2002 por edding

Si puede hacerlo, ¿por qué no está implementado?

La SB Live es una tarjeta totalmente desaprovechada tanto a nivel software como a nivel hardware. En lo que respecta al software, todo el mundo conocerá ya a estas alturas las diferencias de prestaciones que presenta mediante sus drivers originales y los desarrollados por EMU (y los APSLive que son los EMU modificados por terceras personas). Quien haya usado y comparado estos drivers podrá comprender como los fabricantes pueden limitar las prestaciones de un producto justo en la capa final software y hardware ya sea por intereses económicos o de mercado. De esta forma nos encontramos con tarjetas de audio con capacidad para manejar varios canales pero que solo utilizan dos entradas e incluso DSPs desaprovechados.

En el caso de la SB Live player 1024, tenemos que este tipo de reducción de prestaciones también se produce a nivel de hardware. Su procesador viene preparado para manejar varias señales, pero por alguna razón no han querido implementarle las entradas. No obstante esta tarjeta de sonido viene con un bus de expansión de 40 pines en el cual están presentes todas las señales digitales que maneja el procesador, tanto las que han pasado por el Conversor Analógico Digital (ADC) de la propia tarjeta como otras las cuales no se utilizan, estando totalmente desaprovechadas.

Utilizando un poco de electrónica, podemos fabricarle nosotros mismo las entradas, adaptando un poco las señales para utilizar todos los canales que permita la tarjeta. O incluso podemos interceptar señales provinientes del ADC que están presentes en el bus de expansión y utilizar otros conversores de mayor calidad.

En este caso vamos a explicar como poder introducir una señal SPDIF en la tarjeta. Para ello solo es necesario hacer una pequeña conversión de la señal, ya que la SB maneja niveles de tensión TTL, mientras que el estándar SPDIF se define de otra forma; para entender que tipo de conversión tenemos que hacer, tenemos que observar cuales son las especificaciones del protocolo SPDIF.

El S/PDIF

Desarrollado por Sony y Phillips, sirve para comunicar mediante audio digital dos sistemas en distancias cortas; sus características son:

  • Transmite palabras de 32 bits, de las cuales se suelen usar 16 bits para las muestras (aunque técnicamente se pueden usar 24). El resto se utiliza para señalización y control.
  • La señal de reloj se extrae del mismo código (código sincronizable) y puede ser variable: 32khz, 44.1khz, 48khz.
  • El ancho de banda utilizado va de los 100khz a los 6Mhz aproximadamente, por lo que no podemos permitirnos cables demasiado largos debido a la atenuación.
  • Los niveles de tensión oscilan de 0.5v a 0.5v. La impedancia de entrada debe ser de 75 Ohms.

El código que se utiliza es bipolar, concretamente la codificación de línea es la BMC (Biphase Mark Code), en la cual los "bits ceros" se codifican con un cambio de estado en la línea y los "bits unos" se codifican con un doble cambio de estado en la línea. Esta forma de codificación de linea tiene la peculiaridad de que sea cual sea el audio que queramos transmitir, nunca tendremos ningún nivel de tensión continua DC.

Nuestra transformación de señal se produce solamente a nivel de tensión, ya que la SB Llive entiende el protocolo SPDIF, pero utilizando otro lenguaje de tensiones. Estos niveles oscilan de 0 voltios a 5 voltios, por lo que esta nueva señal sí que tendrá nivel de continua DC.

Circuito y montaje

El circuito propuesto tendrá a la entrada una resistencia R1 en paralelo de 75 Ohms, tal como indican las especificaciones SPDIF que debe tener la resistencia de entrada (con esto evitamos reflexiones de señal y otros problemas).

Colocaremos los condensadores C1 y C2 para evitar cualquier nivel de continua; recordemos que el codigo BMC que utiliza SPDIF no tiene tensión continua DC. Por ultimo colocamos dos puertas NOT (IC1 a y b) en serie de la familia TTL, para regenerar la señal (estas puertas 74HC04 son usadas en muchos aparatos para repetir señales digitales anulando el ruido).

También usaremos un par de diodos para asegurarnos que no introducimos tensiones mayores de cinco voltios, ni menores de cero voltios.

El único elemento activo del circuito es el integrado 74HC04, que debe ser alimentado con 5 voltios. No hay problema, porque en el bus de expansión tenemos esa alimentación.

El único problema puede ser el de montar físicamente la entrada, pero se puede hacer lo siguiente: podemos anular la entrada de micrófono (¿quién quiere grabar con esa entrada tan ruidosa?), desoldando de la propia tarjeta 2 resistencias que hay de entrada y un condensador fácilmente comprobables midiendo continuidad desde el vivo del jack.

Yo he montado todo el circuito en una placa de baquelita de ensayo soldada por líneas y la he unido a la SB Live usando una resistencia que me sobraba soldada a ambas tarjetas. Cada cual puede potenciar aquí su instinto de manitas y otra solución sería hacer el circuito externo, fuera del ordenador, pero no hay que olvidarse que requeriría de alimentación.

En mi montaje se puede ver como la salida del circuito se conecta al pin 15 del bus de expansión mediante el cable negro. Y como utilizo un puente (cable blanco) desde la entrada de micrófono (que ahora es entrada digital), a la entrada del circuito. El cable naranja es porque la alimentación 5 voltios la cojo de otro punto de la tarjeta diferente del pin 1 para no estropear el bus soldando directamente.

Una vez montado y revisado, podremos hacer uso de esta entrada digital usando los drivers APSLive. Esta entrada que hemos conectado al pin 1 se corresponde con la entrada digital 2 del mezclador APS y con el canal 5 y 6 ASIO.

Gracias a esta entrada podemos saltarnos los conversores de la Live si disponemos de cualquier aparato con salida digital SPDIF, eso si, la frecuencia recomendada de muestreo es de 48khz, ya que es la frecuencia natural que usa el chip de la tarjeta (emu10k1) y podremos tener problemas usando otra frecuencia.

El funcionamiento del circuito ha sido comprobado y revisado, pero hay que tener cuidado en no equivocarse al implementarlo, ya que podemos cargarnos fácilmente la tarjeta si cometemos algún error.

Te puede interesar