Página 1 de 2
Sonido digitalizado con Amstrad CPC
Publicado: 07 Jul 2013, 07:51
por jotego
El Amstrad CPC lleva un AY-3-8910, que genera ondas cuadradas a la frecuencia y amplitud (16 niveles) indicados. Hay juegos, como Robocop, que tienen voces digitalizadas. ¿Alguien conoce los detalles de cómo manejaban el AY-3-8910 para reproducir un sonido digitalizado?
Re: Sonido digitalizado con Amstrad CPC
Publicado: 07 Jul 2013, 08:20
por scooter
Detalles no, muy superficialmente.
En el c64 con el sid lo que se hacía era variar el volumen, osea que tenías un DAC de 4 bits con lo que salía un sonido bastante regularcillo. Me imagino que se hará lo mismo con el ay
Re: Sonido digitalizado con Amstrad CPC
Publicado: 07 Jul 2013, 11:05
por jotego
Igual es eso solo, sí. Se pone un tono fijo en un canal y se varía la amplitud del mismo.
Re: Sonido digitalizado con Amstrad CPC
Publicado: 07 Jul 2013, 12:56
por SyX
Exactamente, la base es esa, coges el registro de volumen de un canal del AY y lo usas como si fuese un DAC de 4 bits (también se le conoce como digidrum, porque se solía usar para simular baterías), tienes un ejemplillo con fuentes
aquí. Y a partir de ahí, ya puedes empezar con cosas más complejas

Re: Sonido digitalizado con Amstrad CPC
Publicado: 07 Jul 2013, 13:06
por jltursan
Un tema muy interesante...

En el AY hay varios métodos y efectivamente todos ellos consisten en variar el volumen y así modular el ruido generado al desconectar los osciladores escribiendo 0 en los registros 0 y 1.Existen variantes de este método, unas suenan mejor que otras; pero en general, en todas se juega con cambios en el volumen.
Un pequeño problema con el "DAC" teórico de 4 bits del AY es que funciona con una escala logarítmica y al final eso redunda en que los resultados reales son más bien comparables a los de un DAC de 3 bits o incluso menos.
La comunidad MSX es la que más ha trabajado en el tema. En 2006 se presentó el que creo que es el reproductor más avanzado de samples para cualquier máquina de 8 bits y sin lugar a dudas, lo mejor que se puede conseguir con un AY (que supuestamente no puede reproducir samples), el "Crystal clean" encoder, aquí os dejo una muestra sampleada reproducida tal cual en un MSX1:
Muestra de ejemplo del PSG encoderEste mecanismo de reproducción utiliza un algoritmo Viterbi para filtrar las transiciones de estado de las tripletas de volumenes de manera que se minimicen una serie de efectos indeseables que aparecen en los métodos estandar debido a que el PSG sólo puede cambiar un volumen de canal por acceso.
Como esa matemática me supera de largo, os recomiendo las siguientes lecturas:
Playing samples on the PSGCrystal clean PCM 8bit samples on the poor PSG
Re: Sonido digitalizado con Amstrad CPC
Publicado: 07 Jul 2013, 14:02
por mcleod_ideafix
En la Vectrex también se usaba el AY-3-8912 para reproducir sonidos digitalizados. El ejemplo más conocido quizás sea el juego Spike, cuando en las intermisiones decía: "Help! Spike! Molly! Oh no!" (lo cual tiene su mérito porque el procesador debía también dedicarse a refrescar la imagen vectorial en la pantalla)
Re: Sonido digitalizado con Amstrad CPC
Publicado: 07 Jul 2013, 17:06
por jotego
jltursan escribió:La comunidad MSX es la que más ha trabajado en el tema. En 2006 se presentó el que creo que es el reproductor más avanzado de samples para cualquier máquina de 8 bits y sin lugar a dudas, lo mejor que se puede conseguir con un AY (que supuestamente no puede reproducir samples), el "Crystal clean" encoder, aquí os dejo una muestra sampleada reproducida tal cual en un MSX1:
Muestra de ejemplo del PSG encoderEste mecanismo de reproducción utiliza un algoritmo Viterbi para filtrar las transiciones de estado de las tripletas de volumenes de manera que se minimicen una serie de efectos indeseables que aparecen en los métodos estandar debido a que el PSG sólo puede cambiar un volumen de canal por acceso.
Ese mp3 que nos has puesto es realmente impresionante. Tanto si uno piensa que viene de un MSX como si sencillamente viene de un AY-3-8910 conectado a cualquier otra cosa. Aunque seguramente la secuencia muestreada que han reproducido supere los 64kB de RAM.
Re: Sonido digitalizado con Amstrad CPC
Publicado: 07 Jul 2013, 23:25
por Namek
La leche como suena eso, está la muestra disponible para probarla en un MSX de verdad?
Re: Sonido digitalizado con Amstrad CPC
Publicado: 08 Jul 2013, 08:11
por Jaimen
Esa muestra es impresionante, es increíble que eso pueda sonar en un 8 bits...
Re: Sonido digitalizado con Amstrad CPC
Publicado: 08 Jul 2013, 20:42
por jltursan
Namek escribió:La leche como suena eso, está la muestra disponible para probarla en un MSX de verdad?
Pues ese exactamente no se; pero en el hilo en cuestión que os dejé, podías descargarte el encoder para PC y hacerte tu propia demo con el audio que quieras

. Eso sí, como ya habéis mencionado, agarraos que salen ficheros bien gordos (archivos .ROM si no recuerdo mal).