Introducing Pimidi & pimidipy Beta - New MIDI Playground!

Hey everyone!

As the holidays approach, we’re excited to share something we’ve been working on here at Blokas HQ.

We present Pimidi – a stackable 2x2 MIDI interface HAT for Raspberry Pi and pimidipy – a Python library to make MIDI processing rather effortless!

We created these two primarily for makers and MIDI enthusiasts seeking total flexibility. Together, they’re designed to handle even the most demanding MIDI scenarios!

We’re launching Pimidi and pimidipy as a Beta program for our community, and we’d love for you to join in!

What makes Pimidi HAT awesome?

  • Compact: Pimidi comes with 4 mini jacks following the official MIDI pinout standard (Type A).
  • Stackable: Connect up to 4 Pimidi boards together for 8 inputs and 8 outputs. Perfect for bigger MIDI setups.
  • Ultra-Low Latency: 1.28ms loopback latency using direct I²C communication - great for real-time performance.
  • Minimal GPIO Usage: Pimidi only uses I²C and 2 GPIO pins, leaving the rest free for your custom projects.
  • Activity LEDs: Dedicated LEDs for every input/output port to easily monitor MIDI data flows.

Paired with Raspberry Pi’s USB ports for USB-MIDI, MIDI-over-Bluetooth, and MIDI-over-network, Pimidi will transform your Raspberry Pi into a complete MIDI connectivity hub!

Enter the pimidipy Python library

  • Simple API: Easy to use, even for complex workflows like generative MIDI effects or advanced routings. You can find script examples here.
  • Universal: Works on all Linux-based environments and is compatible with any MIDI interface or device. Plus, it automatically handles device disconnects and reconnects.
  • Open-Source: The community can explore, customize, and enhance it to meet broader needs.
  • Shareable: Download and tweak community-made scripts from Patchstorage.com or share your own to inspire others!

We have also created a pimidipy Patchbox OS module to handle script auto-launching, so you can focus on making music, not connections!

Beta Program & Pimidi Early-Birds!

You can start experimenting with the pimidipy library right away - install it via pip or as a Patchbox OS module. We’re looking to expand the example section on Patchstorage, so let us know what scenarios or features you’d like to see covered!

If you’re interested in the Pimidi HAT, our initial batch is ready, and we’re offering an early bird price of 40.5€ (25% off the 54€ MSRP). Don’t miss out - it’s available for our community via THIS LINK ONLY: https://blokas.io/store/?secret=blokasfam.

Dive in and share your feedback - we can’t wait to see what you’ll create!

Cheers, and happy holiday season! :christmas_tree:

Blokas Team :heart:

P.S. Some more photos:




7 Likes

Hi ! Oh, sounds interesting ! I have quite a few use cases in mind already :slight_smile:

So, contrary to a PiSound project for which I guess it’s better to aim at a high specced Raspberry Pi, I guess I could use any Pi and still maintain optimal performance, if it only deals with MIDI messages and no audio ? What is the lowest possible Pi to use with it ? (if I could power it with a simple 2A USB port it would be cool)

Thanks again, take care :slight_smile:

2 Likes

It should work with every B type (40 pin GPIO) Raspberry Pi. Which Pi model do you have in mind?

The power requirements are very low, it’s consuming around 22mA of current when in use.

3 Likes

