Meridian 3.0 beta - Suggestions for the future (Development Foros MSX)MSX Resource Center            
                       
English Nederlands Espa�ol Portugu�s Russian                  
 Noticias
   Página principal
  Almacén de noticias
  Temas de noticias

 Recursos
   Foros MSX
  Artículos
  Analisis
  Informe de ferias/RUs
  Álbum de fotos
  Ferias y encuentros
  Encuestas
  Enlaces
  Buscar

 Software
   Descargas
  Tienda Online

 MRC
   Quiénes somos
  Únete a nuestro equipo
  Donar
  Políticas
  Contacta con nosotros
  Enlázanos
  Estadísticas

 Buscar
 
  

  

 Login
 

Login

Contraseña




¿Aún no tienes una cuenta? ¡Conviértete en miembro del MSX Resource Center! ¡Únete a nosotros!.


 Estadísticas
 

Hay 71 invitados y 3 miembros en línea

Eres un usuario anónimo.
 

Foros MSX


Foros MSX

Development - Meridian 3.0 beta - Suggestions for the future

Ir a la página ( Página anterior 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 Siguiente página )
Autor

Meridian 3.0 beta - Suggestions for the future

GuyveR800
msx guru
Mensajes: 3048
Publicado: Julio 09 2003, 23:57   
Yeah, I was thinking... Latok is asking for new features around the clock
We've already got more features than we could ever dream off! All these years of MoonBlaster in all its carnations begin to seem like torture ^^;
Latok
msx master
Mensajes: 1734
Publicado: Julio 10 2003, 01:15   


I'm just enthusiastic......And I know these things can be implemented fairly easy....Michiel already did it before......And I spoke about it with him on the phone several times already......
Latok
msx master
Mensajes: 1734
Publicado: Julio 10 2003, 01:15   
Not talking about pitchbending here, though. That's pretty hard, so I've understood....
GuyveR800
msx guru
Mensajes: 3048
Publicado: Julio 10 2003, 03:30   
Pff, yeah, pitchbend on MIDI totally sucks eggs ^^;

MichieldeVries
msx novice
Mensajes: 19
Publicado: Julio 11 2003, 22:43   
Little update

Scolling while playing works fine now. It was a hard job anyway coz scrollbars are processed within a window and the scrollbar that scrolls the tracks..... is not in a window, but on the main screen. But anyway.... it works.

It scrolls behind the play window and really looks cool
Latok
msx master
Mensajes: 1734
Publicado: Julio 11 2003, 23:10   
Michiel, you rule. But you know that
MichieldeVries
msx novice
Mensajes: 19
Publicado: Julio 16 2003, 23:40   
Another update,

The following has been implemented:

    * Steppositioner when playing. Moves in a clipped way behind windows.
    * <STOP> halts at the current page and step and lets the editor stay on that position


Now it's time to implement the modulation and pitchbending for the Opl4. Both
controllers have their own difficulties.

When modulation is established, what should modulate? The Opl4 has three parameters
to perform modulation: Amplitude modulation depth , frequentie modulation depth and
the modulation frequency. Question is: which parameters should be updated when
changing modulation from zero to 127 (max)

The pitchbending is problematic too and will claim a lot of processing-time. For MIDI devices it is not that hard, coz the device processes all pitchbend data. Meridian only sends the data, and that's all. For the Opl4, each note should be evaluated if there is any bending on the channel. If there is, the pitchbend value (-8192..+8191) must be converted to frequency data for the Opl4. Another problem is RPN nr 0: the bendpitch range. Usually, the setting for each channel is +2, that means that pitchbending at +8191 will result in 2 semitones up.
But.. I still have made a routine that computes the frequencies very fast.

Yes, I know, it is a bit techno talk, bit insiders know what this is all about.

I noticed that a lot of MIDI-files are played back very slow at some parts of the song. I looking for some other improvents in the play-routine to minimize these slowdowns.

snout
online

msx legend
Mensajes: 4992
Publicado: Julio 17 2003, 00:19   
Very nice to see Meridian advancing so quickly. I think wolf can help you a lot with the modulation-stuff. If you decide to put your source codes online (like you did with Meridian 2.x) maybe you can ask people to browse them through in order to spot things that can be optimized?
wolf_

msx legend
Mensajes: 4781
Publicado: Julio 17 2003, 00:38   
apply the midi modulation level to the modulation depth.. uhm.. can't you describe in some instrument definition whether you want to modulate freq or amp?

If you can make a way to change the frequency as well... would be nice.. having the same modspeed all the time makes it sound boring.. robotic... etc.
MOA
msx freak
Mensajes: 152
Publicado: Julio 17 2003, 00:46   
Quote:

When modulation is established, what should modulate? The Opl4 has three parameters
to perform modulation: Amplitude modulation depth , frequentie modulation depth and
the modulation frequency. Question is: which parameters should be updated when
changing modulation from zero to 127 (max)



I can only say:

Amplitude modulation = not what Moonblaster does (sounds to me like "tremolo" but the actual effect might be much cooler!)
Frequency modulation = yup... this is the depth of the modulation. MB uses frequency.
Modulation frequency = the speed of the modulation.

As I can remember, you could define your own modulations in MB. This means that the mod. frequency is at a constant speed (60Hz? What would that be in midi... I'd experiment) and the frequency of the sound (the pitch) will change according to the modulation pattern as editted in MB.

AFAIK Remco just changes the pitch of a wave. He doesn't use the hardware modulation of the OPL4. But hey... I might be totally wrong

To stay in MIDI terms: aren't modulation depth and speed separate MIDI commands? tremolo is also a MIDI command (or controller... whatever), so just write these values to the hardware registers (scaled when needed). I'll check some of my MIDI docs when I'm at home.

Quote:

The pitchbending is problematic too and will claim a lot of processing-time. For MIDI devices it is not that hard, coz the device processes all pitchbend data. Meridian only sends the data, and that's all. For the Opl4, each note should be evaluated if there is any bending on the channel. If there is, the pitchbend value (-8192..+8191) must be converted to frequency data for the Opl4. Another problem is RPN nr 0: the bendpitch range. Usually, the setting for each channel is +2, that means that pitchbending at +8191 will result in 2 semitones up.
But.. I still have made a routine that computes the frequencies very fast.

Yes, I know, it is a bit techno talk, bit insiders know what this is all about.



Sounds like you only have a frequency table for semitones (i.e.: midi key -> frequency)... Adding some frequencies in-between might help you (a higher precision table, making the table larger... i.e. interpolate between semitones). 128 fine-tune steps between semitones might do.

You don't have to be precise with the -8k to +8k midi pitchbend range. Just estimate which of the 128 finetunes to pick, depending on pichbend sensivity (the 2 semitones you mentioned would result in: 8k divided by (2*128) steps = midi pitchbend units worth one step (32 units = 1 step, in this case).)

In programming terms:

- note = active note
- finetune = curr pitchbend range (converted to signed tune units) + mod. range (when not handled by hardware, converted to signed tune units)
- current frequency = myTable[note*128+finetune]

The frequency table might be too large for MSX (at least larger than 16kB)... especially when 32-bit frequencies kick in. For my GBA player I have a 16-bit frequency table and a 32-bit frequency table (seperated to save space). 32-bit will hardly be used by the way, since it's way too far off from middle-C. But some composers use it.
You might do some calculations in real time, but I'd say: make a [8-bit,] 16-bit and 32-bit table and put 'm in seperate 16kB banks. Then write some routine which knows how to access the table.

Hope that helps!
MOA
msx freak
Mensajes: 152
Publicado: Julio 19 2003, 01:00   
It's pretty unclear where this topic continues... I keep on going to the old topic, just to click "the new topic is here". Anyway, I found some C(++)-code which I used to create linear frequency tables for my XM player for GBA. Maybe you can put it to good use:

Quote:



// create a frequency table - used during development of soundengine to generate LUTs
void create_freq_table(void)
{
#define NOTE_RANGE 118

static const char notes[] = "C C#D D#E F F#G G#A A#B ";
FILE *pFrqFile;

// create frequency table
printf ("- Creating xmfreq.cppn";

pFrqFile = fopen("xmfreq.cpp","w";

fprintf (pFrqFile, "// freq.cpp - generated by xm2agbn"
"//n"
"// C 0 = 128n"
"// C 1 = 256n"
"// etc.n"
"n"
"#include <agb.h>nn"
"const u32 snd_freq_table[] = {n";

for (u32 note = 0; note <= NOTE_RANGE; note++)
{
fprintf (pFrqFile,

"// Note %2.2s%1.1d, Finetune -128 .. -1n",

&notes[(note % 12) * 2],
note / 12);

for (s32 ft = -128; ft < 0; ft++)
{
int freq = (int)(8363.0*pow(2.0,double(6*12*64 - (10*12*64 - note*64 - ft/2.0)) / double(12*64)));
/*
fprintf (pLogFile,

"note: %2.2s%1.1d ft: %5d freq: %5dn",

&notes[(note % 12) * 2],
note / 12,
ft,
freq);*/

fprintf (pFrqFile, "%5d,", freq);
}
fprintf(pFrqFile, "n";
}
fprintf(pFrqFile, "};nn";
fclose(pFrqFile);
}



(Please run on a PC to generate the table... I know it's messy code... but it was just one-shot-stuff, dude)

MOA
msx freak
Mensajes: 152
Publicado: Julio 19 2003, 01:02   
(hmmm... all I get is an error when posting my stuff... how nice!)

code tags seem to work really well. NOT!

so I used [quote] instead.

Damn... that seems to remove backslashes... and more... JEEZ!

p/s: I finally found out where this topic can be found; it's in SOFTWARE! I think development fits the topic better, though.
snout
online

msx legend
Mensajes: 4992
Publicado: Julio 19 2003, 01:08   
/me hides
MOA
msx freak
Mensajes: 152
Publicado: Julio 19 2003, 01:33   
Quote:

/me hides



You should!

(damn, can't find you... wanna kick your arse!)
POISONIC
msx professional
Mensajes: 883
Publicado: Julio 20 2003, 00:58   
may be sound like stupid

i own a

turbo-r fs-a1gt
with:
moonsound
msx audio
novaxis scsi hd 2gb
4 mb mapper

is it posible to send midi data to my pc? with meridian3.0?
i never used the program before.

i mean if i play on my nms keyboard would it be posible to send that data to my pc
with midi?

it would be a nice feature becouse u could use a msx as a multi fuctional wave table synth with sampler and fm synthesis this stil sounds cool.

greetz poisonic

please mail me if you know more to oisonic@hotmail.com'>poisonic@hotmail.com

 
Ir a la página ( Página anterior 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 Siguiente página )
 







(c) 1994 - 2008 Fundación MSX Resource Center. MSX es una marca registrada de MSX Licensing Corporation