RoboPlay - Multi format music player in Fusion-C

Page 11/12
4 | 5 | 6 | 7 | 8 | 9 | 10 | | 12

By Parn

Hero (552)

Parn's picture

19-06-2020, 16:23

Great news, can't wait to listen to CANYON.MID and DARKFF.MID with it. Big smile

By ToriHino

Hero (523)

ToriHino's picture

21-06-2020, 11:14

Some additional updates to the wave table based MIDI replay in RoboPlay: added stereo panning and drum channel support.
See this video for some examples.

Still work in progress...

By Manuel

Ascended (16625)

Manuel's picture

21-06-2020, 11:25

Cool! I probably missed it, but what's in the YRW801.DAT? Some kind of meta data for the samples in the YRW801 ROM?

By ToriHino

Hero (523)

ToriHino's picture

21-06-2020, 11:40

Yes that contains the meta data for the regions within the YR801 ROM. Each instruments is build up of a number of regions, i use the following structs to get the data out:

typedef struct
{
    uint16_t tone;
    int16_t  pitch_offset;
    uint8_t  key_scaling;
    int8_t   panpot;
    uint8_t  vibrato;
    uint8_t  tone_attenuate;
    uint8_t  volume_factor;
    uint8_t  reg_lfo_vibrato;
    uint8_t  reg_attack_decay1;
    uint8_t  reg_level_decay2;
    uint8_t  reg_release_correction;
    uint8_t  reg_tremolo;   
} YRW801_WAVE_DATA;

typedef struct
{
    uint8_t key_min;
    uint8_t key_max;

    YRW801_WAVE_DATA wave_data;
} YRW801_REGION_DATA;

By ToriHino

Hero (523)

ToriHino's picture

28-06-2020, 12:56

I split up the FM based and WaveTable based MIDI players, so now they are selectable. Also made some additional improvements on the WaveTable based player. In this video a comparison is made between the two players.

Probably not the best examples but a number of MIDI files actually sound 'pretty ok' on FM as well :)

By Grauw

Ascended (9050)

Grauw's picture

28-06-2020, 14:15

Take Five sounds really good on the OPL4 wave!

By Parn

Hero (552)

Parn's picture

28-06-2020, 14:58

ToriHino wrote:

Probably not the best examples but a number of MIDI files actually sound 'pretty ok' on FM as well Smile

I'm curious, and I'm sorry if this was previously asked, but what is the source of the FM patches you're using?

Also, OPL4 wavetable sounds mighty good. Despite using such a small (relatively speaking) sound bank, it sounds better than one would expect.

By ToriHino

Hero (523)

ToriHino's picture

28-06-2020, 23:06

I used the patches that were part of an old PC based midi player for the Adlib / Soundblaster cards. I don't have the link to it at hand anymore but the creator was Steven H Don.

Note that these are all 2op voices, i also found patches for 4op so might try these as well.

The wavetable indeed sounds quite good, but it takes a lot of CPU power to handle it Tongue. Even the Turbo-R sometimes hardly can handle it, regular Z80 is really too slow. I did not profile yet which part is using the most, first guess is looking up the region and setting the instrument registers (especially selecting the wave takes quite some time) before playing a note.

By Parn

Hero (552)

Parn's picture

29-06-2020, 20:31

I'll be candid about FM MIDI support: I don't care much for 4-op instruments, since it sacrifices too much polyphony. Actually, it might be interesting to make music taking that into consideration. On the other side, I'd be interested in customizing the patch set if possible at all. Of course, no FM instrument set will ever be perfect, but I remember fondly the one used in Windows 3.1. I'm not sure now, but I was under the impression it was made by Voyetra. I remember being disappointed when Microsoft changed it in Windows 95.

By ToriHino

Hero (523)

ToriHino's picture

30-06-2020, 12:42

I agree, using 4op instruments takes quite a big toll on the number of available voices. Customizing the FM instrument set should not be a problem, i even had it loading from a separate file already. You could go even that far in providing a custom patch set per song or collection of songs.

Page 11/12
4 | 5 | 6 | 7 | 8 | 9 | 10 | | 12