Bc2000 (for the BCF2000 & BCR2000) group photo

Yahoo Groups archive

Bc2000 (for the BCF2000 & BCR2000)

Index last updated: 2026-04-28 23:16 UTC

Thread

B-Control Nano BCN 44 Latency Issues

B-Control Nano BCN 44 Latency Issues

2012-11-15 by electron8000

Hello,

I got an (old) B-Control Nano BCN 44 and was trying to use it to complement my (also old) Yamaha PSR310 keyboard with pitch/bend and modulation. As soundcard i have an M-Audio FastTrack Pro (USB). When i connect the BCN44 to the soundcard and turn the knobs to directly control cakewalk sonar while playing back a track, everything works fine and the notes are being pitched/modulated. If i try to use the "Midi-Merge" functionality (keyboard midi-out -> BCN44 midi-in, BCN44 midi-out -> soundcard midi-in) then i got a strange problem with latency. When i press a key on the keyboard, the keypressed signal is being send via the BCN44 to the soundcard and the note is being played. But if i release the key shortly after pressing it, then the keyreleased signal won't be sent to the soundcard (so the note keeps on playing). Same in inverted order. If i press other keys there always has to be a delay time of approx 1-2 seconds in between, otherwise the corresponding notes would'nt be played or released. I also used MidiOX to verify how often a midi-signal is being received by the soundcard with the same result.
I observed something else that is interesting: On the FastTrack Pro soundcard there is an led indicating midi traffic. When only the BCN44 is connected, the led only flashes when i turn one of the knobs programmed for pitch/modulation. When i instead directly connect the keyboard to the soundcard, the led flashes constantly even when i don't press any keys on it. In this case no midi-signals are being received in MidiOx.
Anyways, with the keyboard directly connected to the soundcard i have no problems at all with latency in Cakewalk. They only arise when i connect it via the BCN44 in midi-merge mode.
Does anyone have an idea what might be the cause for those effects? Is it the BCN44s midi-merge implementation that causes the problems? Or could it be the keyboard irritating the BCN44 with those "ghost" signals.

Thanks,
electron8000

Re: B-Control Nano BCN 44 Latency Issues

2012-11-15 by Mark v.d. Berg

--- In bc2000@yahoogroups.com, "electron8000" <electron8000@...> wrote:
> On the FastTrack Pro soundcard there is an led indicating midi traffic. When only the BCN44 is connected, the led only flashes when i turn one of the knobs programmed for pitch/modulation. When i instead directly connect the keyboard to the soundcard, the led flashes constantly even when i don't press any keys on it. In this case no midi-signals are being received in MidiOx.

I've had a glance at the PSR310's manual:

In "Multi Mode" it sends a continuous stream of "Active Sensing" messages (each such message consisting of a single FEh byte).
Many "old" (80s/early 90s) MIDI devices did this.

In "Remote Control Mode" the PSR310 (also?) sends Clock messages (F8h).
From the manual it seems that in this mode it also sends the Active Sensing messages; however, on my (also old!) Roland R-8 drum computer it's either one or the other, so I'm not sure about the PSR310 in this respect.

In any case, these F8/FE bytes must be the cause of the continuous flashing by the soundcard's LED when the keyboard has been connected directly.

The BCN44 does NOT generate F8 or FE meessages.
I'm not sure whether the BCN44's MIDE merge mode passes on F8/FE:
does the soundcard's LED also flash continuously when the PSR310 is connected via the BCN44?

> If i try to use the "Midi-Merge" functionality (keyboard midi-out -> BCN44 midi-in, BCN44 midi-out -> soundcard midi-in) then i got a strange problem with latency. When i press a key on the keyboard, the keypressed signal is being send via the BCN44 to the soundcard and the note is being played. But if i release the key shortly after pressing it, then the keyreleased signal won't be sent to the soundcard (so the note keeps on playing). Same in inverted order. If i press other keys there always has to be a delay time of approx 1-2 seconds in between, otherwise the corresponding notes would'nt be played or released. I also used MidiOX to verify how often a midi-signal is being received by the soundcard with the same result.

