Jump to content

Trouble with "Active Sensing" Midi event


doc
 Share

Recommended Posts

Hi Thorsten,

sure I can, but I doubt it would be good for anything, because when I play through the MIDI interface, everything is OK, so a MIDI file of it would also play without a problem.

If you like, I could e.g. play a few notes with Mod wheel with link mode on, record midi out and audio from the SID and send you .mid file plus .mp3 of the different results. So you could see what data the slave module gets.

BTW: just found out that the SIDs stop working not only because of the fridge but also when I unplug/plug the audio out. Is this normal?

Seppoman

Link to comment
Share on other sites

  • Replies 61
  • Created
  • Last Reply

Top Posters In This Topic

seppoman:

A filter for DC domain would be not so easy to do (In fact, I have no idea on that. Perhaps somone else ?).

I don't like a seperate box, too. I build my filter into the AC-Outlet with 5 connectors at the output. I'm pretty sure, you must have a AC-multiconnector somewhere to put all your equipment together.  ;)

The problem with the "sid-stop-working-when-disconnect" I had also. A tip from pay_c solved this problem. I used shielded cable for the midi-connections between the cores.

I also have two 6581 SIDs who produce a low tone (rather quit so it doesn't matter to me). If you want to filter this you can build a filter, thats right. First of a all you have to discover on which frequency you want the filter to work. You can test the frequency by connecting a good equalizer between the audio out and trying to supress the noise. The filter will only work, if its a constant tone in a frequency range you don't use normally. Otherwise you will cut your signal also.

Thats the main problem on that. Because the SID produces a great frequency range, even in the lower areas, it would be difficult to filter anything. For example: You'll recognize a hum at around 100Hz. Your filter takes this out, but your great bass sound is also gone.

I'm sure theres a better way to kill that noise !

Regards doc

Link to comment
Share on other sites

Hi Doc,

yes, I definitely need AC-multiconnectors, but 5 times isn´t quite enough ;) wanted to post a picture of my racks but my flash card reader has disappeared, so another time :)

I just had a look on the C64 PCB. Directly behind the power jack there´s a µH thing (don´t know the english word, "Drossel") with eight pins and a condenser. I suppose the C64 PSU doesn´t filter the 9V AC line and this is done here in the C64. I will desolder the parts to see how they´re connected. Perhaps it would be sufficient to build a filter in the 9V AC line, so the 14V DC for the SIDs gets cleaner.

Thanks for the hint regarding the disconnect problem. I just tested it and SID shutdown gets at least less likely with the shielded cable. Perhaps a shielded cable between core and sid module would also help further?

Hum filter: I didn´t mean to filter the hum out of the audio out. Would be senseless to filter out deep frequencies from a fat synthesizer. What I meant is to build a LPF in the power supply for the display, because the display injects hum to the 5V DC line in my opinion (no oscilloscope so I can´t check this theory). If you´d get a filter with 5 Hz cutoff and 6 dB/octave (to keep it simple) in there, anything around 50 Hz or higher should be cut out quite effectively. The 6581 is just more responsive to this hum. I don´t know if it´s possible to build a LPF with that low cutoff. I will also ask the electronics professor at university next week about these issues.

BTW: Could you confirm this "mod wheel slowdown" thing with your Yamaha? Select e.g. "ARPSEQ Three" and play it on Master and Slave while turning Mod wheel up and down.

TK:

I´ll produce the recordings for you this afternoon.

Later,

Seppoman

Link to comment
Share on other sites

Hi TK,

here are the recordings:

(...links removed...)

This is for the Mod-wheel issue: I used ARPSEQ Three sound, played one note and turned the mod wheel up and down. Left channel is the master output, right channel the slave output, so use pan pot to hear one solo.

(...links removed...)

This is hanging note/squeak example: I played the Axel F theme with Internal Patch, so you know how it should sound...

Both examples were recorded with cubase. I noticed that in Cubase the note on event is BEHIND the start of the sound. Possibly a config problem with Cubase, because when MIDI Out is connected to the master, I suppose the event should already have been sent to both slave and computer when the slave starts playing...

Seppoman

P.S. both recordings made with standard MIOS/SID versions and 2x16 display connected

Link to comment
Share on other sites

Thanks, this .mid and .mp3 example gives me more input than the 1000 words before ;-)

Just open the event list and you will see that a lot of additional events are received by your PC:

cc_issue.gif

Some of these CC's are doing really weird things, this is absolutely clear. Controller 8, 9, 10 and 11 are playing new notes, controller 12 changes the WT patch, etc...

it seems that the CC number follows the continues move of your modulation wheel, but it should be the CC value, shouldn't it? In other words: sometimes your MIDI interface doesn't receive the complete MIDI event, the second byte is missing.

Did you connect the keyboard directly to your PC? Which MIDI interface are you using? Did you ensure that there is no feedback loop between MIDIbox SID and your PC when the "link" is enabled?

Best Regards, Thorsten.

Link to comment
Share on other sites

a .mid file for???

I only get that feedback sound when i plug the yam keyboard directly into the SID and play notes, so it seems it must be the active sensing shit yamaha uses that causes the probs as it doesnt happen when the sid is connected to a regular midi out on my midi interface...

best...

Link to comment
Share on other sites

damned ..

I think more people have problems with that...

(I'm glad about that. This ensures, that I'm not a totally dummy on that midi stuff  ;))

As mentioned before: I plug a midi merger between the yamaha and the SID. This works.

It would be nice, if someone solves the problem.

As asked before: Can someone tell me how to load pictures in the forum ? - Thanks. ???

doc

Link to comment
Share on other sites

"Active Sense" is (like the MIDI Clock) a realtime event. The MIDI spec allows to send this byte also within an common event, and MIOS takes care about this.

Just try the following: connect MIDI In and Out of your MIDIbox SID with your PC, enable the Link, open the SysEx tool of MIDI-Ox and send these bytes:

b0 01 00 
b0 01 fe 01 
b0 fe 01 02
b0 01 fe 03 
b0 fe 01 fe 04 
b0 01 fe 05

The MIDIbox should always return proper "Modulation Wheel" controllers.

So, thats the reason why I think that FE's are no issue

Best Regards, Thorsten.

P.S.: the forum doesn't allow to upload pictures directly, you need to save it on a seperate webspace

Link to comment
Share on other sites

Hi Thorsten,

I use a Terratec EWS88 Soundcard (also for Midi). For these examples I connected Midi Out (Yamaha) -> Midi In (SID), Midi Out (SID) -> Midi In (Terratec). So basically you see what data the slave gets from the master.

Now I´ve made another one:

Yamaha -> PC -> SID, so you see what the PC gets from the Yamaha:

(...link removed...)

This time the Mod wheel has no effect.

I think the timing differences between the two channels/SIDs (which is about 30 ms) must be some Cubase/ASIO problem in my setup as there´s no audible Master/Slave delay when midi is routed through MIDI-OX.

Doc:

I think you have to put your image on some web space. When writing the message you click on the image frame symbol above the angry smiley and insert the URL between the image tags.

Seppoman

Link to comment
Share on other sites

Just tested your FE example. I get:

00186DDB   1  --     B0    01    00    1  ---  CC: Modulation    

00186DDF   1  --     FE    --    --   --  ---  Active Sensing    

00186DDF   1  --     B0    01    01    1  ---  CC: Modulation    

00186DE0   1  --     FE    --    --   --  ---  Active Sensing    

00186DE0   1  --     B0    01    02    1  ---  CC: Modulation    

00186DE2   1  --     FE    --    --   --  ---  Active Sensing    

00186DE1   1  --     B0    01    03    1  ---  CC: Modulation    

00186DE3   1  --     FE    --    --   --  ---  Active Sensing    

00186DE4   1  --     FE    --    --   --  ---  Active Sensing    

00186DE3   1  --     B0    01    04    1  ---  CC: Modulation    