Hi ! Thanks for the reply ! Well, I have no more Pi at home ATM. I was first aiming at building a Pi 5 setup with a PiSound for a more general use (to use as a soundmodule for my old Commodore Amiga 1200 computer, use as a MIDI merger, effect processor etc :slight_smile:

But I decided to postpone this. So in the meantime, I have a different use case in mind with no audio processing involved - I’d like to keep minimalistic :slight_smile: If I remember correctly Pi’s 1 to 3 could be powered with a standard 2A USB power supply but the 4 and 5 need more juice ?

Edit : oh, BTW, are PiAudio & PiMidi stackable ?
Edit : d’oh, PiSound & PMidi :wink:

I’d recommend going with 3B or 3B+. They have a USB Micro connector, so yes, 2A - 3A ought to be enough.

I assume you mean Pisound :smiley: Yes, Pisound can be mounted on top of the Pimidi.

1 Like

With the PiSound below the midi HAT you’ll loose easy access to the PiSound’s one button which is on top. You’d probably want to place the new midi HAT below the PiSound to retain its one button functionality.

1 Like

Yes, Pimidi fits only underneath the Pisound. :slight_smile:

2 Likes

Hate to be one of those guys posting “will it work with THIS synth?”…

But, I have a Haken Continuumini… MIDI signals from it are not recognized by the Expert Sleepers FH-2. Something to do with ~ high data rate MPE MIDI. FH-2 won’t even recognize the Continuumini as a device.

Would be nice to know if anyone has tried to connect the Pimidi to an Osmose via USB-MIDI…

We don’t have access to any of the listed devices here, but we’ve stress tested 4 level high Pimidi tower under maximum continuous MIDI and CPU load, and it worked just great. :slight_smile: The MIDI implementation follows the 5V MIDI electrical spec, so it should be pretty compatible with virtually any other standard MIDI device.

Is it possible to use the library, pimidipy, on Windows, or is it only for Linux systems? I was able to install the library (pip install --upgrade pimidipy), but I got the following error when I tried to run a sample program:

OSError: cannot load library ‘libasound.so.2’: error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called ‘libasound.so.2’

The missing library seems to be for Linux, but maybe there’s an equivalent library for Windows.

Thanks.

At this time it’s Linux only, as it depends on Linux specific ALSA MIDI.

So cool, I’ve got a Midihub and a Pisound.

  1. Do the Pisound midi din connectors still work as well with the 4x stacked tower?
  2. I’m in doubt if I should build a separate midi tower. And plug that into the Midihub.
    How would you guys go about this (expanding the midihubs 4i/4o)
    This really looks like it could be a handy addition to the Midihub, I’ve been in doubt before to expand the input / output.
  3. It would be a cool project to build a stacked tower and add buttons at each port, so you could easily assign an input to an output. Like with the MRCC.

Yes, Pisound is fully operational in such a setup.

If Midihub is plugged in via USB, the Raspberry Pi may route USB MIDI data between Midihub and other USB MIDI devices, as well as forward the MIDI streams to/from the MIDI cables, it could do additional processing on its own too.

Yeah, there’s a lot of GPIOs available for extensions. :slight_smile:

1 Like

Hi again :wink:
Is there some kind of compatibility layer between the MidiHub editor and a Pi setup with PatchboxOS + a PiSound or PiMidi hat or are they completely distinct worlds ?
Thank you :slight_smile:

They are distinct items, but of course they can interact through standard means, like editing Midihub’s presets using an ARM build of the Editor, and forwarding data between the devices through ALSA MIDI.

Alright ! This is getting a bit off-topic, I’m sorry ! I am just re-discovering all your great stuff ! One very last question and then, back to PiMidi, I promise :slight_smile:

If I want to keep everything as self contained as possible, is it OK to use a Pi+PiSound/PMidi & MidiHub the following way :

  • power up the Midi Hub with 1 Raspberry USB port (so only 1 power supply)

  • use the MidiHub editor from the Pi

  • if so : do I need a regular Debian or may I run it from PatchBoxOS ??

  • probably not headless from the phone app ? :wink:

  • use the audio chain on the PiSound

  • forward the USB-MIDI devices connected to the Pi to the MidiHub and process them with it ?

This is not completely trivial to figure out to what extent it’s more relevant to process midi events the graphical way with the MidiHub editor, or the manual way with pimidipy scripts :wink:

PS : the only missing bit is that I’d need to mix 2 stereo audio sources

Thank you again ! :slight_smile:

Ordered a stack, looking forward to tinker with this :ok_hand:
I’ll start the real thinking when it gets here.
I’ll probably get another pi and make it a dedicated midi hub and keep my Pisound as a separate device.
Maybe making it battery powered with a pisugar.

3 Likes

Yes, the Pi can power the Midihub up. You can use any Linux distribution, the editor is packaged as an AppImage which should run on virtually on anything that runs Desktop Linux. (I had it running on Steam Deck :slight_smile:)

Theoretically, you could control it through some remote desktop app, but it probably wouldn’t be convenient.

Yes and yes.

Why not both? :slight_smile:

1 Like

Definitely, as soon as the bank account allows it :slight_smile:
I have some use cases in mind involving conditionals so I’ll need pimidipy ! :slight_smile:

Thanks for the kind replies.

1 Like



Have you got any more info on this?

This talks about Continuumsample rate…

The effective sample rate for the most popular MPE controllers’ Z data is ~25 Hz, and ~500 Hz for the Continuum Fingerboard. MPE+ lets the controller specify the best amount of smoothing to avoid update noise (aka zipper noise or aliasing) but still retain the finger motion information in the data. [Clarification: The Continuum internally has an effective sample rate of ~3 kHz for Z; this data is processed to create the optimized ~500 Hz effective sample rate control stream for Midi transmission.]

[from Haken Audio MPE page which goes into a lot of detail…] …but doesn’t give any hint of Continuumini not being recognized