Channels in [bach.ezmidiplay 8]

Discussions, advice, bug reports and much more about the "bach" environment.
Post Reply
fcd
Posts: 13
Joined: Thu Jun 23, 2022 8:52 pm

Channels in [bach.ezmidiplay 8]

Post by fcd » Thu Jun 23, 2022 9:29 pm

Hello!

As I understood, [bach.ezmidiplay 8] is supposed to leave 3 channels available for eight tones playback, since it is bending three channels:

For channel 1 it uses 1, 4, 7 and 11 (10 being used for percussion).
For channel 2 it uses 2, 5, 8 and 12.

For channel 3 it would then use 3, 6, 9 and 13.

To apply a midi sound to a batch of 4 grouped channels, I fill up a coll that I [uzi 4] on [pgmout]

The problem is that for channel 3, no matter what sound I apply, I always have the wrong timbre on the semi-tones.

This evening I decided to do some monitoring inside [bach.ezmidiplay], and I noticed that the channel 3 was not associated with 6, 9 and 13.

When a voice is played on channel 3, the channels used inside [bach.ezmidiplay 8] are 0, 3, 6 and 9.

It explains why I always have the sound of channel 1 on the semitones of the channel 3.

I noticed it at the output of:
[if $i2 == 10 then 10 else $i1]
just before the
[makenote 128 500 1] in the bottom left part of the patch.

Did I do something wrong in channel assignment ?

Thank you for your help!

danieleghisi
Site Admin
Posts: 1349
Joined: Fri Dec 03, 2010 1:25 pm

Re: Channels in [bach.ezmidiplay 8]

Post by danieleghisi » Fri Jun 24, 2022 7:41 am

Hello,

as far as I can tell, in order to play eighth-tones, FOUR channels must be used for every "logic" channel (+0c, +25c, +50c, +75c or something like that). So that should be :
1 5 9 14
2 6 11 15
3 7 12 16

so you just have 3 "logic" channels to use.

fcd
Posts: 13
Joined: Thu Jun 23, 2022 8:52 pm

Re: Channels in [bach.ezmidiplay 8]

Post by fcd » Fri Jun 24, 2022 8:45 am

Hello Daniele,

Thank you for your quick reply.

Indeed i did a mistake in the first sentence of my previous post, of course it is not bending three but four channels for eight tones.

In this previous topic you explained that for eight tones it was using 1 4 7 11 and so on, which makes 3 series of 4 channels.

The solution you give me today is also providing three series of four channels. But if i'm right, the three associated channels aren't to be read between the "logic" channels, as we understand with 1 5 9 etc.

Bach.ezmidiplay is automatically associating midichannels and applying pitchbends regarding the microtonal division and the related "number of available midi channels". I tried to apply a same instrument on 1 5 9 14, another one to 2 6 11 15, and a last one on 3 7 12 16, but it is not working (klangfarbenmelodie ! :) )
When doing the same on 1 4 7 11 and 2 5 8 12, the two channels are perfectly played in timbre and microtonality. I only have a problem with the third logic channel.

By monitoring before the fourth inlet of makenote inside [bach.ezmidiplay 8], we can see that the series calculated are :
1 4 7 11
2 5 8 12
0 3 6 9
r.jpg
r.jpg (85.91 KiB) Viewed 4640 times
So there is a mystery around the third logic channel. Is it possible I messed it up by using parallels ezmidiplays with different divisions in a previous patch ?

danieleghisi
Site Admin
Posts: 1349
Joined: Fri Dec 03, 2010 1:25 pm

Re: Channels in [bach.ezmidiplay 8]

Post by danieleghisi » Fri Jun 24, 2022 2:57 pm

Hey, that is true. Indeed I've looked a bit more into it, and it seems there's an error in the abstraction. Wow, this bug has been in there for 10 years.
Can you substitute the  abstraction here attached to the old one in the Packages/bach/patchers/ folder ?
Can you confirm that it works properly with this one?

Channels are:
1 4 7 11
2 5 8 12
3 6 9 13

and that's it, cause 15 / 4 = 3.something

Thanks for pointing this out.
Daniele
Attachments
bach.ezmidiplay.maxpat.zip
(6.64 KiB) Downloaded 142 times