It might help if you could make any incoming F8/FE messages visible in MIDI-OX, but I'm not sure if that's feasible: these messages can be blocked by the sound card, the MIDI input device driver or even MIDI-OX itself (although I doubt that).
As an alternative to MIDI-OX, you might try my own MIDI Tools (available from http://home.kpn.nl/f2hmjvandenberg281/miditls.html ): it also has a MIDI monitoring mode, but with some differences to MIDI-OX, which may or may not help in figuring out what's going on.

In any case, from what you're saying, it seems to me that there is indeed something wrong with the BCN44's MIDI Merge concerning the combination of F8/FE and Note On/Off messages.
But it's very strange indeed.
Personally I haven't used the BCN44's MIDI Merge much (or at all), so I don't know if it exhibits these problems with other keyboards as well - maybe somebody else can comment on that.

Mark.

Re: B-Control Nano BCN 44 Latency Issues

2012-11-15 by electron8000

Hello,

> The BCN44 does NOT generate F8 or FE meessages.
> I'm not sure whether the BCN44's MIDE merge mode passes on F8/FE:
> does the soundcard's LED also flash continuously when the PSR310 is connected via the BCN44?

Yes, also in that case the LED is flashing continuously.

> It might help if you could make any incoming F8/FE messages visible in MIDI-OX, but I'm not sure if that's feasible: these messages can be blocked by the sound card, the MIDI input device driver or even MIDI-OX itself (although I doubt that).

I will take a look if there is a possibility to do that.

> As an alternative to MIDI-OX, you might try my own MIDI Tools (available from http://home.kpn.nl/f2hmjvandenberg281/miditls.html ): it also has a MIDI monitoring mode, but with some differences to MIDI-OX, which may or may not help in figuring out what's going on.

Nice. I will try this out :-).

electron8000.

Re: B-Control Nano BCN 44 Latency Issues

2012-11-15 by electron8000

Hello again,

I just tried out your tool, the MidiTools 1.3.0 and did a test series. First thing i saw under the view "input messages" is that actually the keyboard sends $FE and $F8 active sensing signals in idle state. I put the keyboard in "Multi Mode" and "RC Mode" for the test. In addition i tested with pressing and releasing a key at a high and at a low frequency. The test results are as follows:

************************************************
SETUP1 - keyboard midi-out -> soundcard midi-in:
************************************************ 

-Multi Mode:

--no key pressed:
---> $FE signals only, 4 per sec.
--keypressed/keyreleased:
---> $FE signals correctly interleaved with keypressed/keyreleased signals

-RC Mode:

--no key pressed:
---> 1x $FE, 7x $F8, 1x $FE, 6 x $F8 signals then loop, 32 signals in total per sec.
--keypressed/keyreleased:
---> $FE and $F8 signals correctly interleaved with keypressed/keyreleased signals

**********************************************
SETUP 2 - BCN44 midi-out -> soundcard midi-in:
**********************************************

->no active sensing signals at all, only knob turning messages (pitch/mod).

***************************************************************
SETUP 3 - keyboard midi-out -> BCN44 midi in, BCN44 midi out -> soundcard midi-in:
***************************************************************

-Multi Mode:

--no key pressed:
---> same as in setup 1
--keypressed/keyreleased with a high frequency:
---> only keypressed and keyreleased signals, no active sensing signals at all
--keypressed/keyreleased with a low frequency:
---> no signals received at all for some time, then a bunch of keypressed and keyreleased signals in one rush followed by active sensing signals

-RC Mode:

--no key pressed:
---> same as in setup 1 
--keypressed/keyreleased with a high frequency:
---> only active sensing signals, no keypressed or keyreleased signals at all
--keypressed/keyreleased with a low frequency:
---> active sensing signals correctly interleaved with keypressed and keyreleased signals


So this was it what i observed so far. The LED of the soundcard always flashes at the same frequency of the signals received. Seems as if the BCN44 has buffering problems? Maybe its overloaded and i need to put it into a different state. By the way: is there any way to reset the entire thing to default state? From reading the (somewhat confusing) manual i couldn't find out : /.

Thanks,
electron8000

Re: B-Control Nano BCN 44 Latency Issues

2012-11-16 by Mark v.d. Berg

--- In bc2000@yahoogroups.com, "electron8000" <electron8000@...> wrote:
> the keyboard sends $FE and $F8 active sensing signals in idle state.

Just to clear up the difference between FE and F8:

FE (Active Sensing) is a "non-musical" signal; if a device sends it, it is always sent at a fixed rate (something like 200 or 250 msec); the idea is that once a receiving device NO LONGER receives it, the receiver is to assume that the MIDI connection has been lost (e.g. cable disconnected) and the receiver may re-initialize its settings.

F8 (Timing Clock) is a "beats per minute" signal, whose frequency depends on the BPM setting of the sending device (can you set BPM manually on the PSR310 in RC mode?).

A technical MIDI book I've consulted says that FE is only to be sent when no other signals are being sent.
I'm not sure what time frame is intended here (strictly speaking, ALL MIDI messages are sent sequentially!), but the fact that the PSR310 does seem to mix FE with F8 and note events may be formally incorrect, although I can't immediately see how this would mess up the output from the BCN44.

> The LED of the soundcard always flashes at the same frequency of the signals received. Seems as if the BCN44 has buffering problems? Maybe its overloaded and i need to put it into a different state.

I've tried to reproduce your problem using my Roland D-5 synth, which also sends FE continuously:

One thing I noticed is that the dot in the BCN44's display flashes continuously (so for instance in "P- .1") as a result of receiving these FE messages. Does your BCN44 do this as well?

Unfortunately I haven't been able to see any FE messages in MIDI Tools: apparentlly FE is "swallowed" by my "soundcards" (actually devices connected to the computer via USB) or by their Windows drivers.
So I find it rather curious that you can actually see FE.
So which Windows version are you using? (I'm using Windows 7, 64-bit.)

In any case, when I press keys on my synth (quickly or slowly), in MIDI Tools I don't see any hiccups in the MIDI messages (Note On, Note Off, Pitch Bend, Control Change) received via the BCN44.

In fact, when I SPLIT the output from the D-5 to
1. a USB-based MIDI input port on the PC directly
and
2. the BCN44, which then sends this to another USB-based MIDI input port on the PC,
... then both messages arrive in MIDI Tools almost simultaneously: the max. difference tends to be 1 msec!

So maybe there's something wrong with your specific BCN44 - either because it has an older firmware version or a hardware fault.

So which firmware version does your BCN44 have?
You can see this number briefly when you switch on the BCN44.
Mine says "1.02", which is (as far as I know) the latest (and indeed last!) version.

> is there any way to reset the entire thing to default state? From reading the (somewhat confusing) manual i couldn't find out : /.

I don't know a way either, but in any case I can't think of a BCN44 setting that could cause (or correct) this problem.
Of course you could use my BCN44 Manager to modify/initialize all the presets, but I can't see how that could help.

Mark.

Re: B-Control Nano BCN 44 Latency Issues

2012-11-16 by electron8000

> F8 (Timing Clock) is a "beats per minute" signal, whose frequency depends on the BPM setting of the sending device (can you set BPM manually on the PSR310 in RC mode?).

Yes. I found out that when i change the tempo via the "Tempo Up Down" buttons, also the number of signals per second changes: At "Tempo 40" i get approx 20 signals/sec in Midi Tools. At "Tempo 240" its around 100 signals/sec. (still F8 and FE signals interleaved but in the latter case much more F8 signals)

> One thing I noticed is that the dot in the BCN44's display flashes continuously (so for instance in "P- .1") as a result of receiving these FE messages. Does your BCN44 do this as well?

Yes it does. In fact it seems that the dot flashes at the same frequency the led on the soundcard does.

> Unfortunately I haven't been able to see any FE messages in MIDI Tools: apparentlly FE is "swallowed" by my "soundcards" (actually devices connected to the computer via USB) or by their Windows drivers.
> So I find it rather curious that you can actually see FE.
> So which Windows version are you using? (I'm using Windows 7, 64-bit.)

I'm using Windows Vista 64-bit.

> So which firmware version does your BCN44 have?
> You can see this number briefly when you switch on the BCN44.
> Mine says "1.02", which is (as far as I know) the latest (and indeed last!) version.

Firmware version is also 1.02.

electron8000

Re: B-Control Nano BCN 44 Latency Issues

2012-11-17 by sghookings@tiscali.co.uk

hope I dont double post here .. network dropped during first post!

Midi clock (0xF8) is sent 24 times per quarter note.
Recall BPM is the number if 1/4 notes per minute.
So at 100bpm you should see 2400 F8's.
NOTE: only my keyboards that have inbuild MIDI sequencer send this.
First time I encountered it I freaked ... then internet explained I just need to "deal" with it.
It can, and should be expected to, appear in the middle of messages.

The active sense seems to have gone out of favour.
But it is the heartbeat, as Mark suggests.

According to "MIDI for the Professionals",  by Paul Lehrman (page 28) .. active sense should occur at less than 300 ms intervals.
When a receive doesnt hear these, but was expecting one, it sends "all notes off" message. Some devices also send 0xFF to master reset.


--- In bc2000@yahoogroups.com, "electron8000" <electron8000@...> wrote:
Show quoted textHide quoted text
>
> > F8 (Timing Clock) is a "beats per minute" signal, whose frequency depends on the BPM setting of the sending device (can you set BPM manually on the PSR310 in RC mode?).
> 
> Yes. I found out that when i change the tempo via the "Tempo Up Down" buttons, also the number of signals per second changes: At "Tempo 40" i get approx 20 signals/sec in Midi Tools. At "Tempo 240" its around 100 signals/sec. (still F8 and FE signals interleaved but in the latter case much more F8 signals)
> 
> > One thing I noticed is that the dot in the BCN44's display flashes continuously (so for instance in "P- .1") as a result of receiving these FE messages. Does your BCN44 do this as well?
> 
> Yes it does. In fact it seems that the dot flashes at the same frequency the led on the soundcard does.
> 
> > Unfortunately I haven't been able to see any FE messages in MIDI Tools: apparentlly FE is "swallowed" by my "soundcards" (actually devices connected to the computer via USB) or by their Windows drivers.
> > So I find it rather curious that you can actually see FE.
> > So which Windows version are you using? (I'm using Windows 7, 64-bit.)
> 
> I'm using Windows Vista 64-bit.
> 
> > So which firmware version does your BCN44 have?
> > You can see this number briefly when you switch on the BCN44.
> > Mine says "1.02", which is (as far as I know) the latest (and indeed last!) version.
> 
> Firmware version is also 1.02.
> 
> electron8000
>

Re: B-Control Nano BCN 44 Latency Issues

2012-11-20 by Mark v.d. Berg

--- In bc2000@yahoogroups.com, "electron8000" <electron8000@...> wrote:
> Firmware version is also 1.02.

In itself this is good news, but the bad news is that this scuppers my idea that your firmware version is to blame...

On startup, the BCR2000 (closely related to the BCN44 of course) calculates a checksum of its whole firmware area, and if this doesn't match the expected (stored) value, it doesn't show the firmware version, but "noOS".
The BCN44 may or may not work the same way; but in any case I suspect that your BCN's firmware as such is NOT the problem.

I've finally managed to find a setup where I can see incoming FE and F8 bytes in MIDI Tools, i.e. using an old PC with a SoundBlaster card, running Windows XP.
However, I didn't see any problems when I fed my D-5 synth's output (FE plus other MIDI data) to my BCN44 and from there to the SoundBlaster card.

So right now my best guess is that there is indeed something very wrong with your BCN44's MIDI Merge: buffer? timer?

I'm not quite sure whether your PSR310's FE and/or F8 are to blame.
What happens if you feed the BCN44 MIDI messages that don't include any FE/F8?
E.g. you could use the "MIDI Keyboard" window in MIDI Tools to set up a continuous "arpeggio" (RIGHT-click on the piano keys to make them stick), route these signals to the BCN44 via your soundcard, and loop these signals back to the soundcard and MIDI Tools. If this ALSO produces hiccups, you'll know the problem is NOT your PSR310's FE and F8.
And what happens if you connect the BCN44 to a different soundcard?

In any case, the situation looks bleak, I'm afraid.
Even if you can pinpoint the exact circumstances of the problem, it seems unlikely that you'll be able to fix it - assuming the cause is a hardware problem in the BCN44.

A desperate try: are you sure it's not a MIDI cable/socket problem?

Mark.

Re: B-Control Nano BCN 44 Latency Issues

2012-11-20 by electron8000

> I'm not quite sure whether your PSR310's FE and/or F8 are to blame.
> What happens if you feed the BCN44 MIDI messages that don't include any FE/F8?
> E.g. you could use the "MIDI Keyboard" window in MIDI Tools to set up a continuous "arpeggio" (RIGHT-click on the piano keys to make them stick), route these signals to the BCN44 via your soundcard, and loop these signals back to the soundcard and MIDI Tools. If this ALSO produces hiccups, you'll know the problem is NOT your PSR310's FE and F8.

I used the following setup now:

Soundcard MIDI-Out -> BCN44 MIDI-In, BCN44 MIDI-Out -> Soundcard MIDI-In

I then tried out different settings in the virtual midi-keyboard in MIDITools. Pressing and releasing single keys via left click, also Arpeggio via right click. In any case i now got correct and undelayed MIDI-signals in the MIDI input messages window. So i think it's my keyboards FE/F8 signals to blame. Seems as if my soundcard can correctly handle those FE/F8 signals from the keyboard but the BCN44 can't :/.

electron8000

Re: B-Control Nano BCN 44 Latency Issues

2012-11-20 by sghookings@tiscali.co.uk

Sorry to be dense here but these message are standard midi but like you hint if the low level midi implementation isnt expecting them then this leads to mayhem.

I am making my own BCR adapter for the Miniak.

When my master keyboard went temporarily awry (breaking its USB input does that ...) I plugged in a Yamaha piano and imagine my surprise when my software went to rats.

Some debugging later showed indeed 0xF8 was to blame.
I educated my software about this (having bought the MIDI for Professionals for £0.01p + £2.75 p&P) and now I dont have these problems.

So if you want something to remove these pesky 0xF8/FEs and dont want to use a PC to filter them we could probably knock up a small arduino gizmo to filter this for you.

Sorry if I misunderstood your plight.

Regards

Steve H

--- In bc2000@yahoogroups.com, "electron8000" <electron8000@...> wrote:
Show quoted textHide quoted text
>
> > I'm not quite sure whether your PSR310's FE and/or F8 are to blame.
> > What happens if you feed the BCN44 MIDI messages that don't include any FE/F8?
> > E.g. you could use the "MIDI Keyboard" window in MIDI Tools to set up a continuous "arpeggio" (RIGHT-click on the piano keys to make them stick), route these signals to the BCN44 via your soundcard, and loop these signals back to the soundcard and MIDI Tools. If this ALSO produces hiccups, you'll know the problem is NOT your PSR310's FE and F8.
> 
> I used the following setup now:
> 
> Soundcard MIDI-Out -> BCN44 MIDI-In, BCN44 MIDI-Out -> Soundcard MIDI-In
> 
> I then tried out different settings in the virtual midi-keyboard in MIDITools. Pressing and releasing single keys via left click, also Arpeggio via right click. In any case i now got correct and undelayed MIDI-signals in the MIDI input messages window. So i think it's my keyboards FE/F8 signals to blame. Seems as if my soundcard can correctly handle those FE/F8 signals from the keyboard but the BCN44 can't :/.
> 
> electron8000
>

Re: B-Control Nano BCN 44 Latency Issues

2012-11-20 by Mark v.d. Berg

--- In bc2000@yahoogroups.com, "electron8000" <electron8000@...> wrote:
> i think it's my keyboards FE/F8 signals to blame. Seems as if my soundcard can correctly handle those FE/F8 signals from the keyboard but the BCN44 can't :/.

Yes, this seems conclusive evidence.
I find it VERY strange though, given that my BCN44 (with the same firmware version) does not seem to have this problem.
The only explanation I can think of is indeed a hardware problem in your BCN44 - and I have absolutely no idea how you could fix that.
One would need to have in-depth knowledge of the BCN's electronics, and even then it might not be feasible.

Mark.

Re: B-Control Nano BCN 44 Latency Issues

2012-11-30 by Mark v.d. Berg

I've released a new version of MIDI Tools.
This includes a "MIDI System" window, which allows you to send nearly all types of MIDI System messages for testing purposes: Exclusive, Common and Real-time.
(Incidentally, this version also fixes a small but annoying bug in the MIDI Keyboard window.)
See http://home.kpn.nl/f2hmjvandenberg281/miditls.html .

So if you're still "on the case" of your BCN44's MIDI Merge, you can now have MIDI Tools generate Timing Clock and/or Active Sensing messages in conjunction with Note messages from the MIDI Keyboard window.
Maybe in this way you can determine whether it's indeed the Timing Clock and/or Active Sensing messages that mess up your BCN44's MIDI Merge - if you need any further confirmation.

Mark.

Re: B-Control Nano BCN 44 Latency Issues

2012-11-30 by electron8000

Hi Mark,

The software-update came just in time. I was already about to ask you if you could include an option to send those messages in MidiTools ;-). Well done!

I just tried out the new version and set the Timing Clock ($F8) to 500 BPM and the Active Sensing Timing ($FE) Interval to 250ms. In addition I clicked some keys of the virtual midi-keyboard and recorded all messages with the MIDI-Monitor.

The Hardware-Setup was as in the last test: Soundcard MIDI-Out -> BCN44 MIDI-In, BCN44 MIDI-Out -> Soundcard MIDI-In

The result in this case is that all messages could be received correctly. $FE, $F8 and the note-on messages from the virtual keyboard all come in in realtime with no delays.
From this result i have to conclude that the BCN44 is working properly and that the reason for my delay-problems must be my Yamaha PSR310. Maybe it sends additional brand-specific (non-standard) messages that can't be processed by the BCN44 and confuse it.

I recently found someone else who had similar problems with a Yamaha PSR290 keyboard and the BCN44. Unfortunately he got no responses that might explain the reasons for it:

http://acapella.harmony-central.com/showthread.php?1324442-Behringer-B-Control-BCN44-ISSUES!

Thanks,
electron8000
Show quoted textHide quoted text
> I've released a new version of MIDI Tools.
> This includes a "MIDI System" window, which allows you to send nearly all types of MIDI System messages for testing purposes: Exclusive, Common and Real-time.
> (Incidentally, this version also fixes a small but annoying bug in the MIDI Keyboard window.)
> See http://home.kpn.nl/f2hmjvandenberg281/miditls.html .
> 
> So if you're still "on the case" of your BCN44's MIDI Merge, you can now have MIDI Tools generate Timing Clock and/or Active Sensing messages in conjunction with Note messages from the MIDI Keyboard window.
> Maybe in this way you can determine whether it's indeed the Timing Clock and/or Active Sensing messages that mess up your BCN44's MIDI Merge - if you need any further confirmation.

Re: B-Control Nano BCN 44 Latency Issues

2012-12-01 by Mark v.d. Berg

--- In bc2000@yahoogroups.com, "electron8000" <electron8000@...> wrote:
> From this result i have to conclude that the BCN44 is working properly and that the reason for my delay-problems must be my Yamaha PSR310. Maybe it sends additional brand-specific (non-standard) messages that can't be processed by the BCN44 and confuse it.

But which messages could those be?
Can you see any messages that could cause this in MIDI Tools' input monitor window?
At the moment I can't think of any messages that would mess up the BCN in this way, and besides: from your test report on 15 Nov. it seems clear that both FE and F8 heavily influence what happens.

My guess right now:
Maybe the PSR sends Timing Clock and Active Sensing messages "within" its other messages (note, controller etc.).
The MIDI protocol allows this, but maybe the BCN doesn't handle this properly.

For instance, a Note On message consists of 3 bytes: a status byte ("Note On" + channel) followed by 2 data bytes (note # and velocity), so e.g. 90 40 64.
Now the PSR could inject F8 into this, so that the sequence becomes 90 40 F8 64.
The BCN then SHOULD realize that the final 64 is a continuation of the Note On message - but maybe it doesn't, so that 64 becomes an "orphan" (and maybe gets held up in a buffer).

"MIDI running status" could be making this problem worse:
the MIDI protocol allows a sender to leave out the status byte of a channel message if it is equal to the status byte of the previous channel message. (Unless a System Exclusive or Common message has intervened; but, in accordance with what I said earlier, a System REAL-TIME message should NOT clear the running status!)
So if your PSR indeed uses running status, an intervening F8 or FE (wrongly causing the BCN to CLEAR its running status) could turn a whole bunch of statusbyte-less Note On messages into "orphans".

The "System messages" window in MIDI Tools only sends complete (uninterrupted) channel messages, so it never injects F8 or FE into a Note On message: this could explain why the F8 and FE sent from MIDI Tools don't cause any of the problems you have with the PSR.
I'm not sure whether the Windows MIDI driver would allow me to inject F8/FE into channel messages. I would have to try...

Mark.

Re: B-Control Nano BCN 44 Latency Issues

2012-12-11 by mosquito710

My wife and I just got a BCN44 last week and had the same problem. Luckily it only occurred on a keyboard we were borrowing temporarily, and was completely fixed by switching to another keyboard. 

We got The BCN44 to add some controls to our VSTi instruments when using a keyboard without assignable encoders or buttons. Because our USB interface has only one MIDI input, we are using MIDI merge on the BCN44. 

When I plugged the first keyboard (Yamaha P-95) and BCN44 in together (keyboard out -> BCN44 in, BCN44 out -> USB MIDI interface in) the keyboard did not function properly at all. Any note pressed would sustain indefinitely. For a few seconds after a note was played no other keys would work. When another note was played after this delay the original note would stop (only one note would play at a time). The dot on the BCN44 remained lit continuously, indicating constant MIDI input. The keyboard worked fine when used alone, and the BCN44 controls worked fine at all times. 

When I switched to our keyboard (Casio PX-330), none of these issues were there, and everything worked exactly as it should. Notes played properly, and BCN44 messages were sent properly. The dot on the BCN44 only came on when notes were pressed or released, or other functions on the keyboard were changed. 

This probably doesn't tell you anything you don't already know, but I find it was interesting that all 3 keyboards (including the one you linked) were Yamaha. Another thing I noticed is that the Casio is labeled as being "General MIDI" compliant. I don't really know a lot about MIDI messages, but from what I understand that means it complies to a standardized specification. So that could have something to do with why it interfaces properly with the BCN44.

Re: B-Control Nano BCN 44 Latency Issues

2012-12-12 by Mark v.d. Berg

--- In bc2000@yahoogroups.com, "mosquito710" <mosquito710@...> wrote:
> My wife and I just got a BCN44 last week and had the same problem. Luckily it only occurred on a keyboard we were borrowing temporarily, and was completely fixed by switching to another keyboard. 
> 
> This probably doesn't tell you anything you don't already know

Actually it tells me a lot:
It virtually proves that electron8000's individual BCN44 isn't defective.

I've looked at the MIDI specs of your Yamaha P-95: like electron8000's PSR310, it sends Timing Clock (F8) and Active Sensing (FE) messages, so I'm standing by my suspicion that these Yamaha keyboards send F8 and/or FE "within" channel messages such as Note On/Off.
But I'm still not sure how I could prove this hypothesis, since Windows doesn't (easily) allow mimicking this behavior. Maybe I'd have to resort to my old DOS machine with an old Roland MPU interface...
In any case it seems very unlikely that the problem as such can be fixed: the BCN's firmware would have to be reprogrammed.
So the only "fix" seems to be your solution: use a different master keyboard.

> Another thing I noticed is that the Casio is labeled as being "General MIDI" compliant. I don't really know a lot about MIDI messages, but from what I understand that means it complies to a standardized specification. So that could have something to do with why it interfaces properly with the BCN44.

"General MIDI" is very limited: it assigns standard meanings to particular Program Change messages, i.e. it specifies which type of sound a receiving synth/sound module should produce upon reception of a particular Program Change message.
So I can't see how this could affect the BCN44.

Thanks!
Mark.

Re: B-Control Nano BCN 44 Latency Issues

2012-12-12 by sghookings@tiscali.co.uk

Hi Mark

I replied to a BCN44 thread earlier but I probably didnt make myself clear.

These Yamaha for sure send 0xF8 and/or 0xFE (and a FF if they dont get enough FEs) interspersed in midi message.

And like I said, this is totally midi spec.

As you mention, Windows is a bad way to try to "see" this because it collates the info together ... you almost will never see it,

But Arduino dont ... so I had to write code to deal with it

...
// realtime message
byte MIDI_STREAM::SYSEX_MTC_QUARTER_FRAME_MESSAGE = 0xF1;
byte MIDI_STREAM::SYSEX_MIDI_SONG_POSITION_POINTER = 0xF2;
byte MIDI_STREAM::SYSEX_MIDI_SONG_SELECT = 0xF3;
byte MIDI_STREAM::SYSEX_MIDI_TUNE_REQUEST = 0xF6;
byte MIDI_STREAM::SYSEX_MIDI_CLOCK = 0xF8;
byte MIDI_STREAM::SYSEX_MIDI_START = 0xFA;
byte MIDI_STREAM::SYSEX_MIDI_CONTINUE = 0xFB;	
byte MIDI_STREAM::SYSEX_MIDI_STOP = 0xFC;
byte MIDI_STREAM::SYSEX_ACTIVE_SENSE = 0xFE;
byte MIDI_STREAM::SYSEX_RESET = 0xFF;
byte MIDI_STREAM::MIDIRetryCount = 8;	// tidy this up
...

// Given the readByte, determine it's MIDI state
// Return it's running status, 0 if it isnt a top bit set.
// CAREFUL the system realtime (0xF8--0xFF) should not change the
// status
byte MIDI_STREAM::getState(byte &runningStatus, byte readByte, bool debug)
{
  // STEP 0 - set the runningStatus as the readByte UNLESS we are the realtime
  if (readByte > 0xF7) {
  } 
  else if (readByte >= 0xF0) {
    runningStatus = 0;
  } 
  else if ((readByte & 0x80) == 0x80) {
    runningStatus = readByte;
  } 
  else {
    runningStatus = 0;
  }

  // STEP 1 - get the top nybble of the readByte
  // After this transform the values of interest are in 8, 9, A ... F
  byte topNybble = (readByte & 0xF0) >> 4;

  // STEP 2 - get rid of anything < 8 ...
  if (topNybble < 8) return 0;    // we are to be ignored outside of a CMD

  if (topNybble == 0xF) {
    // We are a MIDI Sysex ... just return me ... else get my state
    if (readByte == SYSEX_MTC_QUARTER_FRAME_MESSAGE) {
    } 
    else if (readByte == SYSEX_MIDI_SONG_POSITION_POINTER) {
    } 
    else if (readByte == SYSEX_MIDI_SONG_SELECT) {
    } 
    else if (readByte == SYSEX_MIDI_TUNE_REQUEST) {
    } 
    else if (readByte == SYSEX_MIDI_CLOCK) {
      if (debug) Serial.println(F("FOUND MIDI CLOCK"));
    } 
    else if (readByte == SYSEX_MIDI_START) {
    } 
    else if (readByte == SYSEX_MIDI_CONTINUE) {
    } 
    else if (readByte == SYSEX_MIDI_STOP) {
    } 
    else if (readByte == SYSEX_ACTIVE_SENSE) {
      if (debug) Serial.println(F("FOUND MIDI ACTIVE SENSE"));
    } 
    else if (readByte == SYSEX_RESET) {
    } 
    return readByte;
  } 
  else {
    // STEP 3 - set our state value (our model, not a midi standard).
    return MIDI_STREAM::midiTypes[topNybble - 8 + 1].state;
  }
}

so basically for now I ignore it,
But I am soon going to re-handle this and make the midi clock an active part of my MiniakTransform

Simply to say without my hardware I couldnt reliably use the Yamaha but with the message filter I can use it with BCR.

Regards

Steve H




--- In bc2000@yahoogroups.com, "Mark v.d. Berg" <markwinvdb@...> wrote:
Show quoted textHide quoted text
>
> --- In bc2000@yahoogroups.com, "mosquito710" <mosquito710@> wrote:
> > My wife and I just got a BCN44 last week and had the same problem. Luckily it only occurred on a keyboard we were borrowing temporarily, and was completely fixed by switching to another keyboard. 
> > 
> > This probably doesn't tell you anything you don't already know
> 
> Actually it tells me a lot:
> It virtually proves that electron8000's individual BCN44 isn't defective.
> 
> I've looked at the MIDI specs of your Yamaha P-95: like electron8000's PSR310, it sends Timing Clock (F8) and Active Sensing (FE) messages, so I'm standing by my suspicion that these Yamaha keyboards send F8 and/or FE "within" channel messages such as Note On/Off.
> But I'm still not sure how I could prove this hypothesis, since Windows doesn't (easily) allow mimicking this behavior. Maybe I'd have to resort to my old DOS machine with an old Roland MPU interface...
> In any case it seems very unlikely that the problem as such can be fixed: the BCN's firmware would have to be reprogrammed.
> So the only "fix" seems to be your solution: use a different master keyboard.
> 
> > Another thing I noticed is that the Casio is labeled as being "General MIDI" compliant. I don't really know a lot about MIDI messages, but from what I understand that means it complies to a standardized specification. So that could have something to do with why it interfaces properly with the BCN44.
> 
> "General MIDI" is very limited: it assigns standard meanings to particular Program Change messages, i.e. it specifies which type of sound a receiving synth/sound module should produce upon reception of a particular Program Change message.
> So I can't see how this could affect the BCN44.
> 
> Thanks!
> Mark.
>

Re: B-Control Nano BCN 44 Latency Issues

2012-12-13 by Mark v.d. Berg

--- In bc2000@yahoogroups.com, sghookings@... wrote:
> Simply to say without my hardware I couldnt reliably use the Yamaha but with the message filter I can use it with BCR.

So the BCF and BCR exhibit the same behavior (stuttering etc.) as the BCN44 when there is merging involved?

Regards,
Mark.

Re: [bc2000] Re: B-Control Nano BCN 44 Latency Issues

2012-12-13 by Alex

I got a Yamaha P-80 which I use with a BCF2000 in MIDI merge mode and I don't have any problem. I can see how the keyboard sends time clock messages all the time but I can play it flawlessly. I got a BCN44 too, but I never test it with the Yamaha.
Show quoted textHide quoted text
2012/12/13 Mark v.d. Berg <markwinvdb@...>
So the BCF and BCR exhibit the same behavior (stuttering etc.) as the BCN44 when there is merging involved?

Regards,
Mark

Re: B-Control Nano BCN 44 Latency Issues

2012-12-13 by mosquito710

> In any case it seems very unlikely that the problem as such can be fixed: the BCN's firmware would have to be reprogrammed.
> So the only "fix" seems to be your solution: use a different master keyboard.

One other solution I was considering before we got it working was to use a separate device to do the merging, like the MIDI Solutions Merger (http://www.midisolutions.com/prodmrg.htm). The built in merging was one of the reasons we got the BCN, but this would be easier (and cheaper) than switching keyboards.

Re: B-Control Nano BCN 44 Latency Issues

2012-12-13 by sghookings@tiscali.co.uk

Yes and no.

I did get the stuttering ... but it was because I had a flaw in my handling of real-time messages. Once I dealt with this all was well.

So my point (which someone else has also said they were going to use midi-merger to solve) is IF you are running into a limitation of the BCN44, then you could make a small "corrector" device for a few Euro's to work around it.

Thanks

Steve H

--- In bc2000@yahoogroups.com, "Mark v.d. Berg" <markwinvdb@...> wrote:
Show quoted textHide quoted text
>
> --- In bc2000@yahoogroups.com, sghookings@ wrote:
> > Simply to say without my hardware I couldnt reliably use the Yamaha but with the message filter I can use it with BCR.
> 
> So the BCF and BCR exhibit the same behavior (stuttering etc.) as the BCN44 when there is merging involved?
> 
> Regards,
> Mark.
>

Re: B-Control Nano BCN 44 Latency Issues

2012-12-16 by electron8000

Hi Steve,

This is interesting. So you basically built yourself a MIDI-filter from an Arduino? I'm also playing around with Arduino from time to time. Does the Code you posted the last time work well? Could you give me the schematic/pin assignment of the arduino for this code? I might try building that MIDI-filter and then plug it in between the keyboard and the BCN44. Maybe a bare programmed AtMega328 with the crystal, capacitors and midi-ports then also suffices then for the filter?

Thanks,
electron

--- In bc2000@yahoogroups.com, sghookings@... wrote:
Show quoted textHide quoted text
>
> Yes and no.
> 
> I did get the stuttering ... but it was because I had a flaw in my handling of real-time messages. Once I dealt with this all was well.
> 
> So my point (which someone else has also said they were going to use midi-merger to solve) is IF you are running into a limitation of the BCN44, then you could make a small "corrector" device for a few Euro's to work around it.
> 
> Thanks
> 
> Steve H
> 
> --- In bc2000@yahoogroups.com, "Mark v.d. Berg" <markwinvdb@> wrote:
> >
> > --- In bc2000@yahoogroups.com, sghookings@ wrote:
> > > Simply to say without my hardware I couldnt reliably use the Yamaha but with the message filter I can use it with BCR.
> > 
> > So the BCF and BCR exhibit the same behavior (stuttering etc.) as the BCN44 when there is merging involved?
> > 
> > Regards,
> > Mark.
> >
>

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.