ZL Labs Ltd
  • About
  • Articles
  • Contact

Articles

4. October 2020

Atari Pong

image from Atari Pong

This is a short post to describe my practical introduction to Reinforcement Learning (RL), where I trained a simple agent to play the classic Atari game Pong via a Deep Q-Network.

In English, this means we teach a novice computer to play the classic paddle game by allowing it to observe what happens when it performs various movements at different times and stages of gameplay (against the same, fairly strong opponent). Then, after making a sequence of movement choices, our agent either gets a point (reward of +1) or loses one (reward of -1). After a lot of trial and error, the agent will have observed enough situations to learn what is a good move to make at a given moment in the game.

Read more
28. April 2019

Find Tune

image from Find Tune

The objective of this project is to create a program that listens to a continuous stream of sound and identifies when a particular song - the target track - is playing. This is similar to how home assistants such as Amazon’s ‘Alexa’ function, except they seek out a different sound (their name). Ultimately, this project will be used to replay the detected positive sound to a speaker, serving as a doorbell amplifier.

Read more
15. February 2016

Java Jukebox

image from Java Jukebox

I was curious to see if I could write a music-shuffling program in Java, so that I could listen to tracks stored on an external hard drive. I had digitised an old vinyl collection, most of which can’t be found on YouTube!

The program is simple: it finds all the tracks from a given directory and its subdirectories, and plays them in a random order. If your music is organised into categories or artists, then you can target a particular genre by passing in the appropriate directory as the first argument.

Read more
  • ««
  • «
  • 1
  • 2
  • 3
  • »
  • »»
© ZL Labs Ltd 2025