New Guitar Video – The Pot by Tool

I wasn’t so taken by this song when I first heard it, but I revisited it while warming myself up for the release of Tool’s Fear Innoculum last year, and somehow got really hooked onto it, so much that I ended up learning how to play it. This is the first video I’m posting with my new PRS SE Mark Holcomb Signature Edition electric guitar! I play it in the guitar’s standard tuning – Drop C.

Completed Programming Languages (Part A) on Coursera

Having been curious about Functional Programming for a while now, and tried incorporating features of the paradigm into my own work with Python, I decided to give the first (Part A) of the three-part Programming Languages course module on Coursera. The module is meant to systematically introduce one to various theoretical concepts of programming languages, while having a special focus on Functional Programming. This first course (Part A), which I recently completed with a score of 98%, illustrated said concepts with the help of Standard ML – a Functional-style language.

It was excellently designed course, and also quite challenging. Apart from spending time on introducing the very basics of SML early on, it covered some very interesting concepts such as Pattern Matching, Function Closures, Partials, Currying and Mutual Recurstion. The programming assignments really made sure you understood what was covered in the course material, and the course-handouts were thorough and clear. There was also a strong focus on the matter of programming style, with the instructor commenting on what he considered good/poor programming style while covering the various concepts. We were marked on the style of our submissions too.

Attending the 20th International Society for Music Information Retrieval Conference (ISMIR 2019)

It’s just been confirmed that four of us from Moodagent – Reinier de Valk, Pierre Lafitte, Tomas Gajarsky and I, will be attending ISMIR 2019 in Delft (The Netherlands). This year, two of my colleagues from Moodagent will be presenting their work at ISMIR:

  1. Reinier will be presenting his paper, titled “JosquIntab: A Dataset for Content-based Computational Analysis of Music in Lute Tablature” in the main conference.
  2. Tomas will be presenting his paper, titled “Reinforcement Learning Recommender System for Modelling Listening Sessions” in the Late-breaking session of the conference.

Do stop by at these posters to learn more about these interesting topics!

Passed Rock School Grade 7 (Electric Guitar) Exam… Unofficially

Two years ago, I successfully passed the RSL Awards Rock School Electric Guitar Grade 6 exam with a distinction. Since late last year, I have been preparing for the Grade 7 exam. As I’m no longer living in the UK, my guitar tutor Nicolas and I decided that I would do a mock exam over Skype that he would assess and give me a score, unofficially. We did this yesterday evening, and I’m very pleased to say that I passed the exam. And as per Nick’s assessment, it was a “strong performance” and I received a score of 88 out of 100 which is just short of a distinction. Of course, this is not an accurate assessment given the constraints we were under but it’s heartening for me to know that I obtained a score that is a certain pass.

I hope to appear for the next, and final Grade (Grade 8) in the Electric Guitar track in the next year or two. And, as in my previous RSL Awards post, here are YouTube videos of the three songs I chose to perform in the exam…

Hello, Moodagent!

It’s been about four months since I wrote here about leaving Jukedeck. So after a nice long break, I’m very pleased to share that I’ll be joining Danish music streaming startup Moodagent on the 17th of July, 2019. While the streaming service itself is new and hasn’t been launched yet, the company Moodagent A/S that owns it has been around for nearly two decades having built several products around their core technology for analysing musical content. You may have even come across their first music app on your Nokia phone back in the day! You can read all about them on Wikipedia, and find out more about the Moodagent streaming service on their website. I hear they’ll be launching it very soon!

I’ll be working in the Machine Learning team of the company as Senior Research Scientist on the design and development of their content organisation and music recommendation systems. I really look forward to the new beginning in Copenhagen and to learning a lot of new things from working on an area that’s still quite new to me. And also travelling around beautiful Europe!

Getting Started with Python Pandas

I finally decided to get myself familiar with pandas while working on a recent side-project related to recommender systems. When I got started with it, I was still stubborn that I could achieve most things I needed to do in relation to data pre-processing with Python modules like tools like glob, json, numpy and scipy. True as that may be, I found myself spending way too much time writing routines to process the data itself and not getting anywhere close to working on the actual project. This was very reminiscent of the time a few years ago when I got immersed in writing code to manually compute gradients for various neural network architectures while getting nowhere in developing a music prediction model before finally deciding to make my life easier with theano! And so, this seemed like the perfect time to get started with learning pandas.

In the past I’ve found that, especially when it comes to learning useful features of new modules in Python, a hands-on and practical approach is much better than reviewing documentation and learning various features of a module without much of an application context, so I started looking around for such tutorial introductions to pandas. In the process I came across two invaluable resources that I thought I’d highlight here in this blog post. These really aren’t much, but gave me a surprisingly thorough (and quick) start to employ pandas in my own project.

Kaggle Learn

Kaggle Learn has a bunch of very well-organised and basic introductory Micro-courses on various Data Science topics from Machine Learning, to Data IO and Visualisation. I get started with the Pandas Micro-course which proved to be the ideal starting point for someone like me that had never used the module previously. This can be followed up with some of the other micro-courses, such as the one on data visualisation or embeddings which help one understand various concepts better through application. In fact, it’s what I’m planning to do as well!

