element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Experimenting with Vibration Sensors
  • Challenges & Projects
  • Design Challenges
  • Experimenting with Vibration Sensors
  • More
  • Cancel
Experimenting with Vibration Sensors
Blog KEMET Music Pad - Play Music Anywhere (Blog2)
  • Blog
  • Forum
  • Documents
  • Polls
  • Files
  • Events
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: asokfair
  • Date Created: 25 Jan 2021 6:33 PM Date Created
  • Views 1677 views
  • Likes 5 likes
  • Comments 6 comments
  • ble
  • infineon
  • sensors
  • music pad
  • kemet
  • music
  • experimenting with vibration sensors
  • cypress
  • vibration_sensors
Related
Recommended

KEMET Music Pad - Play Music Anywhere (Blog2)

asokfair
asokfair
25 Jan 2021

Hi All,

 

The final blog is here about my instrument "KEMET Music Pad" or "Music Surface Kit"

 

Introduction:

When you clap with hands we can hear a sound, it can be turn into music based on the variation , vibration and velocity.  Its clearly says

instruments are not really required to make any music. I remember those days where i used to make some sounds on our school desk/table.

Today i have the vibration sensor which outputs can be used to produce some actual instrumental music with Apple's GarageBand.

image

 

Blocks:

This blocks shows the overall concepts of this KEMET Music Pad,


Hardware:image
I have used two boards here,
1. CYW920819 EVB- 02 Kit
2. CY8CKIT 032 PSoC Analog Front End Shield
and the sensor from KEMET VS-BV203-B
The Sensor is interfaced to the CYW920819 Kit to Pin P14 with power supply 3.3v,  Also its attached to the wooden sheet/surface.
image
PSoC AFE board is fitted into the BLE base board's Arduino connector. The AFE process the CapSense sensing and proximity for
user interface. The OLED display displays the active instruments Group and selected hand key. The BLE base board communicate with
AFE through I2C interface.
Note1 : Hand key is something which holds the midi value of instruments. Two values we can store for users two hands.
Note2: Instruments Group is predefined midi value for capsense buttons. (4 values in group)
Software:

The BLE baseboard has the implementation of BLE GATT Server with custom service for sending MIDI data over Bluetooth. To know more details about

MIDI frame format check here. AFE data is read using periodic timer and Vibration sensor is captured with GPIO interrupt and converted into pulse count.

Based on the pulse count the velocity of the music is adjusted. Not used any FFT approach here to make it very simple.

Example: Simple MIDI Frame
[Header][Timestamp][status][midi data][midi velocity]
0x80,0x80,0x01,0x34,0x48
  • The header and timestamp default value is 0x80,
  • Status byte is to ON/OFF the playing.
  • Midi data contains the General MIDI keys, for more details check here
I have used below predefined  structure to send MIDI commands

uint8_t drum_1[8][4]= {{36u,37u,38u,40u}, // Bass Drum 1, Side Stick, Acoustic Snare,     Electric Snare

                       {41u,36u,45u,44u}, //Low Floor Tom, Bass Drum 1, Low Tom, Pedal Hi-Hat

                       {40u,48u,37u,51u}, //Electric Snare, Hi Mid Tom, Side Stick, Ride Cymbal 1

                       {38u,39u,42u, 49u}, //Acoustic Snare, Hand Clap,     Closed Hi Hat, Crash Cymbal 1

                       {60u,61u,64u,66u},

 

Tools Used:

For development purpose i have used below tools,

1. ModusToolbox - for CY920819 Kit BLE GATT Implementation

2. PSoC Creator - AFE Shield board

3. IOS GarageBand

 

How it works:

There is two working mode, Mode 1 we can operate this without Vibration sensor , just tap on the CapSense button to product the music.

Another mode is with vibration sensor. In this mode2 we use CapSense proximity to detect the hands which is closer to the music kit.

As per the Note1 two hand keys are handled with two hands. The CapSense buttons is ask as music picker , we can pick any of two music for

two hands on the queue order. When user hits the surface, the baseboard sends the midi command over BLE. Thease midi commands are

captured by the Apple IOS Garageband app and its play it on the mobile. In order to keep the BLE connection active its mandatory to use

connection interval between 10 to 15ms.

The source code of this project will be found here

 

Checkout the working video demo here and leave your thoughts.

You don't have permission to edit metadata of this video.
Edit media
x
image
Upload Preview
image

 

Conclusion:

It's kind of an experiment I did for music generation through vibration. This can be extended to good prototype design with multiple vibration sensors. Using the efficient software and FFT analyses will take this experiment into the next level for designing music pads.

  • Sign in to reply

Top Comments

  • asokfair
    asokfair over 4 years ago in reply to yosoufe +3
    Yes, I use 5.0 BLE where the data rates is doubled here. Also kept the connection interval minimum to avoid latency. Most of musical equipment's are using same so not really slow.
  • genebren
    genebren over 4 years ago +2
    Pretty cool project. Nice demonstration of the playing surface.
  • asokfair
    asokfair over 4 years ago in reply to navadeepganeshu +2
    My initial plan was like that, change the beats based on vibration but its difficult for user to play. I changes the velocity or tempo of the beats. The sensor is very sensitive if you clap on the air…
Parents
  • navadeepganeshu
    navadeepganeshu over 4 years ago

    This is supercool!

    Well lit idea. Would the sensor be sensitive enough to control beats based on vibration in air due to music/voice if placed close enough?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • navadeepganeshu
    navadeepganeshu over 4 years ago

    This is supercool!

    Well lit idea. Would the sensor be sensitive enough to control beats based on vibration in air due to music/voice if placed close enough?

    • Cancel
    • Vote Up +1 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
  • asokfair
    asokfair over 4 years ago in reply to navadeepganeshu

    My initial plan was like that, change the beats based on vibration but its difficult for user to play. I changes the velocity or tempo of the beats.
    The sensor is very sensitive if you clap on the air (closer to sensor) it can play the beats.

    • Cancel
    • Vote Up +2 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube