Aodyo Instruments

    Aodyo Community

    • S'inscrire
    • Se connecter
    • Récent
    • Catégories
    • Recherche

    Support for high-resolution MIDI?

    Support
    6
    15
    903
    Charger plus de messages
    • Du plus ancien au plus récent
    • Du plus récent au plus ancien
    • Les plus votés
    Répondre
    • Répondre à l'aide d'un nouveau sujet
    Se connecter pour répondre
    Ce sujet a été supprimé. Seuls les utilisateurs avec les droits d'administration peuvent le voir.
    • M
      meteredsection dernière édition par

      Are there any plans to support high-resolution MIDI control messages for breath? Particularly at the low end, I'm finding the quantization to 7-bit MIDI signals to be very noticeable compared to the built-in sounds, so I assume the breath sensor is more sensitive than the 7-bit range represented by a single control message. Would be great to have access to that sensitivity over MIDI as well!

      1 réponse Dernière réponse Répondre Citer
      • Clint
        Clint dernière édition par

        I am hoping this explains what I am hearing at low breath pressures. I've only been working with the Sylphyo for 3 days, but my playing style does use low breath pressures, and so this issue stood out.

        I recorded a short demo emphasizing low breath pressure. The demo is on the Sylphyo via Link through the Patchman English Horn sample set, using Kontakt and recorded in Cantabile. Here is the waveform:

        LowBreathPressureScreenshot.jpg

        Here are links to WAV and MP3 (Lame -v2) versions of the recording:

        https://ClintGoss.com/mp3/LowBreathPressureDemo.wav

        https://ClintGoss.com/mp3/LowBreathPressureDemo.mp3

        ... The critical areas are in the areas (in seconds) of 1-2, 13-15, and 20-22.

        Is the "jittering" in those areas due to 7-bit MIDI?

        -- Clint Goss

        1 réponse Dernière réponse Répondre Citer
        • frank
          frank dernière édition par

          Interesting ! I think the clue about what it is, can be found in a midi monitor.
          My first impression is that the the tone generator does not properly react on the low pressure.
          I use the full rage : from very low to very high. Now to virtual instuments hosted by Gig performer: its midi monitor shows the gigantic range.

          Nice sound: I am not trying to play "real" instruments. I combine it with a Vl70m with the Patchman rom. Found that i play most the Plate model..

          I like your approach : sorru i cannot match your data : I am redoing the studio : so all is disconnected.

          Kind regards

          Frank

          1 réponse Dernière réponse Répondre Citer
          • frank
            frank dernière édition par

            Hi Metered section

            when i look at the midi monitor of my host i see a high resolution data stream is send from Breath.

            I would love it if midi data will be sent in high resolution NRPN 's The synth i intend to use with Sylpyo uses those : ASM Hydrasynth ,

            will try to give extra data when mu studio is up and running

            Kind regards

            Frank

            1 réponse Dernière réponse Répondre Citer
            • Support_AODYO
              Support_AODYO dernière édition par

              Hi Clint,

              We'll have a more in depth look at this. In the meantime, can you try to set the minimum in the breath settings menu lower? The default should be 20, but try something like 5 and it should respond better to lower breath.

              Maxence
              Aodyo Instruments
              Aodyo.com

              Maxence
              Aodyo Instruments
              Aodyo.com

              Clint 1 réponse Dernière réponse Répondre Citer
              • Clint
                Clint @Support_AODYO dernière édition par

                @Support_AODYO Thanks for the info.

                I tried setting Breath => Minimum to 5, 1, and 117. This seems to change the minimum breath pressure where a "Note On" occurs from very low to pretty hig, but the first Breath Controller value transmitted is still 1 (looking in MIDIView). And, if I "hang out" right at that minimum breath are, I still get a "stuttering" that I'm pretty sure occurs when Breath Controller values of 1, 0, 1, 0 are transmitted (I have seen strings of at least 10 of these [1,0] sequences before a Note Off is transmitted).

                The solution might lie in the volume curve of the virtual instrument I am playing. I am not sure right now what I volume curve my virtual instruments are using (or how to change it ... I'm pretty new to virtual instruments), but I can imagine that there is a curve someplace that tells Kontakt how to shape the volume output based on Breath Controller inputs. Rather than a straight line, if it were an "S" curve or Bezier or some such, then the volume output with Breath Controller = 1 would be greatly reduced and the "stuttering" might be inaudible ...

                -- Clint Goss

                Support_AODYO 1 réponse Dernière réponse Répondre Citer
                • Support_AODYO
                  Support_AODYO @Clint dernière édition par

                  @Clint We have experienced some similar issues with Kontakt in the past. It's quite difficult to set it to respond to wind controllers in a satisfactory way. You could try changing the Midi note-off delay on the Sylphyo and see if that changes anything?

                  Let me know what you come up with.

                  Maxence
                  Aodyo Instruments
                  Aodyo.com

                  1 réponse Dernière réponse Répondre Citer
                  • Clint
                    Clint dernière édition par

                    No Luck. Setting MIDI Mapping => Note-off delay to 1ms is substantially worse. Values of 20ms and 75ms are no improvement. I reset it to 10ms.

                    I also experimented with setting Breath => Filtering to Off, which made this stuttering issue much worse. Setting Breath => Curve to anything other than Log made the stuttering issue worse. Log-Lin was worse and Linear was much worse.

                    I have also been experimenting with various MIDI filters in Cantabile to try to minimize stuttering, with no success ...

                    I am thinking that any solution short of 14-bit BC commands will inherently be prone to stuttering at low volumes.

                    What are the prospects for 14-bit Breath Controller output from the Sylphyo?

                    -- Clint Goss

                    Clint 1 réponse Dernière réponse Répondre Citer
                    • Clint
                      Clint @Clint dernière édition par

                      (However, I just found out that Kontakt 6 does not handle 14-bit BC MIDI commands ... Sigh.)

                      -- Clint Goss

                      Clint 1 réponse Dernière réponse Répondre Citer
                      • Clint
                        Clint @Clint dernière édition par

                        Here's (what appears to be) a solution for Kontakt. It was provided in the Native Instruments forum in post #6 of this thread:

                        https://www.native-instruments.com/forum/threads/high-resolution-breath-controller.442309/

                        In addition, I did find that in Kontakt 6.4.2, I am able to use the Volume modulation in the Amplifier section by using a Flexible Envelope. (I don't know if Flexible Envelope is available in all/earlier versions of Kontakt).

                        Using a Flexible Envelope - either using Bezier curves or the Table option - I can then define any curve I like. With a very gentle rising slope from the left (CC2 = 0) end of the range ... I have reduced the stuttering to almost inaudible.

                        As Stephen23 pointed out ... "You'll find 7-bit control entirely adequate".

                        -- Clint Goss

                        1 réponse Dernière réponse Répondre Citer
                        • L
                          Laurent_AODYO dernière édition par

                          Hi there,

                          The main trouble about using high resolution MIDI is that it needs 2 MIDI messages to be transmitted thus requiring twice the bandwidth of a standard MIDI message. As there are many other MIDI messages to be transmitted (note on/note off, and all the various MIDI CC messages transmitted by the Sylphyo) using high resolution MIDI messages would double the resolution but would also lead to bigger time between MIDI breath messages and thus stepping effects would come back ...
                          Issue is there on the MIDI side but would also have similar impact on the wireless transmission which have to face similar bandwidth constraints.

                          1 réponse Dernière réponse Répondre Citer
                          • Clint
                            Clint dernière édition par

                            @Laurent_AODYO said in Support for high-resolution MIDI?:

                            requiring twice the bandwidth of a standard MIDI message

                            Watching the messages fly by, I suspected as much ...

                            I believe (hope) that the "server side" solution for Kontakt that I described above, as provided in the Native Instruments forum, is the complete solution. It does require the sampler to have such a custom envelope facility, and I have no idea if other samplers offer that.

                            Another "client side" ("Sylphyo-side") solution might be to offer another choice for Breath => Curve ... maybe a "Hyper-Logarithmic" or "Log-Log" or "Log-Squared" (Log^2) curve? That would probably approximate what I am doing in Kontakt ...

                            -- Clint Goss

                            frank 1 réponse Dernière réponse Répondre Citer
                            • frank
                              frank @Clint dernière édition par

                              @Clint

                              I check the messages : had to smile when you mentioned 127 bits, i guess you meant 127 value.

                              In the NI conversation they talk about the curve, while i think that is not your problem : it is low values of breath.

                              My machines are not connected but i remember seeing a very high resolution for breath in the minimonitor of rig control , the host i use when using VST 's I will check if i can values from my hardware, life i want to lmit myself to hardware synth(s) only. My choice has been a Hydrasynth .

                              Hydrasynths uses NRPN for data transfer

                              regards

                              Frank

                              1 réponse Dernière réponse Répondre Citer
                              • join
                                join dernière édition par join

                                Chiming in a bit late…

                                Breath control resolution is somewhat of a tricky subject. It's very easy to assume that a 7-bit MIDI signal isn't enough, but often I've found the problem lies in the perceptual mismatch between the breath signal produced by the performer and the perceived sound intensity of a sound produced by a synth.

                                Because we're very sensitive to that "jitter" between "no sound" and "a very faint sound", the synth should ideally increase volume/intensity veeeery gradually in the very low range (when the CC is 0, 1, 2, etc.), even if the curve can be steeper after that.

                                Having more extreme curves on the Sylphyo side would be a good idea (even regardless of this particular issue), but I don't think it would really help mask the perceived discontinuity in the very low range in most cases: if the sound is too loud at CC value 1 compared to CC value 0 (silence), then it's not good.
                                A 14-bit signal would help a little in this case, but I'm not sure it would be practical anyway because you would need a tremendous amount of accuracy to produce a smooth signal using the breath. And it could also bring in the timing issues Laurent talked about.

                                The synth will be smoothing your breath signal regardless of its resolution, and it'll do it at least over 32 bits, so it'll create the intermediate values your 7-bit or 14-bit signal lacks. The real question is how the synth smooths the signal: is it a good tradeoff between no perceived discontinuities and reactivity?

                                To me, the solution indeed lies in the volume curve, as Clint proposed. We're very sensitive to the difference between CC values 0 and 1, but I've yet to come across people complaining that there isn't enough steps between CC values 80 and 81. Bending the synth's volume/brightness curves to our perceptual expectations is more likely to bring about the desired results, in my opinion.

                                Have you found a good solution for this?
                                If not, you could try using some kind of program (like Max from Cycling 74) to produce the MIDI data needed to play the synth at a desired breath CC level, and check whether you hear a large discontinuity between 0 and 1.
                                If you do, then there should be some curve bending work to do on the synth side. If not, then we could try adding some new, more extreme curves on the Sylphyo side and see if it solves the issue.

                                R&D Engineer at Aodyo / Ingénieur R&D chez Aodyo

                                Clint 1 réponse Dernière réponse Répondre Citer
                                • Clint
                                  Clint @join dernière édition par

                                  @join said in Support for high-resolution MIDI?:

                                  Have you found a good solution for this?

                                  Yes! For my current use - Sylphyo => Link/MIDI => Cantabile => Kontakt 6 - the facilities for drawing response curves has been the complete solution for handling this issue. This was suggested and discussed in detail in this thread on the Native Instruments forum:

                                  https://www.native-instruments.com/forum/threads/high-resolution-breath-controller.442309/

                                  ... and I have found that the flexible envelopes (drawn, rather than the table option) are a straightforward and complete solution. I have recently been using envelopes for other purposes - controlling parameters on modular synths using elevation and roll (have not tried compass yet) and that is a fantastic alternative to expression pedals.

                                  For other scenarios that do not have the flexibility provided by Kontakt, I am not sure the solution. MIDI filters do not seem to be the answer, since they are translating MIDI to MIDI, not extending the bit depth of the MIDI stream itself.

                                  There might also be an issues for sound libraries that are encrypted (locked) by the vendor, rendering the curve inaccessible - but I'm not sure about that.

                                  ... and Thank You @join for the amazing amount of detailed information!

                                  -- Clint Goss

                                  1 réponse Dernière réponse Répondre Citer
                                  • 1 / 1
                                  • Premier message
                                    Dernier message
                                  Copyright © 2015 NodeBB Forums | Contributors

                                  Il semble que votre connexion ait été perdue, veuillez patienter pendant que nous vous re-connectons.