fcd
Posts: 13
Joined: Thu Jun 23, 2022 8:52 pm

Re: Channels in [bach.ezmidiplay 8]

Post by fcd » Fri Jun 24, 2022 4:15 pm

Yes!! It works now with this new abstraction. I will just remove the 'print' from my side, until the next update.
Thank you very much for having taken the time to look into it. I was not sure it was a bug since it's one of the main objects, but probably no one is using three midi timbres in eight tones in a roll.

Actually after a week trying to do an instrumental maquette in eighth tones in bach (I'm impressed by the way NoteAbilityPro deals with microtonality in midi DLS), I had the idea to split my ensemble in several bach.rolls, each of them including three instruments. Each bach.ezmidiplay is assigned to a different midi port, and all my rolls are synchronized in domain / playout / cursor.

That was probably the path to discover this longtime bug!

If one day there is a way to have a whole microtonal orchestra playout from a single roll or bach.score... maybe by assigning midiports in the staves inspectors as we do with channels... It would be so nice and fun to compose with such a tool. Or maybe a direct communication with Ircam SOL, or Fluidsynth, but this kind of implementation is to technical for me right now. I just pass the message ;)

Hope everything is doing great with your creation in the Espro, I might come back to Paris in the last day of opening so I will try to go.

Bravo et merci!

danieleghisi
Site Admin
Posts: 1349
Joined: Fri Dec 03, 2010 1:25 pm

Re: Channels in [bach.ezmidiplay 8]

Post by danieleghisi » Sat Jun 25, 2022 3:57 pm

Indeed, thanks! :-) Hope you'll like what you'll hear/see.
On the bach side, you do not need to have three separate objects if you want to route voices to different modules.
Just do that from the playout, for instance like this:

