Página 3 de 4

Re: Cambiar los efectos de sonido

Publicado: Mar, 18 Feb 2014, 13:16
por Jarlaxe
Pues a mi me cuesta siempre encontrar donde pones las nuevas versiones de tu juego :oops:

Puedes ponerme el enlace para guardarlo para próximas veces?

Gracias!

Re: Cambiar los efectos de sonido

Publicado: Mar, 18 Feb 2014, 13:31
por na_th_an
$this->bbcode_second_pass_quote('son_link', 'B')ueno, sigo con esto y me encuentro con lo siguiente, y es que algunos de los sonidos difieren, y mucho, del que suena en BeepFX.
Como BeepFX permite crear un .tap con los sonidos decido probar por si es algo de la propia maquina, pero en ese tap me suena tal y como debe de sonar.
Adjunto el beeper.h y el tap (solo tenéis que pulsar 2 e intro para que suene el laser). Ya sabéis donde esta siempre la ultima compilación del juego ;)


Probablemente es porque el código del beeper quede por debajo de $C000, que es la zona de memoria en contienda. Eso significa que cuando la ULA tiene que leer los primeros 16K de RAM para ver qué hay en la pantalla y dibujarlo, hace que la CPU se espere. Esto provoca que tareas de CPU intensiva como tocar un sonido se resientan, ya que la frecuencia del sonido que está sonando depende de los cambios de 0 a 1 en el altavoz. Lamentablemente, es complicado ubicar los sonidos en otra parte. El grueso del motor y todos los buffers gráficos se colocan al final de la RAM para intentar que todo se mueva más rápido.

Re: Cambiar los efectos de sonido

Publicado: Mar, 18 Feb 2014, 17:42
por son_link
Pues entonces nada de usar samples en el 48K.
Estoy probando Sound FX, pero no se como sacar los sonidos que guardo para ver si se pueden exportar para ver si se pueden usar en el beeper.h

Re: Cambiar los efectos de sonido

Publicado: Mié, 19 Feb 2014, 11:56
por na_th_an
Los sonidos "normales", compuestos por tonos, ruido, y slides, que se pueden crear con BeepFX, suenan casi bien. Cierto que es más cómodo digitalizar, pero creo que para una máquina de 48K es mejor tirar de síntesis en vez de reproducción de samples. Si no te salen, en el proyecto de ejemplo que viene con BeepFX hay una barbaridad de efectos, y algunos están realmente chulos. Además, puedes probar a modificarlos para dejarlos perfectos.

