Hi all! For a project I need to have a system where you add tracks to a sequencer and play or unmute one of the tracks when there is a message input from a midi. Is there any ready system to use for this aim? Or how can we have one? Also if we can succeed I would like to have a display connected to the Bela board to use it on the go. Thanks in advance for al inputs.

P.S: I have the Bela board starter kit and a midi device with usb connection.

Hi, this sounds like a really nice project and Bela is definitely suited to it.

Do you imagine this as a sequencer which will send out control voltage signals, or MIDI, or will be a synthesiser in its own right? It could be all 3 at once. In either case I suggest having a look at the Ganesh project which gives physical control to each step of the sequence: https://blog.bela.io/ganesh-probability-sequencer-bela/

Another question is what programming language you would like to build this project in. We have examples in many different languages but Pure Data is one of the easiest to come to terms with if you are new to audio programming. We have a full tutorial which builds from the basics: https://learn.bela.io/tutorials/pure-data/fundamentals/course-introduction/

Receiving MIDI messages in your project is no problem. Check out the example in Pure Data: https://learn.bela.io/tutorials/pure-data/communication/midi-send-and-receive/ you just use the [notein] and [ctrlin] objects to read the MIDI messages within your project. Then it'ss up to you what you do with them.

Connecting a display to Bela is not so straight forward. We do have some solutions to connect small OLED screens which can be used for displaying parameters etc. which can be enough for many projects. See this project for example: https://blog.bela.io/prp-voyager/

5 days later

Hey Robert, thanks for the response and valuable info. Sorry for late reply also. I looked into the PRP project for the display integration but its kinda very complex for my knowledge now. I have experience with web developing tools like JS,HTML,CSS, Angular, NodeJS... And some experience with Arduino boards with basic robotics etc.

I imagine the Bela will be the heart and brain of the project as you said also it suits well. The system i need is actually way simpler than the examples you just gave me. At least I think 🙂. Say we have a sequencer or sampler (I am not sure which one is better since I am not that into the music making) which will be playing the tracks we want at the background and the track/sample we want to control its volume level will be controlled with the midi signals accordingly. Lets say we can control the selected tracks volume from 0-100 with the signals coming from midi. Of course I need to make kin of mapping of the midi signals into numbers to send to control the volume level. What do you think?

Ah, great thanks for clarifying. Yes, what you described is actually quite a bit simpler. To get started on this I would suggest getting the simplest case up and running and then build from there.

If you look at the sample playback example you will see how to read in a .wav file and play it back. https://learn.bela.io/tutorials/pure-data/audio/working-with-samples/

Then you need to read the midi messages from your keyboard as shown in this lesson: https://learn.bela.io/tutorials/pure-data/communication/midi-send-and-receive/

Then all you need to do is map the values you get from the midi controller (0-128) to a range which you can use to control the amplitude of the sample playback (0-1.0). You can then just multiply the audio signal from the sampler with the mapped value from the MIDI controller. You would use the [*~]object to do this.

Once you get this up and running, making it multi track will be easy, just a question of duplicating code and adding in more tracks to playback.

Thanks for quick response. I will look into the topics you pointed.