Notator

A place to discuss current and future developments for STeem

Moderators: Mug UK, Steem Authors, Moderator Team

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1993
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Notator

Postby Steven Seagal » Fri May 10, 2013 8:34 pm

So I looked at this MIDI music program (v3, MCA crack)
I'm not sure there's a real problem?
I load the demo song and start. At two points the ST stalls, but then it resumes.
After a while it does play the MIDI music if you connect the ports (eg M$ Midi Synth).
The song is supposed to send sysex to a Korg M1 before it plays music, hence the stalling?
I found another song on the net (Alexa's), and it just plays, no stalling, but maybe with some delay?
If somebody has experience with the real thing? Just in case, because someone mentioned this program.

Edit: never mind, the song works more or less only in the current beta, in previous versions the tempo is wrong.
It's an ACIA emulation improvement, OMG here I am bragging again, and it's not over, it will be plastered all over my site.
Sorry, premature post!

User avatar
nativ
Fuji Shaped Bastard
Fuji Shaped Bastard
Posts: 4087
Joined: Mon Jul 30, 2007 10:26 am
Location: South West, UK

Re: Notator

Postby nativ » Sat May 11, 2013 10:18 am

V3 MCA ? that would be Cubase?

Yep with any sysex, you would preferably dump that over to the synth before playing the track or the playback would get chunky or have a delay/buffered response.

As for the machine specific data, depends how it was programmed, just patch settings or with the Manufacturer device flag? Either way I don't think that this should affect things too much. Mostly sysex will just be midi channel and patch numbers, it's possible that the file includes actual synth patches too.
Atari STFM 512 / STe 4MB / Mega ST+DSP / Falcon 4MB 16Mhz 68882 - DVD/CDRW/ZIP/DAT - FDI / Jaguar / Lynx 1&2 / 7800 / 2600 / XE 130+SD Card // Sega Dreamcast / Mega2+CD2 // Apple G4

http://soundcloud.com/nativ ~ http://soundcloud.com/nativ-1 ~ http://soundcloud.com/knot_music
http://soundcloud.com/push-sounds ~ http://soundcloud.com/push-records

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1993
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Notator

Postby Steven Seagal » Sat May 11, 2013 5:09 pm

nativ wrote:V3 MCA ? that would be Cubase?


Notator ! :

Image

Yep with any sysex, you would preferably dump that over to the synth before playing the track or the playback would get chunky or have a delay/buffered response.

As for the machine specific data, depends how it was programmed, just patch settings or with the Manufacturer device flag? Either way I don't think that this should affect things too much. Mostly sysex will just be midi channel and patch numbers, it's possible that the file includes actual synth patches too.


I've read that you must go slow with those Korg devices. Playback is fine once it starts.
But I repeat this is premature, the Steem version I'm talking about hasn't been released yet.

Sonus
Retro freak
Retro freak
Posts: 15
Joined: Fri Apr 18, 2008 6:31 pm

Re: Notator

Postby Sonus » Sat May 11, 2013 7:11 pm

FB-01.jpg

There's a lot of midi latency in Steem v3.2 and the real weak point is the midi-input.
Some synth editors are working fine but others (like this one) refuse to receive data.
Different TOS versions with normal 8MHz speed and 4MB memory do not solve this.
My workaround is to create a library with the ST and then load the files in Steem.

Thanks for the hard work!
You do not have the required permissions to view the files attached to this post.

Dio
Captain Atari
Captain Atari
Posts: 451
Joined: Thu Feb 28, 2008 3:51 pm

Re: Notator

Postby Dio » Sat May 11, 2013 8:28 pm

Low-latency extremely accurate input timing is by far the hardest thing to handle in an emulator.

Generally the emulator will complete emulation for an entire video frame in a couple of ms, which implies it idles doing nothing for 10+ms. All the events that arrive in that time then get delivered 'simultaneously' to the emulation (which can delay them the appropriate amount of time that it would take to receive them over e.g. a serial port, but they still arrive in these big chunky clumps).

Trying to solve this problem is very hard. You could try to do a fine-granularity wait (e.g. on every video line) but this is then subject to timing issues when you don't get your timeslice (and you won't get your timeslice moderately frequently on any non-realtime OS). You can buffer all input a frame ahead, including timing information, and replay it accurately. But this pumps latency into the system. And all solutions require some work to be going on at a very fine granularity which is a right pain on power consumption, free cycles for the rest of the system and the like; even modern operating systems are only just starting to think about even 1ms timeslices, let alone 64us or similar.

It's generally not a large problem for one-way communication, but bidirectional communication runs hard into this. E.g. using a network to emulate serial; two emulators connected via the network will really struggle to handle any handshaking protocol at decent speed because if it sends then listens it's often likely to see 10ms delays in the response, and 19200 baud should be able to see a response in under 1ms always. I ran into this trying to get serial-via-network working for Populous, Stunt Car Racer and the like.

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1993
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Notator

Postby Steven Seagal » Sun May 12, 2013 8:15 am

In Steem, apparently "Midi in" uses Windows Multimedia, which is no 'handshaking' driver for sure! There's a buffer.
Then events are sent to our 'ACIA' via the "agenda" system, that is, HBL resolution, not cycle accuracy (like keyboard).
But I made some tests and debugging, and at least Notator can now record some midi events.
Precisely: play MIDI file in Media Player, output = MIDI yoke, = input in Steem. I have no proper MIDI synth.
There's no "overrun" in emulation. Not sure the rest is correct.

Sonus
Retro freak
Retro freak
Posts: 15
Joined: Fri Apr 18, 2008 6:31 pm

Re: Notator

Postby Sonus » Sun May 12, 2013 9:40 am

UM-2G.jpg

A UM-2G midi interface with low latency driver is installed and connected to synths.
Handshaking is working (monitored in midi-ox) but some programs don't run properly.
I understand from what Dio wrote it's hard to emulate the tight 1040ST midi timing.
Anyway, the compliant windows driver doesn't handle well long SysEx data streams.
You do not have the required permissions to view the files attached to this post.
Last edited by Sonus on Mon May 13, 2013 5:14 am, edited 1 time in total.

User avatar
Steven Seagal
Atari God
Atari God
Posts: 1993
Joined: Sun Dec 04, 2005 9:12 am
Location: Undisclosed
Contact:

Re: Notator

Postby Steven Seagal » Sun May 12, 2013 7:01 pm

It's better than I thought then.
For me it was already a nice surprise to see that the emulated ST didn't miss one MIDI note as transmitted through midi yoke, at least it seemed so.
You'll have to wait the release of v3.5.1 to check yourself if there's some improvement.
With Notator I'm sure there will be as it was just stuck.


Social Media

     

Return to “Development”

Who is online

Users browsing this forum: No registered users and 1 guest