Lo único que tienes que hacer es secuenciarlos en tu proyecto de acuerdo a este orden:
$this->bbcode_second_pass_code('', '/*
TABLA DE SONIDOS

n Sonido
----------
0 Enemy destroyed
1 Enemy hit
2 Something
3 Jump
4 Player hit
5 Enemy destroyed 2
6 Shot
7 Item #1 (item)
8 Item #2 (key)
9 Item #3 (life)

*/')

El beeper.h que te pasé con el player de beepfx antiguo usa un orden diferente porque ese beeper.h era el que usábamos en la rama 4 de la Churrera (que dejamos en vía muerta), la de Ramiro el Vampiro.

Re: Cambiar los efectos de sonido

Publicado: Mié, 19 Feb 2014, 12:05
por na_th_an
$this->bbcode_second_pass_quote('son_link', 'P')ues entonces nada de usar samples en el 48K.
Estoy probando Sound FX, pero no se como sacar los sonidos que guardo para ver si se pueden exportar para ver si se pueden usar en el beeper.h


Si te refieres a esto http://www.worldofspectrum.org/infoseek ... id=0011124 se trata del generador que usábamos en las primeras versiones de la churrera.

Básicamente tienes que crear tus sonidos y exportarlos desde el emulador a un archivo .bin. Por defecto, Sound FX crea los sonidos en 30000 y cada sonido ocupa 50 bytes. Si has creado 9 sonidos, deberás exportar 450 bytes desde 30000 y grabarlos en un archivo "beeper.bin". En la mayoría de los emuladores se puede hacer fácilmente.

En la churrera 1.0 y 2.0, beeper.h tenía esta pinta:

$this->bbcode_second_pass_code('', '// Beeper.h
// Carga las rutinas de beeper y las lanza
// Copyleft 2010 The Mojon Twins

extern unsigned char beeper [];

#asm
._beeper
BINARY "beeper.bin"
#endasm

void peta_el_beeper (unsigned char n) {
#asm
xor a
ld (23624), a
#endasm
switch (n) {
case 0:
#asm
call _beeper
#endasm
break;
case 1:
#asm
call _beeper + 50
#endasm
break;
case 2:
#asm
call _beeper + 100
#endasm
break;
case 3:
#asm
call _beeper + 150
#endasm
break;
case 4:
#asm
call _beeper + 200
#endasm
break;
case 5:
#asm
call _beeper + 250
#endasm
break;
}
}
')

Según veo el código es una caca y podría haberse hecho bastante mejor, pero nos sirve :lol:

Como ves, dependiendo del valor que se le pase a peta_el_beeper, ejecutará el sonido correspondiente llamando a la direccion base donde se carga el binario (que es reubicable) sumándole el número del sonido por 50.

La churrera original solo usaba seis sonidos. Si tienes más, tendrás que añadir más código (o hacerlo genérico)

Re: Cambiar los efectos de sonido

Publicado: Mié, 19 Feb 2014, 12:31
por son_link
Si, precisamente es ese. Ahora me pongo a trabajar en ello, creare 9 sonidos al tuntun y cuento como va.
Y si, para el 48k mejor no tirar de samples, porque ademas de sonar diferente, como ya conté, ocupan bastante, se puede bajar la calidad del sonido para que ocupen hasta 10 veces menos, pero no es lo mismo.
Veamos que sale de todo esto

Re: Cambiar los efectos de sonido

Publicado: Mié, 19 Feb 2014, 12:39
por na_th_an
También ayuda mucho, con el tema samples, ponérselo fácil a BeepFX, preparando el sample para que suene "bien" a calidad mierda. En nuestro proyecto actual usamos un par de samples a muy baja calidad, pero suenan bien porque me tiré un buen rato dejándolo "fino" en un editor de audio, usando filtros para que el sonido sonase bien a poca frecuencia de muestreo y 1 bit.

Otra cosa que hice fue modificar los datos que exporta BeepFX a mano. Hay un parámetro con la velocidad de reproducción. Por lo general, usando un valor más bajo que el que pone BeepFX conseguimos que el sample suene mejor en memoria en contienda:

$this->bbcode_second_pass_code('', 'SoundEffect0Data:
defb 3 ;sample
defw 480
defw Sample0Data+0
defb 8
defb 0
')

¿Ves ese 8? Originalmente era un 11.

Re: Cambiar los efectos de sonido

Publicado: Mié, 19 Feb 2014, 14:23
por son_link
Ok, pues pruebo luego editandolos con Audacity, que voy a testear lo de Sound FX.
Desde luego ahora si que se va a facilitar la tarea de cambiar los efectos de sonido.
Aparte, la churrera usa 10 sonidos y hay 2 para cuando se acaba con un enemigo y Sound FX solo puede generar 9, por lo que, al menos en mi caso, el 5 apuntaría al mismo sitio que 0.

Re: Cambiar los efectos de sonido

Publicado: Mié, 19 Feb 2014, 18:07
por son_link
Bueno, terminado de probar y va bien. Cambia el tono de los efectos, pero la diferencia no es tanta y no ocupan tanto como los samples.
Mañana sigo con lo de los samples, que ahora tengo otras tareas que hacer, pero sacare algo de tiempo si puedo

Re: Cambiar los efectos de sonido

Publicado: Jue, 20 Feb 2014, 02:12
por elborra
Yo sigo atento al hilo :D , un día de estos le meto caña a los sonidos a ver que tal. Quizás en breve deje alguna capturilla de como llevamos el desarrollo del juego ^^