<pre><code>
----------begin_max5_patcher----------
1968.3oc6bsrbihCEccxWAEq8zEBj3wrpmZVLqlZ1L6R0kKYPNVciETfbbb2
U+uO5AfwFgefCIoyfiCf0qqtGczU5BH8i6uydQ1yjRaqe25Aq6t6G2e2cpfj
AbW0uuydM943TboJY1K1v4YL6Y5nnIp.yV70eCDVGX1FdJgy2kSzEr8BL6Qa
quTEcNt.ulvIEyIL7hTUhbZhiGuhxdbdAIlqyMJv+SNyrfANxStv5iMkGayZ
JSHPU8CrOPc0PGpLved+8xCytYE0ejTTOsh5G7dQQgijh53nUznWWEkQ1JTq
ZchSdlq0eb7pOQ99ZZBMOEuy5y4YEbqsqvbxSjBS3hau3h8LKaJi2FZ5n9v.
uOglUyqAgdJ82sO82yn96N15eY1ZRFeEoP9KSf.31.AOjBD7BUZO.7tED5Q+
itI02Cp6BD4p4.v2X0makZkZPK8OoVd5VXjhe64oMmEIat6WCAisFFmklZIa
diWgYLR5+l8OJ4XALn1nSq1yt.0GIzUT..5FVcDIzeuPEOG.iNc6sYz.VEpT
Ulmf43JTnBFjQrgoDezrpPpS0Cpz0jRQLeirqkjjg7DNcSkZBr9RUvZb2XVc
GdV8FdVgFyp6kjUzvyp+vyZfwr5cIYMb3YM5rYs5RQYnYUk3mHIyEreAEdNl
yKnhIFnmaXaNFY8BRRalictfzSKohoPHAppB8kqi6ihwgEUbScSgmua5IsPA
TcCg54cgbOceRWi8I8dgGBRN3inIrrsoJqOKDn0ZC.fW+.v0aaBplHBHJXH1
l.WGKRLwJIiQTFKDSwRR0c.NngycTXWgvtXMf7TFMlTliioxIpJUZ0.tffq+
XCLrhlPzkaUINqmuM4njiWtLkxpygbFOF+1jCAjp4H5O0pCgsBWrNiQi40Sv
VzHmPVh2jxkD8Q4xlZkRqYh43WoG1OHS1WjGdQupQfxNEhg4xJZ01s+.nUiR
qdCtW1n1G8+gtxHXj6ahqLhZuLiwKoeWUZ.oYh6OAIttaGUzsijP4Ehxutdv
1HXnMxR1OuJh+7ukUkq5XSwzxRQUwAD8eEcnEl1TrK+YhAgDClXE0jm3TxxZ
Y+WxB7hNzFkD97w2KNyeaRuD.kzGUS0eTPwM8SqnZrLgQhzr5R7HfxfILes0
Zjx.d0zmiB+DxrMqpgusSyxxa56BbbbNnFtDGefqqK1FmIzSNcAMkx2cbK7g
F.qFq1d6prTx7h5onM2o4SkposRUQ4k5LksLqN.PcDJzRb9IRZVrP3VDl7xb
xgcYTbbw4kaXwb4PvGDqbt.JKRsBSSGEWL+4p+j1NmuLMCy8gMAZWaL6hRGv
IzwA3GF4efrJqqvWprZUMIhoUTRXbbW05wBQm9CBYWICmeXPIYqwT1KuhF35
G44BCMHraPc4j0B+LwoqyRHZ0OUn3OcTqsvnHgkzoIcKMguRdAdCO6vbrhPe
bE2bbwY461thvJyEr6NEJNVXDrTWWvIXVx1BJ+n5yRAUNaqru6JQZZWDMow8
XBsjwaYlt9tgLarMdhL++dxrmQxLkwSokbybYiQ9A0tbqYPdgzuvnPXfC7jr
GVF6JYNWnviPAPja3foXfwfhAMauTpC8Sx5I5OnVLuRZlyD6pIMn9Lf0qwqI
CWSFttHpke+FtNgQqICVSFrNEqJvHqRcKSMRp5FiIN0uLX5nLK1Py8ToojSL
CCiw9VhsgNt.OzQlfey4qQFw1x79LB1MlWSaf9.G.v040vF3GVeBANFaxSS0
2kutM4ciYxDUGPEXDTkuyIlfztfyuzP5nXYBX9NwIeWllfzABolueP.uIHcv
Pp46+g7MQbBRGHjZ1oe.ZBRGLjZ1YW4KF7DjNPH0rmdffIHcvPpYG8jum9SP
5.gTy92AhlfzA+.h63+TxNwUz3RyXp4X03pch8aDxF3E54+NyIJ2NNQktqnW
bsu6blcp8jio6wzNdQgK3z3Mopa4QOP6IRREFi+Ek2NNVD53VUqjazJqoXqP
1USHaKjsi2UXlHC39eUb50p.2dZLr83pYWrbmbwZ3PpYWrbmbwZ3PpYWrbmb
wZ3PpYWrbmbwZ3PpYWrbmbwZ3u1hleDUdNSP5Pfz1hZ8ZQQT16aueUBNLWxB
t84Vk2prhjCtn8CWU+z2qOuOl03huIWm5sup0yykiK38z.oqYms8t+Wl6OX5
m2Gb8C9AW+Pef0u1qXfrM4klpCGGX6EF1r9WUXGZfr0MqndkIcH1IMJ1MlGt
hWcGWD.AQ9WYt7c.QnP3UHlHu.OHTsRu1CmGeVUGbFrt.8P99NgWYtPQP2fQ
RWttJhCz0O75q9f.vqQSwKTiDBEEE.gWMgChFWsrY4Gd7pFrYmbnYWQXT1lS
LsutbS6qItN5UOdf5TD5V2VST4yt0JntV6UxVF9gXPY1lh35Jb0VDfbaZnY0
lVxoL886ZeZTOQr8UQgoe8x40wHteMRFbNI6OVR14bRFNVR9rnsqYICFezFL
VR9bnczXHX+KPvUvxMKmyAsd55xMIGIuv+Lxw+EPNnKD2tU43cAxA0QNZKd3
77pcW.kPjhPXe+q58CA0RMWL6Nl9mJqnh4k9TylvhZy3PLSNg0Ytvz7lB8Bu
+Ye8Flhszm8B1FZEGTsEvXqF6PsGOjWsN3UCwb+Ou++PfLIYH
-----------end_max5_patcher-----------
</code></pre>

fcd
Posts: 13
Joined: Thu Jun 23, 2022 8:52 pm

Re: Channels in [bach.ezmidiplay 8]

Post by fcd » Sat Jun 25, 2022 9:36 pm

Indeed, thank you for this elegant solution !

Post Reply