How to listen music from environment (really weird)?
What about our project?
We're working on #IntelMakerMx, with nothing to loose and all to win, so we decide to make a project to listen noises from environment(really, it sounds weird), but we tried to sensor all the possible things of we had in our hands, like air quality sensor, vibration sensor, dust sensor and touch sensor and take all that variables and tried to do some music.
What do i need to made this weird project?
- Intel Edison Board
- Air Quality Sensor V1.3
- Vibration sensor
- Dust sensor
- Touch sensor(Don't waste your time with this since we eventually found it is incompatible with Intel Arduino
- Any sort of sensor would work
- Linux machine(We prefer any distribution based on Debian)
Step 1: Assembly Edison Board
If you're noob in this like us, you will need to this easy step only take the ARM proccessor and plug in the Intel Arduino board, screw the board to place.
Step 2: Flashing Edison Board
Download the image from this unnofficial source Github IoT, then follow instructions for the process of flashing the Edison Board, open a terminal in your Linux Machine:
$tar -xvzf source.image.tar.gz
Go to the extracted folder
Then change ejecution permisions of this file named flashall.sh:
~/source.image$chmod +x flashall.sh
Now here comes the magic(recommendation, if you don't have dfu-util, it's good idea install it via apt-get)
Plug your device to usb
Then plug in your Edison to USB port and wait a little bit for the flash proccess, it will take around 4~6 minutes.
Step 3: Enter to Edison Board for First Time
With root power, type the next sentence:
$apt-get install screen
Then with both cables mini-usb plug-in in your computer (5vcc and serial), type:
$screen /dev/ttyUSB0 115200
Configure wifi and setup a root password to enable SSH
Connect to your SSID, look at in the SSID name list and choose it, if you've password it will request your credentials. And then we enable SSH server
And finally we will do a little hack for Edison:
Step 4: Intel Edison Circuit Assembly
We played around with different sensors but in the end we decided to use only 3 important sensors.
- 3D Accelerometer
- Light Sensor
- Temperature Sensor
But any sensor which outputs numerical values could be used.
The values from these sensores were sent via a Web Socket to a computer running both Super Collider and Processing.
The full code (thus far) can be found here
Step 5: OSC With Supercollider + Processing
- First we need build a port to create communication protocol between the Edison and the PC by bridging the IP location to send messages (Once the LAN is established and then you create a variable to test if they're correctly connected.
- SuperCollider: control the sound with fade time and looper using tdefinition
- Processing: you modifies graphic ugens.