RECENT POSTS

  • Cats and Dogs for Audio: End-to-end Classification of Barks and Meows

    There exist nice tutorials about learning CNNs (convolutional neural networks) out there that show how to solve simple tasks such as classification of handwritten digits or classification of cats and dogs.

    Compared to the abundance of blog posts about cats and dogs classification, even a single blog post about its audio counterpart is difficult to find - not to mention that there are hardly any tutorials about deep learning applied to simple introductory tasks regarding audio.

    So I had a go on a rather simple task of classifying dog sounds and cat sounds - namely, the barks and meows classification - and tried to understand and hear how it classifies barking versus meowing with a bit of auralization techniques.

  • JDCNet for Singing Voice Melody Detection and Classification

    Singing voice melody transcription is one of the difficult tasks in music information retrieval. In order to extract vocal melody lines from a song, one must detect whether there is a voice singing and identify the pitch of the sung melody. Although fairly easy for a human being, this task is difficult to reproduce using computer programs and algorithms. JDCNet is a neural network model that tries to accomplish both tasks at once.

  • CycleGAN Deception

    Recently, while trying to reproduce CycleGAN training, I was looking at a rather peculiar phenomenon where each of the CycleGAN generators failed to transform the styles of a real images but perfectly recovered images that have been generated by the other generators. It was a symptom of information hiding, where each generators put secret codes into the generated images so that the other generator is able to use that information to perfectly recover the generated image, thereby greatly reducing the cycle-consistency loss. The information is not visible to in the eye, so for a long time I was wondering why the training failed.

  • Machine Learning with Haskell - EM Algorithm and State Monads

    Several months into teaching myself Haskell, I do now genuinely think Haskell is HOT. As an all-time Python lover, at first, I found Haskell codes mostly incomprehensible. However, I finally kind of grasp the dark magic of monads.

  • Functional Machine Learning - Training MNIST with simple Naive Bayes Classifier in Scala

    Few months into functional programming by learning Haskell, I’ve made a capitalist choice to learn scala. It didn’t seem to me that scala isn’t as beautiful and elegant as was told by my college professor, but with love of functional programming, I’ve tried to implement a simple Naive Bayes Classifier, which I’ve also studied a while ago.

  • Audio Visualization Projects - CTP431

    Web Audio Visualization Projects