Translate duplicate "all notes off" to one "note off," notes hanging as it is in DAW

Hi thanks for this translation software it is helping me get very close to fixing a problem but I’m not quite there yet, but maybe there is a solution.

I am using an IOS chord instrument as a midi controller going into Logic on a Mac. It actually works fine on another DAW Reaper but that one has been more laggy, and I use Logic and in that DAW the chord notes all hang indefinitely. In Midi Monitor (shown above) it looks like it sends a control “all notes off” before all the “note ons” and then another control “all notes off.”

The best fix I have so far in Bome is to just translate “notes on” to “notes on” then “notes off” but then have to use the delay to turn off the notes and it is usable but I can’t control how long the notes are held for by playing. The other method was to translate control “all notes off” to “notes on” then notes off” but that had the same end result as they only way to get it to make a sound was to put a set delay time that can’t be controlled by playing. Perhaps the extra all notes off at the beginning cancels things out. Also the control method added extra notes at the highest key of the keyboard for some reason perhaps due the way the IOS app writes it.

I’m wondering if a rule that ignores only the first control “all notes off” and then only translating the ending control “all notes off” to “notes off” could solve the problem of both ending the notes in the DAW and being able to control the length by playing. Is there a way to write a rule to ignore the first control “all notes off” unless it is preceded by “Notes on” messages or some better suggestion?

There will also be melody keyboard notes from the same instrument on the same channel that may further complicate the translation rules (and sometimes also has hanging notes) but for now I’ll see if just getting the chords straightened out works.

Thank you

Hi and welcome to the Bome community!

Some devices do not recognize the all-notes-off CC message so you might need a timer to iterate through all note turning them off one by one. I would also suspect the device sending MIDI messages as the MIDI specification states that for every note-on message, it should (eventually) send a note-off message. I’ve seen drum machines that never sen note-off messages, however an just rely on the the drum release to happen naturally.

Maybe you should post your project file?

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

carp test 2.bmtp (1.1 KB)

carp test.bmtp (1.0 KB)

Thank you Steve, I’m attaching the two versions of the translations I have tried (just notes on to off, and one that tries to translate the control all notes off message which sounds the same as the other in terms of note length determined by the delay setting only but also adds extra unwanted high notes ).

I guess I would ask, why you are getting stuck notes. Is the application not sending not off messages?

I don’t see any translators that allow note-off to pass through or MIDI thru paths that allow note-off through.

What exactly do you want Bome MIDI Translator Pro to do here? If it is just MIDI routing you should just draw lines between the input device and the destination application.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Do you mean my attachments don’t look like they should work or you don’t see them? When i play the IOS app by midi into the computer Logic or GarageBand DAW controlling a software instrument yes the notes do not turn off. They just play indefinitely despite the “all notes off” message in midi monitor and the midi input note dot turns off in Logic, but the midi regions recordings also shows the notes lasting indefinitely. I tried it on two different version of Logic on two computers. It does work correctly in the Repaer DAW, the notes turn off. When I use both of the Bome midi translations presets that I sent, then notes do turn off successfully in Logic and using the Bome presets are the only way I have gotten the notes to turn off while controlling with that app. So I guess Logic does not understand the “all notes off” this app sends only the Bome’s individual “notes off.” However the notes last as long as I set the delay in the Bome preset, I can’t control the length by playing the keyboard. I was trying to adjust the preset so the “all notes off” can be translated in a way that stops the notes successfully when i stop playing them rather than whatever delay time i set up in the preset.

Sorry you are right about carp test 2.bmtp, that one doesn’t seem to work anymore though i was using it yesterday I thought, but now it only triggers unintended extreme high notes now and none of the intended notes. Only carp test.bmtp (1.0 KB) is playing correctly, as long as it has a delay set to turn off the note (your youtube video showed me how to do that). Even if I can’t find a way to control the note lengths when playing, the Notes Off translation already is making the IOS instrument more usable, which it wasn’t at all before.

If all you want to do is pass thru MIDI messages from your one controller or application to another you can use the attached. There are no translators, but any message arriving on “My Controller” will pass thru the “Application”. If for some reason, your controller is not sending note-off messages than we would need a translator to intervene.

Here are how my aliases are set up.

You can learn more about aliases from this tutorial.

And here is the MIDI router showing the default MIDI thru path.

