Speakers of minority languages are unable to collaborate due to the limited number of speakers, preventing the spread of ideas and cultures, and marketing to different cultures with data driven decisions can get expensive.
What it does
We built a product that can interpret an audio file using the top charts at any given time to predict the chance that it will become a hit, as well as providing suggestions as to where the song should be marketed more heavily for a higher chance of success, all using machine learning and artificial intelligence. These suggestions are found using distributed computing and are then stored in a blockchain that can be shared between talent network authorities, significantly reducing the load on servers and reducing costs for the company. On top of the suggestions, we allow users to contact each other regardless of the language that they speak. For instance, a user in Mexico could send messages in Spanish to a user in France, and the user in France would have them seamlessly translated into French, increasing the global spread of ideas and cultures and allowing speakers of minority languages to collaborate with a larger community.
However, another major goal was providing music publication companies with the ability to make data driven decisions — not decisions forced upon them by Big Data, but suggestions and automatic scouting, significantly reducing recruiting costs. We believe this will open up a much larger talent community as our application can automatically highlight artists with potential while not completely covering up those that may be incorrectly flagged at a much faster pace than traditional scouting methods.
How we built it
The front end is built on Vue and Bulma with node.js and express.js as a simple routing layer. We then connect to the Corda based blockchain to get entries and push new work to the computing network. We also expose endpoints for our machine learning prediction service with Flask, which is routed to by the Node.js server. File uploads are handled by a separate server built on Node.js. While a majority of the machine learning was completed in Python, a few Java dependencies let gave us the opportunity to interweave the languages for the best of both worlds.
Challenges we ran into
Running all of the services on the same machine proved challenging, especially when we realized our gradle build system for the Corda blockchain required Java 8 while the machine learning dependencies required Java 11. We we're also challenged by the data available to us — while there were many rows available, there was not a lot of historic data available to see how marketing of different songs progressed to eventually become hits.
Accomplishments that we're proud of
We're proud of interweaving many different technologies to build a comprehensive solution to what we see as one of the largest accessibility issues today. We think that every technology used was the best one for the job, and served a specific purpose.
We are also proud of the beautiful user interface that we have.
What we learned
We were introduced to blockchain (and AR before deciding not to use it). We also explored a lot of audio processing libraries and machine learning techniques with audio files, an area heavy in mathematics that went over half the team's heads.
What's next for Working In Concert
We would like to see what other data is available through other public datasets and APIs, and how that might be used to predict successful artists and best marketing strategies. We would also like to use natural language processing techniques to look at different user's social media, specifically how they interact with their fans and how fans generally respond, which we think would be a strong indicator of artist success.