Page 1 of 2

sobre la reproduccion de archivos MIDI

PostPosted: Sat Dec 06, 2008 8:52 pm
by necro_vampire
Los archivos midi se reproducen por canales...
generalmente un archivo midi tiene hasta 16 canales..

en cada canal hay un instrumento...


mi preguntas es puedo solo tocar un canal???
o solo se pueden tocar todos a la vex...??

Re: sobre la reproduccion de archivos MIDI

PostPosted: Sat Dec 06, 2008 9:12 pm
by CicTec
Hola :)

La reproduccion de los MIDI es completa, o sea, cuando usas PLAY_MIDI reproduce todos los canales, todavia puedes tocar el volume o mutar cada canal con las nuevas funciones, aqui te dejo un ejemplo que permite obtener el numero de canales de un midi, modificar el volumen o mutar uno o mas canal:

Code: Select all
program test_songchannel;

global
  midi_id;

  midi_channels[31];
  count;
 
  is_muted;
  midinf_channels, midinf_length;
  chninf_time;
  channel_id;

begin
  set_mode(m512x384);

  midi_id = load_midi("midi\Dragon Ball Z - Majin Bu Saga.mid", 1);

  set_midi_channelvolume(midi_id,  0,   0); // channel 0
  //set_midi_channelvolume(midi_id,  1,   0); // channel 1
  set_midi_channelvolume(midi_id,  2,   0); // channel 2
  //set_midi_channelvolume(midi_id,  3,   0); // channel 3
  set_midi_channelvolume(midi_id,  4,   0); // channel 4
  set_midi_channelvolume(midi_id,  5,   0); // channel 5
  set_midi_channelvolume(midi_id,  6,   0); // channel 6
  //set_midi_channelvolume(midi_id,  7,   0); // channel 7
  set_midi_channelvolume(midi_id,  8,   0); // channel 8
  set_midi_channelvolume(midi_id,  9,   0); // channel 9

  from count = 0 to 9;
    midi_channels[count] = get_midi_channelvolume(midi_id, count);
  end
  from count = 0 to 9;
    write_int(0, 256, (count * 10) + 5, 4, &midi_channels[count]);
  end
      
  channel_id = play_midi(midi_id);

  write_int(0, 10, 10, 3, &is_muted);

  write(0, 10, 30, 3, "CHANNELS.:"); write_int(0, 76, 30, 3, &midinf_channels);
  write(0, 10, 40, 3, "LENGTH...:"); write_int(0, 76, 40, 3, &midinf_length);
  write(0, 10, 50, 3, "TIME.....:"); write_int(0, 76, 50, 3, &chninf_time);

  midinf_channels = midi_info(midi_id, mid_channels);
  midinf_length   = midi_info(midi_id, mid_length);

  repeat
    if(key(_space))
      mute_midichannel(midi_id, 3);
    end

    if(key(_enter))
      unmute_midichannel(midi_id, 3);
    end

    is_muted    = is_muted_midichannel(midi_id, 3);
    chninf_time = channel_info(channel_midi, channel_id, chn_midi_time);

    frame;
  until(key(_esc));
end

Como puedes ver antes de todo obtienes con MIDI_INFO el numero de canales el MIDI cargado, luego usas las funciones para cambiar el volumen o mutar uno o mas canales.

Espero te sea util, si sigues tenendo problemas avisa.

Un saludo.

Re: sobre la reproduccion de archivos MIDI

PostPosted: Sun Dec 07, 2008 12:19 pm
by TYCO
Aunque el midi no se use mucho... una canción bien hecha en MIDI puede ser mucho mejor que canciones normales de hoy día... y que en Gemix Studio esté la posibilidad de poder utilizar éste y muchos mas formatos de Sonido, le hace muy versátil en todo el campo de audio, sin contar con todas las posibilidades que ofrece para cada canal y etc, tanto midi como mp3, wav, it, xm, etc.

