Autor Tema: mod_notes  (Leído 8808 veces)

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: mod_notes
« Respuesta #30 en: Febrero 25, 2010, 10:47:09 pm »
:D, es porque el mío toca por la tarjeta de sonido, sintetiza un seno para cada frecuencia de cada nota y lo discretiza a 22khz, mono,16 bits, por eso suena como más límpio, no tan speaker :D.
Quizás si lo pongo a 8khz y 8 bits se escuche peor, pero más retro :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: mod_notes
« Respuesta #31 en: Febrero 25, 2010, 10:51:25 pm »
En cuanto a lo de multithread, es tan simple como poner la música a sonar en un "process" a parte.
¿Has visto el prg avanzado?
tiene un formato de texto propio que he llamado ".notes", que es más facil de usar para componer.

Lo de los float no tiene mucho que ver, creo. Yo he probado con ints el mío y se escucha más o menos igual, quizás un poquitín más limpio, pero no tengo oído de músico y para mí suenan prácticamente igual por no decir igual del todo :D.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

FreeYourMind

  • Hero Member
  • *****
  • Mensajes: 5684
  • Karma: 128
    • GECA soft
Re: mod_notes
« Respuesta #32 en: Febrero 25, 2010, 10:55:27 pm »
Estoy como loco para saber como hacerlo, puedes poner un ejemplo ?, yo creo que todos estos modulos de sonido lo tienen que tener obligatoriamente, no vas a parar la ejecución de los gráficos para escuchar la musica antes....

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: mod_notes
« Respuesta #33 en: Febrero 26, 2010, 12:00:18 am »
me refiero en código benno a:
Código: [Seleccionar]
begin
  set_mode(320,200,32);
  coche(200,100);
  loop
     frame;
  end
end

process coche(x,y)
begin
  graph = load_png("mi_coche.png");
  loop
     if (key(_left) )x--;end
     if (key(_right) )x++;end
     if (key(_space)) toca_clapson();end
     frame;
  end
  unload_map(0,graph);
end

process toca_clapson()
begin
   play_note(65,200);
   play_note(650,100);
   play_note(65,100);
   play_note(650,200);
end
por un decir.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Drumpi

  • Hero Member
  • *****
  • Mensajes: 6340
  • Karma: 162
  • Odio el periodo "entre proyectos"
    • La web de Drumpi
Re: mod_notes
« Respuesta #34 en: Febrero 26, 2010, 12:33:36 am »
Tened en cuenta que el midi usa un instrumento pre-grabado en memoria para hacer música, por lo que genera señales sinusoidales (según el instrumento puede ser un único seno, dos, tres... veinte) y que incluso varían con el tiempo.
El altavoz del PC usa una señal cuadrada para generar sonido. No se si se filtrará para obtener un seno, o si ya lo hacen las capacidades parásitas, pero es lo que había antes para generar música: un oscilador digital al cual se le podía modificar la frecuencia, conectado a un altavoz.

Probad a usar el instrumento "square wave" del midi y lo notaréis... o si no, se parecerá mucho a los viejos sonidos de PC de cintas o consolas portátiles :P
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)

DCelso

  • Hero Member
  • *****
  • Mensajes: 3708
  • Karma: 181
Re: mod_notes
« Respuesta #35 en: Febrero 26, 2010, 01:35:33 pm »
Nueva versión.
he añadido las canciones que free puso en el post de mod_beep en formato ".notes" en el ejemplo avanzado. He modificado el ejemplo avanzado para que soporte inserción de frecuencias en hercios , silencios y duraciones en milisegundos en el formato ".notes"
he añadido una función para saber si sigue la música sonando.
y he dado soporte para configurar la frecuencia de muestreo y el  número de bits de muestreo. Son dos variables globales y para que surgan efecto hay que reiniciar el módulo notes con la funcion notes_init después de cambiar el valor de las variables.
He probado 8000,11025,22100 y 44100 y todas se escuchan mas o menos igual, he probado a cambiar los bits de muestreo a 8 y se escucha un ruido horripilante de fondo, no se si es que estoy haciendo algo mal al calcular la frecuencia.
Monstruos Diabólicos

"A PAck of classic GAMEs For BennuGD" en desarrollo
http://code.google.com/p/apagame4be/

Prg

  • Hero Member
  • *****
  • Mensajes: 1569
  • Karma: 140
    • Mi pagina
Re: mod_notes
« Respuesta #36 en: Marzo 16, 2010, 02:51:04 am »
excelente idea la de tener todas las direcciones de las librerias extraoficiales en un solo lugar.
karma++
de esta forma el buscar un módulo será tan fácil como visitar este tema :)
en humos puedes mover la camara con los cursores. es necesario para los niveles a partir del dos :)