MIDI replay via Falcon030 Codec

All about modules/digital tunes in a variety of tracker & sampled formats

Moderators: Mug UK, lotek_style, Moderator Team

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3472
Joined: Sat Jun 30, 2012 9:33 am

MIDI replay via Falcon030 Codec

Postby dml » Mon Oct 06, 2014 1:59 pm

I usually post my noises in the coding forum but this one is a bit more about music & general interest so here goes.

As a consequence of upgrades to my game sfx/music replay engine I've been having fun playing some arcade game music natively on the Falcon. Not everything works but some of the results are not bad considering it was not designed to work for other games and music styles :) I have recorded a few examples from Hatari and linked them below (a few of these were already posted in the coding area, but some are new).

Note: The replay rate is 25khz and mixing is stereo. It doesn't use the DSP so the mixing step is costly with lots of voices (However it probably should use the DSP if not claimed for some other task!).


Some favourite tracks from RType:
https://dl.dropboxusercontent.com/u/129 ... TypeL2.mp3
https://dl.dropboxusercontent.com/u/129 ... TypeL3.mp3
https://dl.dropboxusercontent.com/u/129 ... TypeL6.mp3

A few clicks and pops on this one, needing debugged - but generally worked out pretty well.
https://dl.dropboxusercontent.com/u/129 ... Raiden.mp3


(links below reposted from the coding forum...)

Replaying a YM track, without the YM :)
https://dl.dropboxusercontent.com/u/129 ... di-dma.mp3

Much pitchbend, on this Duke Nukem track:
https://dl.dropboxusercontent.com/u/129 ... kin-gt.mp3

Bach, metal style:
https://dl.dropboxusercontent.com/u/12947585/bwv578.mp3


As described in the BadMood thread, this is being used with 'optimized' music tracks for replaying simultaneous ingame music and sfx. It's not meant to be a quality offline rendering thingy by any means. Most of these tracks keep below 6 simultaneous notes but some use up to 9 and there may be a lot more virtual voices active at any time due to note decay and so on...

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1563
Joined: Sun Jul 31, 2011 1:11 pm

Re: MIDI replay via Falcon030 Codec

Postby Eero Tamminen » Wed Oct 08, 2014 9:44 pm

Sounds nice, much better than e.g. MIDI playback from EPSS[1]!

I'm not completely sure I like the lone (harpsicord?) instrument at the start of Bach piece, but things get clearly better when the piece progresses and there's more things going. Middle to the end sound great.

[1] EPSS has more functionality and probably needed quite a bit less memory, but that was intended as something that is used with MIDI sequencer. Have you ever tried it?

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3472
Joined: Sat Jun 30, 2012 9:33 am

Re: MIDI replay via Falcon030 Codec

Postby dml » Thu Oct 09, 2014 8:41 am

Eero Tamminen wrote:Sounds nice, much better than e.g. MIDI playback from EPSS[1]!


Thanks :) although as mentioned before I have to massage some tracks or fiddle with instruments / volumes to get a decent fit.

I think with some work - and a DSP mixer - it could be made to work as a generalised realtime MIDI softsynth 'approximation' but for now its still more usable for game/demo stuff.

I have had a look at DSP mixing and in some respects its quite easy to set up, but the 'catchup/adapt' approach I see being used by modplayers won't work nicely with it so there are a couple of things I haven't figured out yet. It works predictively, ahead of mixing, with events accurate to the sample. Modplayers usually work 'behind' mixing, allowing a certain amount of frame error/overrun and padding out samples to catch this - which doesn't work well for more complex instruments, envelopes etc. permitted by MIDI.

Synchronizing data with the DSP in this way will take a bit more work for me. Once I do that I could get more physical channels and it will be cheap to run at 50khz. I can't use that in BadMood because the DSP is already busy, but it would be usable for frame-locked games etc. which don't need the DSP for other stuff.

Probably the most interesting feature (for me, anyway) is the fact it works dynamically - you can feed SFX events into it and they will compete for physical channels in realtime. It is possible to reduce the player overhead quite a lot by 'flattening' the music events into mixing events offline, but then it is not possible to feed it SFX events - so a game playing SFX would need to mix them on top as a separate pass, and I expect not for much (if any) gain if multiple channels are needed. So the dynamic processing of music events provides a nice way to get music & sfx at the same time for a flat (ish) cost.

Eero Tamminen wrote:I'm not completely sure I like the lone (harpsicord?) instrument at the start of Bach piece, but things get clearly better when the piece progresses and there's more things going. Middle to the end sound great.


It's using only guitar sounds (overdriven guitar, distortion guitar) which are common to Doom's music so they are a bit inappropriate here :)

But yes some sounds don't work well when replaced - perhaps more so with my stuff than with a true synth - due to sparse mapping between multisampled instruments and octaves used, and the way each instrument deals with its envelope when stopped.
[/quote]

Eero Tamminen wrote:[1] EPSS has more functionality and probably needed quite a bit less memory, but that was intended as something that is used with MIDI sequencer. Have you ever tried it?


No I haven't looked at it at all. I should go and find it.

User avatar
Eero Tamminen
Atari God
Atari God
Posts: 1563
Joined: Sun Jul 31, 2011 1:11 pm

Re: MIDI replay via Falcon030 Codec

Postby Eero Tamminen » Thu Oct 09, 2014 9:43 pm

Attached is a documentation for EPSS.
You do not have the required permissions to view the files attached to this post.

User avatar
dml
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 3472
Joined: Sat Jun 30, 2012 9:33 am

Re: MIDI replay via Falcon030 Codec

Postby dml » Thu Oct 09, 2014 9:57 pm

Eero Tamminen wrote:Attached is a documentation for EPSS.


It looks quite good from reading the doc. It has clear limitations on what can be done with available channels but scaled to work on STE @ 8mz so that's fair.

I suppose what I have done is similar to that in general terms even if the implementation is quite different. Although I wasn't aiming for MIDI-IN support, just replay of existing MIDI music.


Social Media

     

Return to “The Digital Department”

Who is online

Users browsing this forum: No registered users and 1 guest