Pandas Exercises on GitHub

So the Pandas Micro-course was a great starting point, but still left me wanting more practice on the topic as I still didn’t feel totally fluent. It was then that I stumbled upon a fantastic compilation of Pandas exercises on GitHub by Guilherme Samora. So I cloned the repository, loaded these exercises up on Jupyter Notebook and got down to solving them one after another! This really did help with getting more fluent with the rich set of tools that Pandas has to offer.

By the time I was done with Guilherme’s exercises (only a couple of days after starting with the Kaggle micro-course), I felt ready to apply my newly acquired pandas skills to my own project, and to discover more about the module through it. There certainly were plenty more resources that a quick Google search returned, but none appealed as much to me at a first glance, as the two I finally went with.

I’m sure I have only scratched the surface when it comes to useful pandas learning resources, and I’m very curious to hear about those that others have found useful, and why, so that I can look them up as well! So do feel free to share them in the comments below.

A New Blog Series on the Music Tech Community – India Website

As some of you might already know, I have been volunteering with a few of my peers in India to promote awareness about Music Technology in the country through the Music Tech Community – India initiative. Upon my suggestion, during the past months we had agreed upon and planned to begin a new blog post series that would contain interviews with individuals engaged with Music Technology in India, or elsewhere but who are from India. We hope that readers of this blog post series will have much to learn from the experiences of these individuals and that this will help them gain valuable insights into the field and inspire them to shape their own careers in the future.

I’m very pleased to announce today that we just published the first post in this series on the website! It is an interview with an active member of the community and a researcher applying Information Retrieval techniques to Indian classical music – Ajay Srinivasamurthy. During the weeks that preceded the publication of the post, we got in touch with Ajay who kindly offered to take part in this initiative. You can read what Ajay had to say during the interview in the blog post.

I believe this is a great start, and I look forward to more of such interesting chats in the future!

Completed Recommender Systems Specialisation on Coursera

Now that I’m no longer working at Jukedeck, I happen to have plenty of free time on my hands! I’ve been spending this time travelling, catching up on my reading list, helping out with activities of the Music Tech Community – India and making music among other things. In an effort to satisfy a long-standing curiosity, I signed up for the Recommender Systems specialisation being offered on Coursera by University of Minnesota, and recently completed it. It comprised of four courses:

  1. Introduction to Recommender Systems: Non-personalised and Content-based (certificate)
  2. Nearest Neighbour Collaborative Filtering (certificate)
  3. Recommender Systems: Evaluation and Metrics (certificate)
  4. Matrix Factorisation and Advanced Techniques (certificate)

It took me about a month to complete all four courses at a fairly liesurely pace given how much time I had at my disposal while not working. This was a very well-taught specialisation with some of the best-designed Courses I’ve done on Coursera so far. It covered a wide range of topics that offered a comprehensive overview of a vast area of research. Solving the assignments by hand was a new, but very engaging experience that really allowed me to focus on what actually happens at a very basic level under-the-hood in such systems. It was all done by implementing the various formulae for content-based filtering, item-item collaborative filtering, user-user collaborative filtering (including matrix factorisation methods) in spreadsheets. There was an Honours Track in each course that focused on implementing the various types of recommender systems and related concepts that I decided not to pursue, as all the programming was in Java. I decided I would follow the courses up with my own implementation projects in Python as that’s something of greater interest to me. So now I’m looking for little projects to get me going.

I would definitely recommend this specialisation to anyone interested in Recommender Systems. It has left me with a very good understanding of the basics and a fair idea of the various directions in which I can pursue things in more detail. Not to mention, a tonne of references to read up on which I look forward to doing along with implementing some of the algorithms in the coming weeks.

Goodbye, Jukedeck!

This is just a quick post to let everyone know that I have decided to leave Jukedeck. It’s been a unique and fascinating journey the past three or so years with a flexible and forward-thinking company, and a stimulating work environment. I couldn’t have asked for a more apt transition into employment after my PhD than the one that led me to Jukedeck and I’m really grateful for all that I have learned here, the people I’ve had the opportunity to work with and everything the company has done for me during this period. This also means that I’m no longer going to be living or working in the UK, and my wife Nina and I have some new and exciting plans for the future that I’m really looking forward to.

There have also been some interesting developments in regards to where I’ll be going and what I’ll be doing next now that my tenure at Jukedeck has come to an end. I’ll post updates here on my blog as and when things take shape in the coming months.

Remote Talk at Event Organised by Music Tech Community – India

I was invited by the Music Tech Community – India (MTC – India) to deliver a talk on the 29th of December, 2018 in Bengaluru. The theme of the event was Machine Learning for Art & Music Generationwhere my work at Jukedeck fit in perfectly alongside that of the other speakers at the event.

I happened to be on a holiday then in beautiful Mararikulam in Kerala around then, but I really didn’t want to miss this opportunity to speak so we decided to make it a remote talk that I delivered via Skype. Thanks to the excellent organisers – Albin Correya, Manaswi Mishra and Siddharth Bharadwaj, the talk went off smoothly and was apparently well-received. Other speakers during the event were Harshit Agarwal, and two of the organisers themselves – Albin Correya and Manaswi Mishra.