Yo nunca he usado midi... pero solo le hecho de que un lenguaje para crear juegos te dé varias opciones donde elegir... (ya sea en sonido, imagen, textos, etc) aumenta indirectamente la capacidad del usuario para crear mas y mejores juegos.

Ya nos contarás que tal te funcionan esos MIDIS y si nos puedes mostrar algún juego con ellos pues estaremos encantados de ver tus creaciones.

Re: sobre la reproduccion de archivos MIDI

PostPosted: Tue Dec 09, 2008 7:23 pm
by necro_vampire
El midi es muy util...
por su portabilidad sobre todo...

stoy desarrollando mi propio forma de trabajo...
encontre la forma de pasarlos a mp3 graxias a unos sintetizadores por software (ojala tuviera unos de verdad T.T)

lo q me lleva al reproducir MIDI se usan los sintetizadores de la placa de sonido...
si tuviera una placa de sonido digamos una sound blaster (es lo primero q se me vino a la mente)
podria usar los sintetizadores esa placa de sonido, en ligar de los otros (los de la placa on board)???

Re: sobre la reproduccion de archivos MIDI

PostPosted: Tue Dec 09, 2008 7:26 pm
by CicTec
Hola

No hay necesidad de tener una tarjeta de audio con un mejor sintentizador, la libreria de Gemix utiliza un sintetizador software universal (en muchos casos superior a muchos sintetizadores hardware) con lo cual el MIDI se escuchara perfectamente y de igual manera en todos los equipos.

De todas formas, si lo quieres pasar a MP3 o OGG, como veas :)

Re: sobre la reproduccion de archivos MIDI

PostPosted: Tue Dec 09, 2008 7:38 pm
by necro_vampire
asi q tiene su propio sintetizador por software...
n.n

lo revisare...

probare con unos midi bastante trabajdo q baje una vex...

por cierto cuantos canales a la vex soporta el sintetizador de gemix???

Re: sobre la reproduccion de archivos MIDI

PostPosted: Tue Dec 09, 2008 7:47 pm
by CicTec
soporta todos lo que puede soportar el MIDI, 128, 256, 512 o lo que sea, no hay limite podemos decir, puedes probar los escucharas muy bien y de igual manera en todos los equipos.

Otra cosa distinta es en lugar el numero de MIDI que puedes sonar a la vez, porque tb existe esa posibilidad, por ahora el limite es 24, pero en futuro se puede aumentar sin problemas, aunque no lo veo necesario (porque ya sonar 2 midis a la vez tiene poco sentido, almenos de no querer hacer algun efecto mix).

Re: sobre la reproduccion de archivos MIDI

PostPosted: Sat Dec 13, 2008 2:16 pm
by necro_vampire
Estoy asiendo mis prubas...

pero no me gusta como suena el sintetizador de gemix...

no habria la posibilidad de usar el sintetizador de la placa de sonido del ordenador???

dejo un rar en el q estoy jugando... :p
hay un midi muy trabajado ahi...
(no es mio por cierto...)
despues de escucharlo con gemix y con la placa de sonido
me quedo con la placa de sonido on board...

Re: sobre la reproduccion de archivos MIDI

PostPosted: Sat Dec 13, 2008 3:20 pm
by CicTec
mmmmm, lo acabo de escuchar, va en distorsion, quizas por eso no te gusta, parece estar un problema en la riproduccion, ya te hare saber en los proximos dias...

Re: sobre la reproduccion de archivos MIDI

PostPosted: Mon Dec 15, 2008 6:11 pm
by necro_vampire
Cictec
su podes revisa el midi con un editor MIDI...
ya que tiene varios cosas q los midis comunes no tienen...
podria decirse q esta masterizado...
trabaja con volumen de cada canal si rekuerdo bien...
por eso pesa mucho mas q un midi comun...
tal vex por eso suena mal en el sintetizador...

espero q esto sea util...

cuando pueda reviso el MIDI y te digo bien lo q tiene...