Made My First Mashup with Python+Earsketch!
(2nd #USvsHate Submission)
I shared my first submission earlier this week. Since then, I got some questions from folx on how to get started in Python and coding. I want to emphasize that all the software downloads and learning are completely free. You can download the Python package here. I used Pycharm as a shell to contain my code better — which is also free to download. There are literally thousands of tutorials on Youtube. I recommend picking a project that you’re passionate about and then diving right in!
For this second #USvsHate submission, I used Earsketch and Python to make this mashup. Earsketch is a free sound production studio that uses coding to edit the music. All sounds and tracks are under the Creative Commons Licenses.
This particular mashup I made speaks to the state of economic precarity we’re all in, mainly due to corporate greed and capitalism. It also combines my love of hip hop, video games, and hustlin’.
The piano intro depicts the foreshadowing and builds the climax of these economies of struggles. The 8-bit video game beat in the middle portrays the sense of urgency and coping mechanisms needed to combat the figurative corporate greed. Ciara’s Set song then chimes with the subtle hip hop bass:
“I hustle ’til I pass out
Treat all my shoe boxes like the bank now.”
The track then loops twice to symbolize the already two economic collapses in my lifetime, especially as a millennial.
Here’s my Earsketch project if y’all wanna mess with it more.
Learn more about Earsketch using Python here.
Special shoutout to Jayson Barr, Margaret Rattanachane, Chloe Pak Drummond, Mariko Cavey, Laura Santos, Emmeline Domingo, and Jamie “James” Carranza for listening to the scratches.
Here’s the Python code I used in Earsketch. As y’all can see, it’s less than 20 lines of code.
DUBSTEP_FILTERCHORD_001# python code
# script_name: hustle.py
# author:mightyminh
# description:
from earsketch import *
init()
setTempo(120)
# How to use fitMedia:
# fitMedia (SOUND_CLIP_HERE, LAYER, start_measure, stop_measure)
for m in range(2):
start = m*15
fitMedia (YG_NEW_HIP_HOP_PIANO_1, 1, 1+start, 4+start)
fitMedia (YG_NEW_HIP_HOP_PIANO_5, 2, 3+start, 5+start)
setEffect(3, VOLUME, GAIN, -7.0)
fitMedia (EIGHT_BIT_VIDEO_GAME_LOOP_001, 3, 5+start, 8+start)
fitMedia (HIPHOP_BASSSUB_001, 5, 9+start, 12+start)
fitMedia (HIPHOP_FUNKBEAT_002, 6, 6+start, 12+start)
fitMedia (CIARA_SET_VOX_HOOK_1, 7, 9+start, 14+start)
fitMedia (YG_NEW_HIP_HOP_PIANO_5, 8, 13+start, 16+start)
fitMedia (Y11_DRUM_SAMPLES_1, 9,16+start,17+start)
finish()