Jump to content

Pros and Cons of Midi Concertinas


Recommended Posts

Posted (edited)
24 minutes ago, David Barnert said:

 

Thanks. I didn’t realize this. I was only aware of having read in several places that USB-A was being gradually phased out, for instance, here:

 

 

They are all compatible with the use of appropriate dongles.  Some are passive, some are active.  USB-C has the advantage of being about the same size as Micro-USB and Lightning connectors, supporting higher charging currents, is physically symmetrical (like Apple's Lightning connectors), because of EU and other pressures, rapidly becoming the standard for pretty much any portable device that either needs to be charged or connect to a computer.

On my Mac Studio, it has USB-C, Thunderbolt 4, and USB-A connectors, with the USB-A connectors using USB-3 high-speed signaling, but compatible all the way back to original USB signalling for low speed peripherals like mouse and keyboards.  Both USB-C and Thunderbolt 4 use the same connector, Thunderbolt 4 supports USB signalling as well.

https://support.apple.com/guide/mac-studio/take-a-tour-apd0fd69f4be/mac

Edited by Michael Eskin
Link to comment
Share on other sites

On 5/13/2024 at 12:59 PM, ttonon said:

Paul, do you know if the musical tones of these existing digital instruments (including the free reed versions) are sampled or synthesized?

 

They are sampled - for Midi 'tinas the synthesiser software loads them usually as as .SF2 SoundFont files. There are readily available free soundfonts, or software to make your own from particular instruments.

Link to comment
Share on other sites

17 hours ago, Jody Kruskal said:

For a midi instrument to approximate the real thing in functionality, a real bellows would need to control the pressure and the entire 128 levels of midi volume should be available, smoothly and seamlessly shifting from loud to soft and back to loud in an instant. at the players whim, with unnoticeable lag. Just like the real thing.

 

My additional wish list for a midi Anglo would include:

...

* Dedicated buttons for transposing and voice selection. Perhaps user customization to let you select among a few favorite voices in performance.

* Bluetooth audio out as well as standard audio mini out and midi out physical connection ports.

 

 

My Midi 'tina (link in first post) has quite good control over volume from a single air pressure sensor in the bellows. It could be better, but certainly allows playing quietly and increasing as you increase the pressure. It also handles bellows reversal well.

 

It has one extra 'Control' button which is used in conjunction with other buttons to choose instrument changes, transpositions, and channel volume - it can play up to three Midi channels with separate instruments at individual volumes and transpositions. So you can play as Cello plus Oboe plus Marimba or other exotic combinations!

 

Be careful about Bluetooth audio. The original standard for Bluetooth has a 400 millisecond latency, to cope with data packets getting lost and retransmitted. Playing a concertina with nearly a half-second delay between button press and sound is to say the least interesting, as you are hearing the note before last! That's why I use wired connection between synthesizer and speaker. I do use Midi over Bluetooth (Widi Master) which has minimal latency of 3ms.

 

It may well be that with the later Bluetooth standards (4 and 5) which have lower latency audio modes you could make this work, but you would have to choose your kit carefully at present to get Bluetooth LE audio support at both ends of the link.

Link to comment
Share on other sites

Posted (edited)

If you don't have a sound module actually built into the MIDI concertina and relying on external sound module (either hardware MIDI or virtual instruments), then BLE MIDI is the way to go to transmit the data to either a computer or mobile device with extremely low latency, generally below 10 ms.

This is what the new WARBL2 wind controller uses for it's MIDI data streams.

Personally, I'd prefer a MIDI concertina that was just a controller and didn't have built-in sounds, and then use any of the many sound module apps available on both iOS and MacOS as my sound modules.
 

Edited by Michael Eskin
Link to comment
Share on other sites

3 hours ago, Michael Eskin said:

Personally, I'd prefer a MIDI concertina that was just a controller and didn't have built-in sounds, and then use any of the many sound module apps available on both iOS and MacOS as my sound modules.

For some purposes, yes I agree. What you propose would be the way to go for recording or playing in an amplified show, But wouldn't it be nice to just take it to a session and play without all that gear? Sound module, amplifier, speakers, AC power and all those cables to schlep and plug in. It would be nice to be able to just play something concertina-ish right out of the box.

Link to comment
Share on other sites

My home made MIDI concertina consists mostly of an Arduino that translates key presses into MIDI USB messages (and also is powered by the same USB cable), so all you need is the gizmo and a USB cable. Whatever is at the other end of the cable is scalable, can be anything that can supply USB power and process USB MIDI messages (possibly even a Smartphone with an OTG interface if exists). I generally run it off a laptop. Can't get any more rudimentary, I guess. No "intelligence" of its own whatsoever, although arbitrarily more functionality could be programmed into the Arduino.

Link to comment
Share on other sites

With all this techno talk of wiring and controllers, any midi concertina should somehow also incorporate a "Wheatstone Bridge", just to be traditional!

 

Gary

  • Like 2
  • Haha 5
Link to comment
Share on other sites

Posted (edited)

I had an early instrument converted to Hall effect midi and it is not perfect but it is a huge amount of fun.  It has a pressure sensor inside for volume, which works reasonably. I don’t doubt it could be done better but that will come.  The instrument represented, the key and the octave can be shifted by button press. The thrill of sounding like a large church organ is endless.   My major issue with it is it cannot distinguish between a tipped button and a fully pushed button.  
 

If ever the concertina became a fashionable instrument again it will not be through an old fusty playing a 1926 Aeola, it will be a young thing with a midi made of something fantastic with flashing lights. All power to them. 

Edited by Chris Ghent
Link to comment
Share on other sites

2 hours ago, RAc said:

My home made MIDI concertina consists mostly of an Arduino that translates key presses into MIDI USB messages (and also is powered by the same USB cable), so all you need is the gizmo and a USB cable. Whatever is at the other end of the cable is scalable, can be anything that can supply USB power and process USB MIDI messages (possibly even a Smartphone with an OTG interface if exists). I generally run it off a laptop. Can't get any more rudimentary, I guess. No "intelligence" of its own whatsoever, although arbitrarily more functionality could be programmed into the Arduino.

I for one would be interested in full details.

Link to comment
Share on other sites

20 minutes ago, Richard Mellish said:

I for one would be interested in full details.

 

Hi Richard, we had discussed this before:

 

 

The PCB layout and Arduino code are not exactly rocket science, let me know in PM if you are interested. I had planned to put everything up on Github, but there was no perceiveable interest, and I do not consider it useful to add to the already abundant noise of the internet.

 

Thanks!

 

Link to comment
Share on other sites

6 hours ago, gcoover said:

With all this techno talk of wiring and controllers, any midi concertina should somehow also incorporate a "Wheatstone Bridge", just to be traditional!

 

Gary

Well, if the midi concertina uses a load cell for bellows sensing then it already has a built-in Wheatstone bridge!

  • Like 1
Link to comment
Share on other sites

13 hours ago, Michael Eskin said:

If you don't have a sound module actually built into the MIDI concertina and relying on external sound module (either hardware MIDI or virtual instruments), then BLE MIDI is the way to go to transmit the data to either a computer or mobile device with extremely low latency, generally below 10 ms.

I have been experimenting with an ESP32 microcontroller sending midi messages over BLE (Bluetooth Low Energy) to an Android phone running the Fluidynth app loaded with Phil Taylor's concertina sound font.  I can't confirm that the latency is as low as 10 ms but I think it is less than 25ms, I cannot sense any latency,

 

"Traditional' midi audio has a very large latency because it has to compress and decompress the audio for transmission.   This also reduces the quality of the audio.  BLE midi only transmits simple commands to the receiver (e.g. turn note 56 on at volume 42) which do not need to be compressed and are quick to transmit.  Audio quality depends only on the receivers capabilities.

 

 

 

Link to comment
Share on other sites

From the WARBL2 manual section on BLE MIDI latency:

BLE latency


BLE MIDI adds a small amount of latency (delay). On most devices this is
imperceptible or nearly so, but for the absolute lowest latency you may choose to
use USB MIDI instead. On Windows, Mac, and Android, the average added BLE
latency is usually around 4 milliseconds (maximum of 7.5 milliseconds). On iOS
devices the average added latency is around 8 milliseconds (maximum of 15
milliseconds), but iOS devices also have relatively low audio latency so this
difference may be largely offset.
For comparison, 8 milliseconds of latency is the amount of time needed for sound
to travel 8 feet, so it is the equivalent of standing 8 feet away from an audio
source. In fact, for keeping perceived latency to an absolute minimum it is
recommended to be close to your audio source (speakers) because just standing
several feet from speakers will effectively double the overall latency.
Having the WARBL2 connected to the Configuration Tool may also add a very
small amount of latency because it necessitates sending additional data
wirelessly. You can click “Disconnect” in the Configuration Tool when done using
it to avoid this.
Note that there are many other sources of latency. Some Android devices may
have high audio latency. Also, all Bluetooth headphones and ear buds have very
high latency and these should be avoided.

Link to comment
Share on other sites

Posted (edited)
3 hours ago, Don Taylor said:

I can't confirm that the latency is as low as 10 ms but I think it is less than 25ms, I cannot sense any latency

FWIW. I don't have any way to test latency but I did set up a test where I transmitted two different notes a few milliseconds apart.  I changed this delay time down until I could not detect the first note sounding before the second note.  For me, and it is probably different for different people, I found that once the delay was 25 ms, or less, then I could not hear the first note separately from the second note. 

 

My guess is that this is the amount of latency that I can detect so if I press a button and think that I hear a sound immediately then I think that the latency is less 25 ms.

 

I know that my experiment is riddled with unfounded assumptions but I do not have anything better to go on.  In any case, I do feel that BLE midi between an ESP32 and an Android phone is quite workable.  I could just connect an ESP32 S3 to the phone with a USB cable and use midi over USB, but so far I have not been able to get the ESP32 Arduino USB midi library (TinyUSB by Adafruit) to work reliably.

 

I am using a Windows PC for development and have found that USB midi on Windows has a noticeable latency and I have been completely unable to get BLE midi working at all on Windows.  

 

 

Edited by Don Taylor
typo
Link to comment
Share on other sites

Posted (edited)

Latency between successive notes would include BLE latency and computation and buffering latency in the sound module plus audio output hardware subsystem buffer latency on whatever devices you're using. 

In my experience the audio subsystem latency is generally much longer than BLE related latency.   Agree that <25ms should be the target total system latency.

Edited by Michael Eskin
Link to comment
Share on other sites

3 hours ago, Michael Eskin said:

BLE MIDI adds a small amount of latency (delay). On most devices this is
imperceptible or nearly so, but for the absolute lowest latency you may choose to
use USB MIDI instead.

How do you define latency, the software/calculation delay between the closure of the key switch to the time the electrical signal is sent to the speaker? Do you have an idea how long of a transient there is between the time the speaker gets the signal and for the acoustic sound to reach a steady state condition? I'm sure it depends on the pitch of the tone. Then there's the time it takes for the sound to reach our ears from the speaker. 

 

Of course, our ears/brain don't wait for the speaker to establish the full steady state vibration before we perceive the sound. Even when the transient in the speaker is still going on, we hear something and may not be able to distinguish it that well from the developed steady state sound. 

 

But if our interest is in how well the digital instrument compares to the acoustic instrument, and from the delay times I see here, I don't think there would be a problem with the longest delays. That's my guess because the acoustic free reed also has a relatively long start transient, compared to most other instruments; though during most of the transient, there are some sounds. But the long transient was one reason why free reed organ pipes were not as popular as the conventional pipes, at least at some point in pipe organ development. The start transient for acoustic free reeds can be anywhere from about 10 ms up to maybe 50 ms and greater for the lowest notes.

 

The start transient, whether electronic or acoustic, is important in musical tones. In fact, without hearing the start of their tones, we often have trouble distinguishing among different instruments. 

 

An interesting experiment to do with the digital instruments with the shortest delays is to play the same key repeatedly as fast as possible. I wonder if some people might have difficulty in discerning separate notes. That may be if the start transient of the notes is small enough. The listener then hears mostly the developed tone and if the gap between tones is small enough, it all might sound like a continuous tone. 

 

Regards,

Tom

Link to comment
Share on other sites

Posted (edited)

I'm defining total system latency from when the switch closure on the controller device to when the first sample of the sound produced by whatever the target sound module device is arrives at the ears of someone sitting within a couple of feet of the speakers.   More than about 30 ms of this kind of latency and the whole system starts to feel sluggish and laggy.

Any additional delay because of, for example, low reed startup time, would be part of the audio sample for that note, assuming a per-note sampled instrument, such as those I use in my concertina and other apps.

Edited by Michael Eskin
Link to comment
Share on other sites

2 minutes ago, Michael Eskin said:

Any additional delay because of, for example, low reed startup time, would be part of the audio sample for that note, assuming a per-note sampled instrument, such as those I use in my concertina and other apps.

 

I'm confused. In your first paragraph you talk about the delay in the digital instrument, but the quote above, citing "low reed startup time," seems to describe the acoustic instrument. Are you saying that in the digital instrument, the low frequency tones and the high frequency tones will have different delay times?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...