Página 1 de 1

Cómo hacer efectos sonoros con speaker en pocos ciclos

Publicado: Dom, 29 Jun 2014, 15:21
por antoniovillena
Hola. Es para el engine FASE. Con los modelos 128K no hay problema porque habilito el WYZ player en otra página. Lo que me gustaría es hacer un sonido alternativo para máquinas de 48K (por ejemplo para saltos y disparos del personaje principal), no me importa que el sonido sea soso o de baja calidad, lo que no quiero es que el juego en máquinas de 48K quede totalmente mudo.

No puede ocupar mucho espacio porque al contrario del WYZ player aquí si estamos consumiendo espacio de RAM. En cuanto al número de ciclos, disponemos de unos 5000 ciclos cada frame, que vendría a ser lo que consume el WYZ player de media, ya que de lo contrario podríamos saltarnos frames que en un 128K no nos saltaríamos.

Re: Cómo hacer efectos sonoros con speaker en pocos ciclos

Publicado: Dom, 29 Jun 2014, 23:50
por antoniovillena
He conseguido algo pero suena muy mal.

Nota: Cargar en modo 48K

Re: Cómo hacer efectos sonoros con speaker en pocos ciclos

Publicado: Lun, 30 Jun 2014, 11:00
por na_th_an
Creo que en esto te podría ayudar Shiru, que es el dios del speaker (y me quedo corto), o Joefish, que en un juego con un timing tan exigente como Buzzsaw empleó las esperas para hacer sonar el speaker.

Re: Cómo hacer efectos sonoros con speaker en pocos ciclos

Publicado: Lun, 30 Jun 2014, 20:34
por antoniovillena
Muchas gracias. He visto el código de Buzzsaw, que saca muestras por el speaker intercalando código en la rutina gráfica. Pero yo no puedo hacer eso porque mi rutina gráfica no contiene bucles equiespaciados en tiempo, así que no puedo hacerlo. De todas formas he mejorado un poco mi rutina, y creo que se va a quedar así. Suena como el Rygar, supongo que al que lo programó le pasó lo mismo que a mí (dispone de pocos ciclos en cada frame para hacer el sonido).

Así que no les voy a dar la lata a Shiru ni a Joefish, porque lo más probable es que la única solución sea dedicar más tiempo de CPU al sonido. Esto es por ejemplo lo que hizo Jonathan Smith en Cobra, ya que el juego podía ir tranquilamente a 50fps. Dedicó un frame completo exclusivamente a generar sonido mediante CPU, para sacar un audio decente, con el inconveniente de que el juego iría a 25fps.