Came across this brilliant piece of software called spleeter from Deezer which is a music streaming company.
We all are aware of how modern sound studio recording consists of numerous audio sources - vocals, guitars, piano, bass, drums, other percussions, synths. These sources are recorded separately, edited digitally and mixed together to provide a single recording. The production recording has multiple channels, but these channels are only for spatial separation for audio reproduction (Left, Right, Front, Rear etc.). But once the track is "flattened", it becomes very difficult to separate these sources from the track. This separation has many applications - simplest ones that come to mind are generating karaoke tracks for practicing the vocals or piano track for learning how to play it easily etc.
This is where this new piece of software comes into play! On the outset, it looks like a simple python based software, but it is powered by Google's TensorFlow machine learning framework and it leverages pre-trained models for separating 2, 4 or 5 stems (sources). You just give it the original track and a few command line arguments (basically how many sources do you want to identify) and it gets busy and produces its output.
I just used this on a random audio track (well semi-random, because it has to be an A. R. Rahman track 🙂 ). I thought that the software would not work so well on the heavily engineered and processed soundtrack. But I am positively surprised with the results. Check out how the output looks on 2stem , 4step and 5 stem separation!
(If the embedded players below do not work, click here to go directly to the demo)
As you know Google counts your photos, gmail and drive storage as a single bucket now and it is sometimes hard to find where all the big files are. The place to find your current storage is this: https://drive.google.com/settings/storage
Here are some tips to find the big items from each individual service:
Google drive - Visit http://drive.google.com/#quota and it will open all files in your drive nicely sorted in descending order of their size. Delete / Save off the top few items and you are done.
If you (like me) are logged in to multiple google accounts at the same time and it opens a different account when you visit that link, you can just click on the top right link on the page to switch the google account. You can also access that above link from Incognito browser and use the new credentials on that page.
Gmail - In the search bar type: "size:10MB" or "larger_than:10MB" It will find conversations which consume more than 10 MB.
There is an undocumented search operator to search for older email, you can try that to find emails larger than 10 MB and older than 1 year "larger_than:10MB older_than:1y"
Photos - If you upload photos at high quality (not original quality!), they are not counted against your quota. Google photos allows unlimited storage for high quality photos! I will update this post to find current photos which are counted against your storage quota.
It was saddening to know that anti-superstition crusader Narendra Dabholkar was shot dead in Pune yesterday. Dr. Dabholkar had worked tirelessly in fighting against superstition. He founded the Maharashtra Andhashraddha Nirmoolan Samiti, wrote several books, had given countless talks against these practices and worked really hard in tabling anti-superstition and black magic bill in Maharashtra Assembly.
Here are some videos of Dr. Dabholkar to give a glimpse into his personality and work:
However much charity work Bill Gates is doing through his foundation, he is out of line when he chides Google for their charity choices. This is what he says about Google's Project Loon:
Why doesn't amazon allow me to add a donation to some charity when the items that I want to buy qualifies for "Free super saver shipping", but do not quite add up to $25. It makes me search for some other junk item that I don't want just to qualify for free shipping.
The book begins with history of HTML specification starting from conversations on www-talk mailing lists to formation of W3C and to WHAT Working Group. Then it moves on to Feature Detection, high level view of new features - canvas, video, Storage, Web Workers, Geolocation. The next chapter is a dive into details of the Document elements, new semantic elements. The next few chapters cover in detail each of the new features - Canvas, Video & Audio, Geolocation, Local Storage, Offline applications, Form semantics, Microdata. Each of these later chapters can be read stand-alone without depending on others.
There are some open source projects mentioned in the book - Modernizr for HTML5 feature detection, geo.js for smoothing out differences over gelolocation APIs. These pointers should be of great value to developers.
The book website is itself a great study in HTML5 with its very detailed attention to live examples, typography. Great work by Mark once again and kudos to O'Reilly for allowing full version (which is in fact more up-to-date than the printed book) online and also for selling the ebook in DRM free formats!
Disclaimer: I am writing this post as a part of Blogger Review program. I am not being paid to write this review. But I received the ebook free for doing this.
I use Google Finance to track stock/fund portfolios. Many of these portfolios track some investment policies and I enter the actual trades in there too. But the portfolios keep showing the old (i.e. closed) positions in the table making it look cluttered. I checked on their product blog/forum and this seems to be requestedbysome people (and ignored). Here is a small bookmarklet which will do this. You will need to drag the link to your bookmarks bar (Tested only with google chrome). Next, when you are on the google portfolio page, just click on the bookmark and it will hide all the closed positions! Woohoo!
Just finished reading a book by one of my favorite personal finance authors: William Bernstein. It appears that with every book he writes, he is making them easier to read and addressed to broader audience. In this book, he uses the recent financial "meltdown" as a "teachable moment".
Chapter 1 - A Brief History of Financial Time
Throughout history, there have always been providers and consumers of capital; today it is no different.
Also throughout history, that capital has taken two basic forms: loans (including bonds) and equity (partnership or stock). The latter has a lower legal standing than the former, and it is thus riskier and necessitates a higher long-term return to attract investors.
During times of great social, political, and military turbulence, the prices of both stocks and bonds usually decline precipitously. Most often, this sets the stage for high future returns. Less frequently, however, the losses can be permanent and even total. Financial history demonstrates vividly the fact that just because this has not happened in the U.S. stock and bond markets yet is no guarantee that it might not occur in the future.
Chapter 2 - The Nature of the Beast
(To be completed)
Derek Sivers has a great page on this book. Refer to it for more details. I recommend this book to any investor.
I had this frustrating experience before on my android phone (HTC MyTouch 3G). This usually happens after powering on the phone after some time, it does not respond to the physical keys like "Send", "back", "home", "menu". The keyboard lock pattern is gone and you just cannot seem to lock the phone and you need to use the dialer application to make a call! The last time this happened, the factory reset fixed it. But it's a pain trying to reinstall all of your apps and settings back on the phone. So this time I was determined to fix this somehow.
I called the customer service and convinced them to ship me a new phone. Which is nice, but I will still need to reinstall all the apps again. I just searched the forums to see if there is a solution and it seems there is! Unfortunately, many people still seem to have the issue, so this hopefully helps someone.
Basically you need to fool your phone to run the setup wizard that is automatically run when you get your phone. Somehow this kicks out the bug that disables these buttons! But there is no way you can find that wizard (maybe it is possible to launch it somehow from the filesystem, but I don't know how to do that). But this is a way to do that:
Go to android market and search for the application Anycut and install it. (This application allows you add a shortcut to any activity on the home screen, so it is good to have it anyway.) (Or scan this QR code:
On the home screen, long press and add "Shortcuts" to add to home screen. Choose Anycut from the list.
Choose Activity and scroll through the long list of activities.
Select "Setup Wizard". I had three of them in the list, third one worked for me. (Thanks Mr. Murphy). You might want to try all of them. (First one is for enabling Google Location, second for "Backing up settings to google account and third for Initial Setup)
It will prompt you to edit the name of the shortcut, you can just accept the default and select it from the home screen and complete through all the screens (use the same google account as you are using).
Your keys should now be magically working!
The problem might be happening because of some hardware issues (bad internal flash?), but its good to know that it's possible to fix it without factory reset.
I have been thinking about adding more "social" features to my song lyrics website. Have been looking at google friendconnect for some time and had added their initial friend-wall module. But that did not quite integrate well into the website. There is an appeal to having people using whatever identity they have (google, yahoo, aol, openID), and use it to collaborate on other websites. The recommendations module works great on such listing websites. However I did not want to club all the recommendations into a single pool, instead I wanted to keep the recommendations for songs, movies and people separate from each other. The example code does not make this clear. This post just clarifies how to do that.
Step 2: In the generated code, change the view-params parameter for the google.friendconnect.container.renderOpenSocialGadget function to use a unique docId for each of your container. Use the same string in the aggregation gadget code and the recommendation button code.
This is just a quick tip - I use mp3 players mostly for listening to audio books. So when I rip the CDs, I take extra care to create properly named files. But recently I found out that the new mp3 player I got (Great product BTW to listen to mp3 files in your car FM radio; how can they pack so many features at such a low price?) was mangling the file sequence.
On investigation, I found that DOS sorts file names by creation date/time by default. To fix this problem, all you need to do is cut and paste all the files to a different directory. This probably resets the creation time to current time and the files are then sorted by the filename.