00186DE5   1  --     FE    --    --   --  ---  Active Sensing    

00186DE4   1  --     B0    01    05    1  ---  CC: Modulation    

So the active sensing seems to be no problem...

Seppoman

Link to comment
Share on other sites

Could you try the same with the MIDImon application when your keyboard is directly connected to the MIDIbox SID hardware?

Note that the MIDImon also provides a realtime event filter, so that you only see the common events -

set DEFAULT_USE_J5 to 0 and control the MB_STAT_CLOCK_FILTER flag with the button connected to DIN pin #2 (the Menu button)

Best Regards, Thorsten.

Link to comment
Share on other sites

Hi Thorsten,

I tested with Midimon:

When turning the Mod wheel it looks like this:

1 I ModWheel  19

1 I ModWheel  23

1 I        ->->    27

1 I        ->->    31

1 I ModWheel  34

1 I        ->->    36

[...]

Does this ->-> mean that this is a controller no. 27, 31 and so on?

When playing notes display´s also very strange:

What I play     -     What is displayed

Switch on core -> 8 Lines No Event, 8 Lines FE Active sensing (Filter Button was not pressed yet)

C4 on     -> FE...

C4 off     -> FE...

C2 on     -> C_4 76

C2 off     -> C_4   0

C2 on     -> C_2 74

C2 off     -> C_2   0

D2 on     -> C_3 68     ; ??? C_3 was not played at all...

D2 off     -> C_3   0

D2 and E2 on   -> D_2  76  and D_2   0

both off again  -> D_2  56 and "Note         51"

C2 on     -> E_2   0

C2 off     -> "Note        0"

and so on. Looks as if the Midi Monitor gets behind the events or perhaps starts to read the wrong position in the buffer. Except the "Note       51" lines, which is nonsense, the normal events are remembered correctly but displayed when another event takes place. When I press the Filter button even a minute later, I get the missing events on the display, until the FE messages are also displayed.

Seppoman

Link to comment
Share on other sites

Ok, sorry, I didn´t know the MidiMon before. When I send Midi from the computer, also the display is 2 lines behind the events, so I guess this is normal.

So there remain only these empty lines as possible cause.

happens especially if two keys are depressed at the same time:

c2+d2 on -> Note C_2 80, Note          54

c2+d2 off -> Note C_2 0,  Note          0

(two events added to read out what happened...)

So the note pitch of the second one is omitted..

Seppoman

so the

Link to comment
Share on other sites

Alright - slowly but surely I believe that this is

--> a MIOS BUG <--

concerning the so called "running status".

This could explain, why the MIDIbox of Doc runs correctly when he uses the MIDI merger, because all PIC16F based firmwares can handle the running status correctly, for MIOS I haven't tested this for a long time

I will check this

Best Regards, Thorsten.

Link to comment
Share on other sites

Ok, bug found :)

All applications which are using the USER_MIDI_NotifyRx hook and which are overwriting IRQ_TMP1 are affected.

This register is also used by the MIDI receiver to save the received byte - the routine is so old, that I have overseen this, in the meantime nearly all MIOS routines are using internal temporary registers, so it's time to do the same for the MIDI receiver. ;-)

Quick Bugfix:

open sid_rxtx_midi.inc and replace IRQ_TMP1 by IRQ_TMP2

I will provide a proper solution (new MIOS release) tomorrow.

Best Regards, Thorsten.

Link to comment
Share on other sites

PayC: Does it only happen when you connect a keyboard to your SID master?

Could somebody please check if the mentioned IRQ_TMP2 workaround does help? If so, I will release a new MIOS version with fixed MIDI receiver, so that this workaround is not required anymore.

Best Regards, Thorsten.

Link to comment
Share on other sites

Could somebody please check if the mentioned IRQ_TMP2 workaround does help? If so, I will release a new MIOS version with fixed MIDI receiver, so that this workaround is not required anymore.

Hey T, Just tried the TMP2 edit - the feedback sound still persists...

Best

D

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share


×
×
  • Create New...