Sonido digitalizado con Amstrad CPC

Sistemas 464, 664, 6128, 472, ...
Avatar de Usuario
jotego
Atari 1040 STf
Atari 1040 STf
Mensajes: 657
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 27 veces
Gracias recibidas: 44 veces
Contactar:

Sonido digitalizado con Amstrad CPC

Mensajepor jotego » 07 Jul 2013, 07:51

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?

Avatar de Usuario
scooter
Amiga 1200
Amiga 1200
Mensajes: 1031
Registrado: 17 Jul 2012, 09:25
primer_sistema: C64
Ubicación: Alicante

Re: Sonido digitalizado con Amstrad CPC

Mensajepor scooter » 07 Jul 2013, 08:20

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

Avatar de Usuario
jotego
Atari 1040 STf
Atari 1040 STf
Mensajes: 657
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 27 veces
Gracias recibidas: 44 veces
Contactar:

Re: Sonido digitalizado con Amstrad CPC

Mensajepor jotego » 07 Jul 2013, 11:05

Igual es eso solo, sí. Se pone un tono fijo en un canal y se varía la amplitud del mismo.

SyX
Commodore 128
Commodore 128
Mensajes: 84
Registrado: 15 Mar 2010, 12:44
Gracias dadas: 12 veces
Gracias recibidas: 18 veces

Re: Sonido digitalizado con Amstrad CPC

Mensajepor SyX » 07 Jul 2013, 12:56

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 :)

Avatar de Usuario
jltursan
Amiga 2500
Amiga 2500
Mensajes: 4028
Registrado: 13 Oct 2006, 19:45
Sistema Favorito: MSX
primer_sistema: Dragon
Ubicación: Serracines, Madrid, España
Gracias dadas: 57 veces
Gracias recibidas: 157 veces
Contactar:

Re: Sonido digitalizado con Amstrad CPC

Mensajepor jltursan » 07 Jul 2013, 13:06

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 encoder
Este 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 PSG
Crystal clean PCM 8bit samples on the poor PSG

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 54 veces
Contactar:

Re: Sonido digitalizado con Amstrad CPC

Mensajepor mcleod_ideafix » 07 Jul 2013, 14:02

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)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
jotego
Atari 1040 STf
Atari 1040 STf
Mensajes: 657
Registrado: 16 Ene 2013, 23:25
Sistema Favorito: Atari ST
primer_sistema: Amstrad CPC
consola_favorita: Sony PlayStation 2
Primera consola: Atari Lynx
Ubicación: Valencia (España)
Gracias dadas: 27 veces
Gracias recibidas: 44 veces
Contactar:

Re: Sonido digitalizado con Amstrad CPC

Mensajepor jotego » 07 Jul 2013, 17:06

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 encoder
Este 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.

Avatar de Usuario
Namek
Atari 1040 STf
Atari 1040 STf
Mensajes: 840
Registrado: 11 Jul 2011, 13:13
Gracias dadas: 18 veces
Gracias recibidas: 63 veces

Re: Sonido digitalizado con Amstrad CPC

Mensajepor Namek » 07 Jul 2013, 23:25

La leche como suena eso, está la muestra disponible para probarla en un MSX de verdad?

Avatar de Usuario
Jaimen
Amiga 1200
Amiga 1200
Mensajes: 1656
Registrado: 17 Mar 2009, 13:39
Sistema Favorito: Amstrad CPC
primer_sistema: Amstrad CPC
Ubicación: Madrid
Gracias dadas: 159 veces
Gracias recibidas: 19 veces

Re: Sonido digitalizado con Amstrad CPC

Mensajepor Jaimen » 08 Jul 2013, 08:11

Esa muestra es impresionante, es increíble que eso pueda sonar en un 8 bits...
Mi galeria de fotos en 500px.com

Avatar de Usuario
jltursan
Amiga 2500
Amiga 2500
Mensajes: 4028
Registrado: 13 Oct 2006, 19:45
Sistema Favorito: MSX
primer_sistema: Dragon
Ubicación: Serracines, Madrid, España
Gracias dadas: 57 veces
Gracias recibidas: 157 veces
Contactar:

Re: Sonido digitalizado con Amstrad CPC

Mensajepor jltursan » 08 Jul 2013, 20:42

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).


Volver a “Amstrad CPC”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 3 invitados