Easily cut out samples from any YouTube video and remix and combine them in completely new audio messages.
Phew! What a contest. Most of the time I was on a throttled 10 kb/s internet connection, with about 12h on a fast one. Yet I was able to complete my best entry for NKO ever. To the true nature of a hackathon, I didn't complete any feature I intended to. But this time, it's very easy to imagine it finished with the social-network aspect. Ladies and gents, I present: Cutalk - YouTube Sampling and Remixing
What is it?
Cutalk lets you take any YouTube Video (< 10 minutes) and easily cut out audio samples from it. Specify a text on a audio sample, so you and other people can find it later. Then you can compose simple text messages and find matching samples from the pool of samples on the fly. That way you can compose completely never heard before audio messages, from multiple videos and multiple samples provided by multiple people. It will be a while before running out of YouTube Videos :).
What is missing?
This was supposed to be the "Twitter for Samples", but I couldn't get around finishing the social-network part. You would have been able to see what messages and samples users have provided, and liked them. Most popular messages would've been displayed on the homepage, etc.
I've been playing around with electronic music for the past months and learned to love the art of sampling: taking some part of a audio, and remix it with other parts and own beats and rhythms. Looting from YouTube videos is part of the game, but the process is a bit annoying. I wanted to explore how that process could be streamlined with web technology, so in the end, ready-to-use samples would be provided.
Wait, why do I have to register/login?
With the current functionality I could've presented the app in a anonymous fashion. But as I've written above, it was intended to have a social aspect. Time ran out... But use any super simple username/password combo, or try to login with test/test.
Download&Convert MP3 work-around
If you try out your own video, there could be the case that downloading the MP3 from a third party API fails. This is because the video has not yet been converted. But don't worry, the solution is presented to you in a simple step-by-step list and only involves three clicks. No samples will be lost.
Kicked this of with my very own Yeoman Grail Generator. Mainly includes Gulp, Browserify and BrowserSync.
The JS framework I used is Vue.js along with the Semantic-UI CSS framework. The YouTube player is controlled via YT's Iframe API. Along with jQuery, Moment.js, Async and HTML5 Audio.
Served with a simple Express.js app connected via Mongoose to a MongoDB. MP3 from YouTube videos are downloaded via Needle from youtubeinmp3.com. Converted from MP3 to OGG via a static build of FFMPEG. Merging samples to a single audio is also done with the great FFMPEG. Async used for any flow control.
Voting is now closed.
Glad you had fun Mike :). Thanks for the vote.
Thanks for your vote Christian!
Thanks for your awesome vote Robin!
The network I use isn't mine and gets turned off every now and then. Been on my throttled phone connection, which is about painful 10 kb/s :)
Haven't looked into blending samples. Thanks for your vote.
Well, now you can test http://foliotek.2015.nodeknockout.com/ :-D
I'll ask my co-worker tomorrow. He's more in the music mixing thingy. (Cannot promise that he'll vote).
Wow, thanks for your awesome vote Aruna! Yeah, it can be a bit slow because there is no debouncing implemented and it's searching with every keystroke.
Yeah, that's what I thought when the contest were in the final hours :). Thanks for your awesome vote Muhammed!
Thanks for your vote Matthew!
Thanks for your vote!
Thanks for your vote Gleb!
Thanks for your vote Gayan!
Thanks for your vote!
Thanks for your vote Wendy!
Thanks for your vote Aimee! Glad you like the idea.
Oh, what a pitty. Could you explain what went wrong? Thanks for your vote anyway!
Thanks for your vote Gordon!