MIDI-Pass-Thru.bmtp (1.4 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi thank you, i tried the IOS controller through the pass-thru you sent, that has the same effect as playing the controller directly into the DAW, where the notes turn on but don’t turn off. I don’t think the DAW is understanding the control “all notes off” message the controller is sending, or perhaps because the “all notes off” is also being sent twice also before the notes turn on it is not understanding it. In my first pic there is pic showing what the controller sends. If there is a way to translate the “all notes off” message to individual “notes off” without that first duplicate “all notes off” interfering perhaps that would fix it.

To see what is going on, you can open the Log Window of Bome MIDI translator Pro.

![image|689x225](upload://v4EaPMzoZjgY8uBscJfgREV6a1J.pn

Then once it is opened, chack the boxes as show below.

The play something. After playing, copy and paste what you see into a posting here on the forum.

It is odd that your device is not sending note off messages.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

1: MIDI IN [iPhone SE Bluetooth]: B0 7B 58
2: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: B0 7B 58
3: MIDI IN [iPhone SE Bluetooth]: 90 32 50
4: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 32 50
5: MIDI IN [iPhone SE Bluetooth]: 90 35 50
6: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 35 50
7: MIDI IN [iPhone SE Bluetooth]: 90 39 50
8: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 39 50
9: MIDI IN [iPhone SE Bluetooth]: 90 3E 50
10: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 3E 50
11: MIDI IN [iPhone SE Bluetooth]: B0 7B 58
12: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: B0 7B 58

I see, so your deviced never sends note-off messages and the DAW does not recognize “all-notes-off” so you can try the attached project. When it receives and all-notes off message on MIDI CH 1 (Translator 0.0), it starts a repeating timer (Translator 0.1) which iterates through all 127 notes turning them off.

All-Notes-Off-Iteration-2026-02-18.bmtp (2.4 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thank you for your continuing help, seems that is working similar to my prior translations where it cuts off the notes very quickly. Maybe because the timer perhaps get triggered right away because the controller send a control “all notes off” at the beginning of the notes too? Instead of after the second “all notes off” (which is the one triggered when I actually stop playing)? This is probably very close to working though if there was maybe some way to ignore that first extra “all notes off?” Perhaps if there was a way to write a rule to ignore control “all notes off” unless it follows a “note on”?

1: MIDI IN [iPhone SE Bluetooth]: B0 7B 58

2: IN 0.0 Control Change on ch. 1 with CC#:123 (0x7B) and any value=88

3: MIDI IN [iPhone SE Bluetooth]: 90 2D 50

4: MIDI IN [iPhone SE Bluetooth]: 90 30 50

5: MIDI IN [iPhone SE Bluetooth]: 90 34 50

6: MIDI IN [iPhone SE Bluetooth]: 90 39 50

7: IN 0.1 Timer Notes-Off Timer

8: OUT 0.0 Timer pp times ‘Notes-Off Timer’: 0 ms (initial delay: 0 ms)

9: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 7F 00

10: OUT 0.1 Note Off on ch.“pp”=0 (ch.1) with note:qq=127 and velocity:gf=0

11: IN 0.1 Timer Notes-Off Timer

12: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 7E 00

13: OUT 0.1 Note Off on ch.“pp”=0 (ch.1) with note:qq=126 and velocity:gf=0

14: IN 0.1 Timer Notes-Off Timer

15: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 7D 00

16: OUT 0.1 Note Off on ch.“pp”=0 (ch.1) with note:qq=125 and velocity:gf=0

17: IN 0.1 Timer Notes-Off Timer

18: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 7C 00

19: OUT 0.1 Note Off on ch.“pp”=0 (ch.1) with note:qq=124 and velocity:gf=0

20: IN 0.1 Timer Notes-Off Timer

OK so this gets more complicated.

In the below examples I use 4 global variables to track and bitmap all of the incoming note-on messages (ga,gb,gc, and gd)

I only send a note off if a note has been pressed and not released. Once I send the note-off, I reset the bitmap read for the next incoming note.

The translators in preset 0 handle the initialization of global variables when the project opens.

The rules in translator 1.0 track the incoming notes and stuff bits for any note on messages based on the note number.

Translator 1.1 looks for the all-notes off message and starts the timer. I use the global variable “ge” for the note number or the iteration counter.

Translator 1.2 is the timer and iterates through the bitmap and only sends a note and clears the bit if the note has been pressed.

Give it a try.

All-Notes-Off-Iteration-2026-02-18A.bmtp (4.4 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Hi Steve really appreciate your help, I’m afraid this has the same result as the previous translators, where the note length is very brief due to the timer maybe being triggered by the controller’s erroneous first “all notes off” which happens at the same time as the “note on” and perhaps makes it look to Bome like it has been released, instead of the second and intended “all notes off” when I stop playing the notes. Would it work if there is way to ignore “all notes off” unless it has been preceded by “note on”?

It does however fix the the problem where the previous translations involving control “all notes off” were triggering very high notes!

controller only pic showing extra “all notes off” at same time as “note on”:

bome translation:

1: MIDI IN [iPhone SE Bluetooth]: B0 7B 58
2: IN 1.1 Control Change on ch. 1 with CC#:123 (0x7B) and any value=88
3: MIDI IN [iPhone SE Bluetooth]: 90 2D 50
4: IN 1.0 Note On on ch. 1 with any note set “pp” to note=45 with any velocity=80
5: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 2D 50
6: MIDI IN [iPhone SE Bluetooth]: 90 30 50
7: IN 1.0 Note On on ch. 1 with any note set “pp” to note=48 with any velocity=80
8: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 30 50
9: MIDI IN [iPhone SE Bluetooth]: 90 34 50
10: IN 1.0 Note On on ch. 1 with any note set “pp” to note=52 with any velocity=80
11: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 34 50
12: MIDI IN [iPhone SE Bluetooth]: 90 39 50
13: IN 1.0 Note On on ch. 1 with any note set “pp” to note=57 with any velocity=80
14: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 39 50
15: OUT 1.1 Timer ge times ‘Notes-Off Timer’: 0 ms (initial delay: 0 ms)
16: IN 1.2 Timer Notes-Off Timer
17: IN 1.2 Timer Notes-Off Timer
18: IN 1.2 Timer Notes-Off Timer
19: IN 1.2 Timer Notes-Off Timer
20: IN 1.2 Timer Notes-Off Timer
21: IN 1.2 Timer Notes-Off Timer
22: IN 1.2 Timer Notes-Off Timer
23: IN 1.2 Timer Notes-Off Timer
24: IN 1.2 Timer Notes-Off Timer
25: IN 1.2 Timer Notes-Off Timer
26: IN 1.2 Timer Notes-Off Timer
27: IN 1.2 Timer Notes-Off Timer
28: IN 1.2 Timer Notes-Off Timer
29: IN 1.2 Timer Notes-Off Timer
30: IN 1.2 Timer Notes-Off Timer
31: IN 1.2 Timer Notes-Off Timer
32: IN 1.2 Timer Notes-Off Timer
33: IN 1.2 Timer Notes-Off Timer
34: IN 1.2 Timer Notes-Off Timer
35: IN 1.2 Timer Notes-Off Timer
36: IN 1.2 Timer Notes-Off Timer
37: IN 1.2 Timer Notes-Off Timer
38: IN 1.2 Timer Notes-Off Timer
39: IN 1.2 Timer Notes-Off Timer
40: IN 1.2 Timer Notes-Off Timer
41: IN 1.2 Timer Notes-Off Timer
42: IN 1.2 Timer Notes-Off Timer
43: IN 1.2 Timer Notes-Off Timer
44: IN 1.2 Timer Notes-Off Timer
45: IN 1.2 Timer Notes-Off Timer
46: IN 1.2 Timer Notes-Off Timer
47: IN 1.2 Timer Notes-Off Timer
48: IN 1.2 Timer Notes-Off Timer
49: IN 1.2 Timer Notes-Off Timer
50: IN 1.2 Timer Notes-Off Timer
51: IN 1.2 Timer Notes-Off Timer
52: IN 1.2 Timer Notes-Off Timer
53: IN 1.2 Timer Notes-Off Timer
54: IN 1.2 Timer Notes-Off Timer
55: IN 1.2 Timer Notes-Off Timer
56: IN 1.2 Timer Notes-Off Timer
57: IN 1.2 Timer Notes-Off Timer
58: IN 1.2 Timer Notes-Off Timer
59: IN 1.2 Timer Notes-Off Timer
60: IN 1.2 Timer Notes-Off Timer
61: IN 1.2 Timer Notes-Off Timer
62: IN 1.2 Timer Notes-Off Timer
63: IN 1.2 Timer Notes-Off Timer
64: IN 1.2 Timer Notes-Off Timer
65: IN 1.2 Timer Notes-Off Timer
66: IN 1.2 Timer Notes-Off Timer
67: IN 1.2 Timer Notes-Off Timer
68: IN 1.2 Timer Notes-Off Timer
69: IN 1.2 Timer Notes-Off Timer
70: IN 1.2 Timer Notes-Off Timer
71: IN 1.2 Timer Notes-Off Timer
72: IN 1.2 Timer Notes-Off Timer
73: IN 1.2 Timer Notes-Off Timer
74: IN 1.2 Timer Notes-Off Timer
75: IN 1.2 Timer Notes-Off Timer
76: IN 1.2 Timer Notes-Off Timer
77: IN 1.2 Timer Notes-Off Timer
78: IN 1.2 Timer Notes-Off Timer
79: IN 1.2 Timer Notes-Off Timer
80: IN 1.2 Timer Notes-Off Timer
81: IN 1.2 Timer Notes-Off Timer
82: IN 1.2 Timer Notes-Off Timer
83: IN 1.2 Timer Notes-Off Timer
84: IN 1.2 Timer Notes-Off Timer
85: IN 1.2 Timer Notes-Off Timer
86: IN 1.2 Timer Notes-Off Timer
87: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 39 00
88: OUT 1.2 Note Off on ch. 1 with note:pp=57 and velocity:0 (0x00)
89: IN 1.2 Timer Notes-Off Timer
90: IN 1.2 Timer Notes-Off Timer
91: IN 1.2 Timer Notes-Off Timer
92: IN 1.2 Timer Notes-Off Timer
93: IN 1.2 Timer Notes-Off Timer
94: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 34 00
95: OUT 1.2 Note Off on ch. 1 with note:pp=52 and velocity:0 (0x00)
96: IN 1.2 Timer Notes-Off Timer
97: IN 1.2 Timer Notes-Off Timer
98: IN 1.2 Timer Notes-Off Timer
99: IN 1.2 Timer Notes-Off Timer
100: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 30 00
101: OUT 1.2 Note Off on ch. 1 with note:pp=48 and velocity:0 (0x00)
102: IN 1.2 Timer Notes-Off Timer
103: IN 1.2 Timer Notes-Off Timer
104: IN 1.2 Timer Notes-Off Timer
105: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 2D 00
106: OUT 1.2 Note Off on ch. 1 with note:pp=45 and velocity:0 (0x00)
107: IN 1.2 Timer Notes-Off Timer
108: IN 1.2 Timer Notes-Off Timer
109: IN 1.2 Timer Notes-Off Timer
110: IN 1.2 Timer Notes-Off Timer
111: IN 1.2 Timer Notes-Off Timer
112: IN 1.2 Timer Notes-Off Timer
113: IN 1.2 Timer Notes-Off Timer
114: IN 1.2 Timer Notes-Off Timer
115: IN 1.2 Timer Notes-Off Timer
116: IN 1.2 Timer Notes-Off Timer
117: IN 1.2 Timer Notes-Off Timer
118: IN 1.2 Timer Notes-Off Timer
119: IN 1.2 Timer Notes-Off Timer
120: IN 1.2 Timer Notes-Off Timer
121: IN 1.2 Timer Notes-Off Timer
122: IN 1.2 Timer Notes-Off Timer
123: IN 1.2 Timer Notes-Off Timer
124: IN 1.2 Timer Notes-Off Timer
125: IN 1.2 Timer Notes-Off Timer
126: IN 1.2 Timer Notes-Off Timer
127: IN 1.2 Timer Notes-Off Timer
128: IN 1.2 Timer Notes-Off Timer
129: IN 1.2 Timer Notes-Off Timer
130: IN 1.2 Timer Notes-Off Timer
131: IN 1.2 Timer Notes-Off Timer
132: IN 1.2 Timer Notes-Off Timer
133: IN 1.2 Timer Notes-Off Timer
134: IN 1.2 Timer Notes-Off Timer
135: IN 1.2 Timer Notes-Off Timer
136: IN 1.2 Timer Notes-Off Timer
137: IN 1.2 Timer Notes-Off Timer
138: IN 1.2 Timer Notes-Off Timer
139: IN 1.2 Timer Notes-Off Timer
140: IN 1.2 Timer Notes-Off Timer
141: IN 1.2 Timer Notes-Off Timer
142: IN 1.2 Timer Notes-Off Timer
143: IN 1.2 Timer Notes-Off Timer
144: IN 1.2 Timer Notes-Off Timer
145: IN 1.2 Timer Notes-Off Timer
146: IN 1.2 Timer Notes-Off Timer
147: IN 1.2 Timer Notes-Off Timer
148: IN 1.2 Timer Notes-Off Timer
149: IN 1.2 Timer Notes-Off Timer
150: IN 1.2 Timer Notes-Off Timer
151: IN 1.2 Timer Notes-Off Timer
152: MIDI IN [iPhone SE Bluetooth]: B0 7B 58
153: IN 1.1 Control Change on ch. 1 with CC#:123 (0x7B) and any value=88
154: IN 1.2 Timer Notes-Off Timer
155: OUT 1.1 Timer ge times ‘Notes-Off Timer’: 0 ms (initial delay: 0 ms)
156: IN 1.2 Timer Notes-Off Timer
157: IN 1.2 Timer Notes-Off Timer
158: IN 1.2 Timer Notes-Off Timer
159: IN 1.2 Timer Notes-Off Timer
160: IN 1.2 Timer Notes-Off Timer
161: IN 1.2 Timer Notes-Off Timer
162: IN 1.2 Timer Notes-Off Timer
163: IN 1.2 Timer Notes-Off Timer
164: IN 1.2 Timer Notes-Off Timer
165: IN 1.2 Timer Notes-Off Timer
166: IN 1.2 Timer Notes-Off Timer
167: IN 1.2 Timer Notes-Off Timer
168: IN 1.2 Timer Notes-Off Timer
169: IN 1.2 Timer Notes-Off Timer
170: IN 1.2 Timer Notes-Off Timer
171: IN 1.2 Timer Notes-Off Timer
172: IN 1.2 Timer Notes-Off Timer
173: IN 1.2 Timer Notes-Off Timer
174: IN 1.2 Timer Notes-Off Timer
175: IN 1.2 Timer Notes-Off Timer
176: IN 1.2 Timer Notes-Off Timer
177: IN 1.2 Timer Notes-Off Timer
178: IN 1.2 Timer Notes-Off Timer
179: IN 1.2 Timer Notes-Off Timer
180: IN 1.2 Timer Notes-Off Timer
181: IN 1.2 Timer Notes-Off Timer
182: IN 1.2 Timer Notes-Off Timer
183: IN 1.2 Timer Notes-Off Timer
184: IN 1.2 Timer Notes-Off Timer
185: IN 1.2 Timer Notes-Off Timer
186: IN 1.2 Timer Notes-Off Timer
187: IN 1.2 Timer Notes-Off Timer
188: IN 1.2 Timer Notes-Off Timer
189: IN 1.2 Timer Notes-Off Timer
190: IN 1.2 Timer Notes-Off Timer
191: IN 1.2 Timer Notes-Off Timer
192: IN 1.2 Timer Notes-Off Timer
193: IN 1.2 Timer Notes-Off Timer
194: IN 1.2 Timer Notes-Off Timer
195: IN 1.2 Timer Notes-Off Timer
196: IN 1.2 Timer Notes-Off Timer
197: IN 1.2 Timer Notes-Off Timer
198: IN 1.2 Timer Notes-Off Timer
199: IN 1.2 Timer Notes-Off Timer
200: IN 1.2 Timer Notes-Off Timer
201: IN 1.2 Timer Notes-Off Timer
202: IN 1.2 Timer Notes-Off Timer
203: IN 1.2 Timer Notes-Off Timer
204: IN 1.2 Timer Notes-Off Timer
205: IN 1.2 Timer Notes-Off Timer
206: IN 1.2 Timer Notes-Off Timer
207: IN 1.2 Timer Notes-Off Timer
208: IN 1.2 Timer Notes-Off Timer
209: IN 1.2 Timer Notes-Off Timer
210: IN 1.2 Timer Notes-Off Timer
211: IN 1.2 Timer Notes-Off Timer
212: IN 1.2 Timer Notes-Off Timer
213: IN 1.2 Timer Notes-Off Timer
214: IN 1.2 Timer Notes-Off Timer
215: IN 1.2 Timer Notes-Off Timer
216: IN 1.2 Timer Notes-Off Timer
217: IN 1.2 Timer Notes-Off Timer
218: IN 1.2 Timer Notes-Off Timer
219: IN 1.2 Timer Notes-Off Timer
220: IN 1.2 Timer Notes-Off Timer
221: IN 1.2 Timer Notes-Off Timer
222: IN 1.2 Timer Notes-Off Timer
223: IN 1.2 Timer Notes-Off Timer
224: IN 1.2 Timer Notes-Off Timer
225: IN 1.2 Timer Notes-Off Timer
226: IN 1.2 Timer Notes-Off Timer
227: IN 1.2 Timer Notes-Off Timer
228: IN 1.2 Timer Notes-Off Timer
229: IN 1.2 Timer Notes-Off Timer
230: IN 1.2 Timer Notes-Off Timer
231: IN 1.2 Timer Notes-Off Timer
232: IN 1.2 Timer Notes-Off Timer
233: IN 1.2 Timer Notes-Off Timer
234: IN 1.2 Timer Notes-Off Timer
235: IN 1.2 Timer Notes-Off Timer
236: IN 1.2 Timer Notes-Off Timer
237: IN 1.2 Timer Notes-Off Timer
238: IN 1.2 Timer Notes-Off Timer
239: IN 1.2 Timer Notes-Off Timer
240: IN 1.2 Timer Notes-Off Timer
241: IN 1.2 Timer Notes-Off Timer
242: IN 1.2 Timer Notes-Off Timer
243: IN 1.2 Timer Notes-Off Timer
244: IN 1.2 Timer Notes-Off Timer
245: IN 1.2 Timer Notes-Off Timer
246: IN 1.2 Timer Notes-Off Timer
247: IN 1.2 Timer Notes-Off Timer
248: IN 1.2 Timer Notes-Off Timer
249: IN 1.2 Timer Notes-Off Timer
250: IN 1.2 Timer Notes-Off Timer
251: IN 1.2 Timer Notes-Off Timer
252: IN 1.2 Timer Notes-Off Timer
253: IN 1.2 Timer Notes-Off Timer
254: IN 1.2 Timer Notes-Off Timer
255: IN 1.2 Timer Notes-Off Timer
256: IN 1.2 Timer Notes-Off Timer
257: IN 1.2 Timer Notes-Off Timer
258: IN 1.2 Timer Notes-Off Timer
259: IN 1.2 Timer Notes-Off Timer
260: IN 1.2 Timer Notes-Off Timer
261: IN 1.2 Timer Notes-Off Timer
262: IN 1.2 Timer Notes-Off Timer
263: IN 1.2 Timer Notes-Off Timer
264: IN 1.2 Timer Notes-Off Timer
265: IN 1.2 Timer Notes-Off Timer
266: IN 1.2 Timer Notes-Off Timer
267: IN 1.2 Timer Notes-Off Timer
268: IN 1.2 Timer Notes-Off Timer
269: IN 1.2 Timer Notes-Off Timer
270: IN 1.2 Timer Notes-Off Timer
271: IN 1.2 Timer Notes-Off Timer
272: IN 1.2 Timer Notes-Off Timer
273: IN 1.2 Timer Notes-Off Timer
274: IN 1.2 Timer Notes-Off Timer
275: IN 1.2 Timer Notes-Off Timer
276: IN 1.2 Timer Notes-Off Timer
277: IN 1.2 Timer Notes-Off Timer
278: IN 1.2 Timer Notes-Off Timer
279: IN 1.2 Timer Notes-Off Timer
280: IN 1.2 Timer Notes-Off Timer
281: IN 1.2 Timer Notes-Off Timer
282: IN 1.2 Timer Notes-Off Timer
283: Isidor

Try putting a 500 ms value on the output of translator 2.1 as shown below to see if that helps. Honestly we are trying to work around a poor performing input device so maybe you should discuss with the people that made it.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Yes putting a longer timer on it helps in that it makes the notes a bit longer, I did that on my initial translations too, the notes still cut off since they aren’t triggered by the intended “all notes off.” I’m sorry yes the controller is the problem, and all the Bome translations so far are definitely an improvement and make the controller somewhat usable now, except for not being able to play the note length. Is there a way to write a rule that can ignore controller “all notes off” unless preceded by a “note on”? That’s the only thing left I thought maybe could make the note lengths controllable by the intended “all notes off.” If not, thank you for your help so far, it is much more usable.

Yes the controller is the problem. It is an app made by one person and they just added midi to it in the last update so perhaps it is not implemented correctly. I did inform them a few weeks ago but didn’t hear back about that issue (they did answer about another one previously).

This one will only trigger the timer if any note is playing. You can look at the rules of translator 1.1.

I also do not have a start delay on the timer any more.

All-Notes-Off-Iteration-2026-02-19.bmtp (5.0 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Thanks Steve that works to control the note length as played! However it seems it is still causing hung chords again in the DAW if I start playing more than one test chord and in the melody, happened in the previous translation too. So this controller may be too screwed up to be corrected on our end.

However some of the previous simplest Bome translations with just “notes on” to “notes off” with set delays of any length I tried had no hung notes no matter what I played, so might actually be the best compromise where at least it is still audible enough to play, and lengths can be made longer with midi sustain fx and editing if need be. Really appreciate your help and Bome has made it usable.

1: MIDI IN [iPhone SE Bluetooth]: B0 7B 58
2: IN 1.1 Control Change on ch. 1 with CC#:123 (0x7B) and any value=88
3: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: B0 7B 58
4: MIDI IN [iPhone SE Bluetooth]: 90 2D 50
5: IN 1.0 Note On on ch. 1 with any note set “pp” to note=45 with any velocity=80
6: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 2D 50
7: MIDI IN [iPhone SE Bluetooth]: 90 30 50
8: IN 1.0 Note On on ch. 1 with any note set “pp” to note=48 with any velocity=80
9: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 30 50
10: MIDI IN [iPhone SE Bluetooth]: 90 34 50
11: IN 1.0 Note On on ch. 1 with any note set “pp” to note=52 with any velocity=80
12: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 34 50
13: MIDI IN [iPhone SE Bluetooth]: 90 39 50
14: IN 1.0 Note On on ch. 1 with any note set “pp” to note=57 with any velocity=80
15: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 39 50
16: MIDI IN [iPhone SE Bluetooth]: B0 7B 58
17: IN 1.1 Control Change on ch. 1 with CC#:123 (0x7B) and any value=88
18: MIDI IN [iPhone SE Bluetooth]: 90 30 50
19: IN 1.0 Note On on ch. 1 with any note set “pp” to note=48 with any velocity=80
20: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 30 50
21: MIDI IN [iPhone SE Bluetooth]: 90 34 50
22: IN 1.0 Note On on ch. 1 with any note set “pp” to note=52 with any velocity=80
23: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 34 50
24: MIDI IN [iPhone SE Bluetooth]: 90 37 50
25: IN 1.0 Note On on ch. 1 with any note set “pp” to note=55 with any velocity=80
26: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 37 50
27: MIDI IN [iPhone SE Bluetooth]: 90 3C 50
28: IN 1.0 Note On on ch. 1 with any note set “pp” to note=60 with any velocity=80
29: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 3C 50
30: OUT 1.1 Timer ge times ‘Notes-Off Timer’: 0 ms (initial delay: 0 ms)
31: IN 1.2 Timer Notes-Off Timer
32: IN 1.2 Timer Notes-Off Timer
33: IN 1.2 Timer Notes-Off Timer
34: IN 1.2 Timer Notes-Off Timer
35: IN 1.2 Timer Notes-Off Timer
36: IN 1.2 Timer Notes-Off Timer
37: IN 1.2 Timer Notes-Off Timer
38: IN 1.2 Timer Notes-Off Timer
39: IN 1.2 Timer Notes-Off Timer
40: IN 1.2 Timer Notes-Off Timer
41: IN 1.2 Timer Notes-Off Timer
42: IN 1.2 Timer Notes-Off Timer
43: IN 1.2 Timer Notes-Off Timer
44: IN 1.2 Timer Notes-Off Timer
45: IN 1.2 Timer Notes-Off Timer
46: IN 1.2 Timer Notes-Off Timer
47: IN 1.2 Timer Notes-Off Timer
48: IN 1.2 Timer Notes-Off Timer
49: IN 1.2 Timer Notes-Off Timer
50: IN 1.2 Timer Notes-Off Timer
51: IN 1.2 Timer Notes-Off Timer
52: IN 1.2 Timer Notes-Off Timer
53: IN 1.2 Timer Notes-Off Timer
54: IN 1.2 Timer Notes-Off Timer
55: IN 1.2 Timer Notes-Off Timer
56: IN 1.2 Timer Notes-Off Timer
57: IN 1.2 Timer Notes-Off Timer
58: IN 1.2 Timer Notes-Off Timer
59: IN 1.2 Timer Notes-Off Timer
60: IN 1.2 Timer Notes-Off Timer
61: IN 1.2 Timer Notes-Off Timer
62: IN 1.2 Timer Notes-Off Timer
63: IN 1.2 Timer Notes-Off Timer
64: IN 1.2 Timer Notes-Off Timer
65: IN 1.2 Timer Notes-Off Timer
66: IN 1.2 Timer Notes-Off Timer
67: IN 1.2 Timer Notes-Off Timer
68: IN 1.2 Timer Notes-Off Timer
69: IN 1.2 Timer Notes-Off Timer
70: IN 1.2 Timer Notes-Off Timer
71: IN 1.2 Timer Notes-Off Timer
72: IN 1.2 Timer Notes-Off Timer
73: IN 1.2 Timer Notes-Off Timer
74: IN 1.2 Timer Notes-Off Timer
75: IN 1.2 Timer Notes-Off Timer
76: IN 1.2 Timer Notes-Off Timer
77: IN 1.2 Timer Notes-Off Timer
78: IN 1.2 Timer Notes-Off Timer
79: IN 1.2 Timer Notes-Off Timer
80: IN 1.2 Timer Notes-Off Timer
81: IN 1.2 Timer Notes-Off Timer
82: IN 1.2 Timer Notes-Off Timer
83: IN 1.2 Timer Notes-Off Timer
84: IN 1.2 Timer Notes-Off Timer
85: IN 1.2 Timer Notes-Off Timer
86: IN 1.2 Timer Notes-Off Timer
87: IN 1.2 Timer Notes-Off Timer
88: IN 1.2 Timer Notes-Off Timer
89: IN 1.2 Timer Notes-Off Timer
90: IN 1.2 Timer Notes-Off Timer
91: IN 1.2 Timer Notes-Off Timer
92: IN 1.2 Timer Notes-Off Timer
93: IN 1.2 Timer Notes-Off Timer
94: IN 1.2 Timer Notes-Off Timer
95: IN 1.2 Timer Notes-Off Timer
96: IN 1.2 Timer Notes-Off Timer
97: IN 1.2 Timer Notes-Off Timer
98: IN 1.2 Timer Notes-Off Timer
99: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 3C 00
100: OUT 1.2 Note Off on ch. 1 with note:pp=60 and velocity:0 (0x00)
101: IN 1.2 Timer Notes-Off Timer
102: IN 1.2 Timer Notes-Off Timer
103: IN 1.2 Timer Notes-Off Timer
104: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 39 00
105: OUT 1.2 Note Off on ch. 1 with note:pp=57 and velocity:0 (0x00)
106: IN 1.2 Timer Notes-Off Timer
107: IN 1.2 Timer Notes-Off Timer
108: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 37 00
109: OUT 1.2 Note Off on ch. 1 with note:pp=55 and velocity:0 (0x00)
110: IN 1.2 Timer Notes-Off Timer
111: IN 1.2 Timer Notes-Off Timer
112: IN 1.2 Timer Notes-Off Timer
113: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 34 00
114: OUT 1.2 Note Off on ch. 1 with note:pp=52 and velocity:0 (0x00)
115: IN 1.2 Timer Notes-Off Timer
116: IN 1.2 Timer Notes-Off Timer
117: IN 1.2 Timer Notes-Off Timer
118: IN 1.2 Timer Notes-Off Timer
119: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 30 00
120: OUT 1.2 Note Off on ch. 1 with note:pp=48 and velocity:0 (0x00)
121: IN 1.2 Timer Notes-Off Timer
122: IN 1.2 Timer Notes-Off Timer
123: IN 1.2 Timer Notes-Off Timer
124: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 80 2D 00
125: OUT 1.2 Note Off on ch. 1 with note:pp=45 and velocity:0 (0x00)
126: IN 1.2 Timer Notes-Off Timer
127: IN 1.2 Timer Notes-Off Timer
128: IN 1.2 Timer Notes-Off Timer
129: IN 1.2 Timer Notes-Off Timer
130: IN 1.2 Timer Notes-Off Timer
131: IN 1.2 Timer Notes-Off Timer
132: IN 1.2 Timer Notes-Off Timer
133: IN 1.2 Timer Notes-Off Timer
134: IN 1.2 Timer Notes-Off Timer
135: IN 1.2 Timer Notes-Off Timer
136: IN 1.2 Timer Notes-Off Timer
137: IN 1.2 Timer Notes-Off Timer
138: IN 1.2 Timer Notes-Off Timer
139: IN 1.2 Timer Notes-Off Timer
140: IN 1.2 Timer Notes-Off Timer
141: IN 1.2 Timer Notes-Off Timer
142: IN 1.2 Timer Notes-Off Timer
143: IN 1.2 Timer Notes-Off Timer
144: IN 1.2 Timer Notes-Off Timer
145: IN 1.2 Timer Notes-Off Timer
146: IN 1.2 Timer Notes-Off Timer
147: IN 1.2 Timer Notes-Off Timer
148: IN 1.2 Timer Notes-Off Timer
149: IN 1.2 Timer Notes-Off Timer
150: IN 1.2 Timer Notes-Off Timer
151: IN 1.2 Timer Notes-Off Timer
152: IN 1.2 Timer Notes-Off Timer
153: IN 1.2 Timer Notes-Off Timer
154: IN 1.2 Timer Notes-Off Timer
155: IN 1.2 Timer Notes-Off Timer
156: IN 1.2 Timer Notes-Off Timer
157: IN 1.2 Timer Notes-Off Timer
158: IN 1.2 Timer Notes-Off Timer
159: IN 1.2 Timer Notes-Off Timer
160: IN 1.2 Timer Notes-Off Timer
161: IN 1.2 Timer Notes-Off Timer
162: IN 1.2 Timer Notes-Off Timer
163: IN 1.2 Timer Notes-Off Timer
164: IN 1.2 Timer Notes-Off Timer
165: IN 1.2 Timer Notes-Off Timer
166: IN 1.2 Timer Notes-Off Timer
167: IN 1.2 Timer Notes-Off Timer
168: IN 1.2 Timer Notes-Off Timer
169: IN 1.2 Timer Notes-Off Timer
170: IN 1.2 Timer Notes-Off Timer
171: MIDI IN [iPhone SE Bluetooth]: B0 7B 58
172: IN 1.1 Control Change on ch. 1 with CC#:123 (0x7B) and any value=88
173: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: B0 7B 58
174: MIDI IN [iPhone SE Bluetooth]: 90 2D 50
175: IN 1.0 Note On on ch. 1 with any note set “pp” to note=45 with any velocity=80
176: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 2D 50
177: MIDI IN [iPhone SE Bluetooth]: 90 30 50
178: IN 1.0 Note On on ch. 1 with any note set “pp” to note=48 with any velocity=80
179: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 30 50
180: MIDI IN [iPhone SE Bluetooth]: 90 34 50
181: IN 1.0 Note On on ch. 1 with any note set “pp” to note=52 with any velocity=80
182: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 34 50
183: MIDI IN [iPhone SE Bluetooth]: 90 39 50
184: IN 1.0 Note On on ch. 1 with any note set “pp” to note=57 with any velocity=80
185: MIDI OUT [Bome MIDI Translator 1 Virtual Out]: 90 39 50

So I suspect that the timing of the incoming all-notes-off message is off and so it may be arriving at the same time we are evaluating if all notes are off. A note comes on after, we have evaluated that they are all off so the timer doesn’t fire and we get hung notes.

Yes, the controller needs fixing. I should be sending both note-on and not-off messages and only send an all-notes off message if the user uses a “panic” function which is what it was intended for. Even then, many DAWs and synths do not process all-notes-off messages which is what the Bome workaround project is for. If you check the timestamp box in the log window, you would probably easily see the messed up timing of the incoming note and all-notes-off messages.

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

I’m not sure if this will help because I didn’t test it but this version also will not process an all-notes-off message to the timer if the timer is already running (gf=1). Maybe starting the timer again when it is already running is causing problems.

You can certainly give it a try.

All-Notes-Off-Iteration-2026-02-19B.bmtp (5.2 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz