Coder Social home page Coder Social logo

frank3791 / esp32c3_super_mini-ble-midi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from max22-/esp32-ble-midi

0.0 0.0 0.0 73 KB

An Arduino library to use Midi over BLE (Bluetooth Low Energy), on ESP32 C3 super mini board

License: MIT License

C++ 93.49% C 6.00% Makefile 0.51%

esp32c3_super_mini-ble-midi's Introduction

ESP32-BLE-MIDI

An Arduino library to use Midi over Bluetooth Low Energy (BLE) on ESP32 boards.
If you find it useful you can Buy Me a Coffee at ko-fi.com if you want.

Quick start

#include <Arduino.h>
#include <BLEMidi.h>

void setup() {
  Serial.begin(115200);
  Serial.println("Initializing bluetooth");
  BLEMidiServer.begin("Basic MIDI device");
  Serial.println("Waiting for connections...");
  //BLEMidiServer.enableDebugging();  // Uncomment if you want to see some debugging output from the library
}

void loop() {
  if(BLEMidiServer.isConnected()) {             // If we've got a connection, we send an A4 during one second, at full velocity (127)
      BLEMidiServer.noteOn(0, 69, 127);
      delay(1000);
      BLEMidiServer.noteOff(0, 69, 127);        // Then we stop the note and make a delay of one second before returning to the beginning of the loop
      delay(1000);
  }
}

Check the header file here to view all available MIDI commands and callbacks.

Changes

  • v0.3.2

    • 2023-04-25
      • Added BLEMidi::end() to stop the BLE client or server.
  • v0.3.1

    • 2023-03-12
      • Added a simple knob example
  • v0.3.0

  • 2022-01-23

  • v0.2.2

    • 2021-09-20
      • Bug corrections : connection/disconnection callbacks weren't called when they where set up after BLEMidiServer.begin(), and no more connection were accepted after a disconnection. Thanks to Kim for the information provided.
  • v0.2.1

    • 2021-03-16
      • Bug correction : the WDT used to reset the ESP32 when lots of messages were received, because the IDLE task didn't have time to call esp_task_wdt_reset
  • v0.2.0

    • 2021-03-12
      • Implemented support for running status messages
    • 2021-03-13
      • After touch support
  • v0.1.2

    • 2021-03-02
      • Added pitch bend callback
      • Added a range parameter for pitch bend sending
    • 2021-03-11
      • Added an a new overload for pitch bend sending
  • v0.1.1

    • 2020-12-29
    • 2020-12-30
      • Implemented packet timestamps

Future work

  • Add some more examples

  • Add documentation, with Doxygen ?

  • Add keywords.txt for Arduino IDE

  • Add support for realtime messages ?

  • Add debugging messages in BLEMidiServer ?

  • Better debug function

Thanks

Thanks to the authors of those pages / pieces of code :

Message to users

If you make some noise with it, I would be glad to see your projects ! Don't hesitate to drop me an e-mail.

esp32c3_super_mini-ble-midi's People

Contributors

max22- avatar trdenton avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.