Skip to content
/ HEWI Public

Electronic Wind Instrument based on ESP32 board | Instrumento Electrónico de viento basado en la placa ESP32

License

Notifications You must be signed in to change notification settings

habuenav/HEWI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 

Repository files navigation

HEWI - Electronic Wind Instrument

HEWI (Holman's Electronic Wind Instrument) Es un instrumento de viento electrónico, creado para makers, músicos y entuciastas que buscan explorar su potencial creativo, modificando, programando o personalizando tu propio EWI. Este instrumento esta basado en la placa lolin32 lite y para el he implementado varias librerias personalizadas puedes encontrar aqui. Mas informacion en HEWI.

media

Características

  • Control de Soplo: Gracias a la biblioteca Breath se ha optimizado la lectura de muestras para ser usadas como sensor de soplo permitiendo configurar la resistencia y establecer valores de umbral y lectura maxima.
  • Botones Capacitivos: La libreria TouchButton gestiona eficazmente los pines capacitivos que se usan en la digitacion del instrumento.
  • Motor de Síntesis: Utiliza samplerSynth para la generación de sonido.
  • Interfaz de Menú: Control fácil de las configuraciones del instrumento con la biblioteca simpleMenu.
  • Conexion BLE-MIDI: Conectividad Bluetooth MIDI para integrar con dispositivos externos

Requisitos

Hardware (Partes y modulos):

Estas son las partes y modulos que debes conseguir si quieres armar tu mismo el proyecto HEWI. Proximamente estara disponible el kit que viene con todo lo neceario para enamblarlo y con un acabado mas profesional

Parte Imagen
ESP32 (Modelo Wemos Lolin32 lite)

lolin32

Sensor de presion MPS20N0040D-HX710B

hx710b

Pantalla OLED 128x64 I2C

ssd1306

DAC MAX98357A (Actualmente)

max98357a

Conector Audifonos

jack3-5

Altavoz 3W 4ohm

speaker3w

Sensor MPU-6050 (gy-521)

mpu6050

Bateria litio 3.7v 400mAh o mas

bateria3-7

40cm tubo silicona 3mm-4mm

tubosilicona

Chinchetas o tachuelas

tachuelas

Baquelita perforada o universal

baquelita

Software y librerias:

  • IDE de Arduino: Recomendado 1.8.10 o superior

Librerias propias

  • samplerSynth: Síntesis de sonido, gestion de las notas y efectos.
  • Breath: Gestionar la entrada del sensor de soplo
  • TouchButton: Gestion de los sensores capacitivos.
  • simpleMenu: Creacion y gestion de menús de configuración.

Librerias de terceros

  • ESP32-BLE-MIDI: Librería para usar Midi sobre Bluetooth Low Energy (BLE) en placas ESP32.
  • Preferences : Libreria para guardar datos en la memoria flash incluida con la instalacion de soporte ESP32 en el ide Arduino
  • Mpu-6050-light: Libreria diseñada para obtener mediciones del acelerómetro y del giroscopio del MPU6050 (gy-521)

Montaje

  • Carcasa: En desarrollo (No disponible aun) Imprime la carcasa del instrumento usando los archivos STL incluidos (o puedes diseñar una propia), tambien puedes ser creativo y usar una seccion de canaleta de almenos estas dimenciones (40mm Ancho x 25mm Alto x 250mm Largo)
  • Boquilla: En desarrollo (No disponible aun) Imprime la boquilla del instrumento usando los archivos STL incluidos (o puedes diseñar una propia), o puedes usar una boquilla recuperada de un Vapper y adaptarla tal como hice con mi primer prototipo.
    canaleta boquillavaper el tubo o manguera de silicona va de la boquilla al sensor de soplo y otra parte va de la boquilla al extremo inferior del instrumento como salida de aire y saliva.

Conexión de Componentes:

Para la conexion de componentes puedes guiarte del siguiente esquema, la baquelita perforada esta como referencia para ubicar los componentes en ella, la conexion de los cables queda a tu gusto, se que los ubicaras de la mejor manera.

esquema-HEWI

Configuración y Uso

Opciones del Menu

  • Tocar: El modo de interpretación activa los sensores de soplido y los botones de digitación para generar notas.
  • Instrumentos: Cambia el sonido utilizando el menú de instrumentos.
  • Volumen: Ajusta el volumen del instrumento.
  • Efectos y Filtros: Aplica efectos como reverberación, chorus, y filtro paso bajo.
  • Transposición: Ajusta la afinación del instrumento en semitonos.
  • Modo Acorde: Cambia el modo de acordes según la selección.

Comunidad

¡Las contribuciones son bienvenidas! Si tienes sugerencias, encuentra un error o deseas agregar una nueva característica, por favor abre un issue o envía un pull request.

Donaciones

Si te gusto este proyecto o simplemente te sientes generoso, considera invitarme una cerveza. ¡Salud! 🍻

Si has realizado una donación, por favor escribeme un correo y te enviare una version ligeramente optimizada y totalmente comentada, ademas de recibir rápidamente cualquier actualización o mejora adicional que haga a la librería. ¡Tu apoyo es invaluable!

HEWI - Electronic Wind Instrument

HEWI (Holman's Electronic Wind Instrument) It is an electronic wind instrument, created for makers, musicians and enthusiasts who are looking to explore their creative potential, modifying, programming or customizing their own EWI. This instrument is based on the lolin32 lite board and for it I have implemented several custom libraries you can find here. More information atHEWI.

media

Features

  • Breath Control: The Breath library has optimized sample reading for use as a breath sensor, allowing resistance to be configured and threshold and maximum reading values ​​to be set.
  • Capacitive Buttons: The TouchButton library efficiently manages the capacitive pins used in the instrument's fingering.
  • Synthesis Engine: Uses samplerSynth for sound generation.
  • Menu Interface: Easy control of instrument settings with the simpleMenu library.
  • BLE-MIDI Connection: Bluetooth MIDI connectivity for integration with external devices

Requirements

Hardware (Parts and modules):

These are the parts and modules that you must get if you want to build the HEWI project yourself. The kit that comes with everything necessary to assemble it and with a more professional finish will be available soon.

Part Image
ESP32 (Wemos Lolin32 lite Model)

lolin32

Pressure sensor MPS20N0040D-HX710B

hx710b

128x64 I2C OLED display

ssd1306

DAC MAX98357A (Currently)

max98357a

Headphone Connector

jack3-5

Speaker 3W 4ohm

speaker3w

Sensor MPU-6050 (gy-521)

mpu6050

Lithium battery 3.7v 400mAh or more

bateria3-7

40cm silicone tube 3mm-4mm

tubosilicona

Thumbtacks or thumbtacks

tachuelas

Perforated or universal bakelite

baquelita

Software and libraries:

  • Arduino IDE: Recommended 1.8.10 or higher

Own libraries

  • samplerSynth: Sound synthesis, note management and effects.
  • Breath: Manage breath sensor input.
  • TouchButton: Management of capacitive sensors.
  • simpleMenu: Creation and management of configuration menus.

Third-party libraries

  • ESP32-BLE-MIDI: Library to use MIDI over Bluetooth Low Energy (BLE) on ESP32 boards.
  • Preferences : Library to save data in the flash memory included with the ESP32 support installation in the Arduino IDE
  • Mpu-6050-light: Library designed to obtain measurements from the accelerometer and gyroscope of the MPU6050 (gy-521)

Assembly

  • Housing: In development (Not available yet) Print the instrument housing using the included STL files (or you can design your own), you can also be creative and use a gutter section of at least these dimensions (40mm Width x 25mm Height x 250mm Length)
  • Mouthpiece: In development (Not available yet) Print the instrument mouthpiece using the included STL files (or you can design your own), or you can use a mouthpiece recovered from a Vapper and adapt it as I did with my first prototype.
    canaleta boquillavaper the silicone tube or hose goes from the mouthpiece to the puff sensor and another part goes from the mouthpiece to the lower end of the instrument as an air and saliva outlet.

Connecting Components:

For the connection of components you can use the following diagram as a guide. The perforated bakelite is used as a reference to locate the components on it. The connection of the cables is up to you, I know that you will locate them in the best way.

esquema-HEWI

Configuration and Use

Menu Options

  • Play: Performance mode activates the breath sensors and finger buttons to generate notes.
  • Instruments: Change the sound using the instrument menu.
  • Volume: Adjust the volume of the instrument.
  • Effects & Filters: Apply effects such as reverb, chorus, and low-pass filter.
  • Transpose: Adjust the pitch of the instrument in semitones.
  • Chord Mode: Change the chord mode based on the selection.

Community

Contributions are welcome! If you have suggestions, find a bug, or want to add a new feature, please open an issue or submit a pull request.

Donations

If you liked this project or are just feeling generous, consider buying me a beer. Health! 🍻

If you have made a donation, please write me an email and I will send you a slightly optimized and fully commented version, in addition to quickly receiving any additional updates or improvements I make to the library. Your support is invaluable!