Sitemap

A list of all the posts and pages found on the site. For you robots out there is an XML version available for digesting as well.

Pages

Posts

Compiling packages from source on Heroku using buildpacks

3 minute read

Published:

(Warning: whilst I work for Heroku, this isn’t official supported - it’s just something I discovered in my spare time. Hopefully this helps someone but leave me any feedback on Twitter @xavriley)

Using OpenVPN from a Heroku dyno

1 minute read

Published:

(Warning: whilst I work for Heroku, this isn’t official supported - it’s just something I discovered in my spare time. Hopefully this helps someone but leave me any feedback on Twitter @xavriley)

10,000 hours - as told by jazz musicians

4 minute read

Published:

In a 1993 paper by Anders Ericsson, he was one of the first to make the claim that mastery of a skill took around 10 years (about 10,000 hours) of deliberate practice.

Writing a C extension for Ruby in 2016

10 minute read

Published:

Now that Ruby has crested the hype cycle, settled down and taken out a mortgage, you’d expect the posts around the community to be more about big business concerns. Whilst that might be true, I’d like to row against the tide by telling you about the fun I had figuring out how to write my first C extension - fast_osc - and how I made Sonic Pi 10x faster in the process.

Neutron Accelerators and Drum Machines with Sonic Pi

8 minute read

Published:

Working with Sonic Pi one of the exciting things about being able to code music is the potential for using algorithms. For the non-technical reader, I like to think of algorithms like following a recipe. You might start with the same ingredients but the order in which you do things can affect to outcome.

Getting data from PDFs with JRuby

2 minute read

Published:

There are many solutions for getting data from pdfs. I’m going to describe how to use the excellent Java library PDFTextStream by Chas Emerick (of Clojure fame) to get data out of tricky pdfs.

portfolio

publications

CREPE Notes: A new method for segmenting pitch contours into discrete notes

Published in SMC, 2023

Building on CREPE, a state-of-the-art monophonic pitch tracking solution based on a simple neural network, we propose a simple and effective method for post-processing CREPE’s output to achieve monophonic note segmentation.

Recommended citation: Riley, Xavier and Simon Dixon (2023). "CREPE Notes: A new method for segmenting pitch contours into discrete notes" Proceedings of the 20th Sound and Music Computing Conference. Stockholm, Sweden pp. 1–5. https://arxiv.org/pdf/2311.08884

Reconstructing the Charlie Parker Omnibook using an audio-to-score automatic transcription pipeline

Published in Sound and Music Computing Conference 2024, 2024

We propose a new transcription pipeline to reconstruct the Charlie Parker Omnibook directly from audio, including a source separation model for saxophone, a MIDI transcription model for solo saxophone, and an adaptation of an existing MIDI-to-score method. We also provide an enhanced dataset of Charlie Parker transcriptions as score-audio pairs with accurate MIDI alignments and downbeat annotations.

Recommended citation: Riley, Xavier, and Simon Dixon (2024). "Reconstructing the Charlie Parker Omnibook using an audio-to-score automatic transcription pipeline" Proceedings of the Sound and Music Computing Conference 2024 https://arxiv.org/abs/2405.16687

MIDI-to-Tab: Guitar Tablature Inference via Masked Language Modeling

Published in ISMIR, 2024

We introduce a novel deep learning solution to symbolic guitar tablature estimation using an encoder-decoder Transformer model trained in a masked language modeling paradigm. Our model, pre-trained on DadaGP and fine-tuned on professionally transcribed performances, significantly outperforms competing algorithms in a user study assessing tablature playability.

Recommended citation: Edwards, Drew, Xavier Riley, Pedro Sarmento, and Simon Dixon (2024). "MIDI-to-Tab: Guitar Tablature Inference via Masked Language Modeling" Proceedings of the 25th International Society for Music Information Retrieval Conference https://arxiv.org/abs/2408.05024

GAPS: A Large and Diverse Classical Guitar Dataset and Benchmark Transcription Model

Published in ISMIR, 2024

We introduce GAPS (Guitar-Aligned Performance Scores), a new dataset of classical guitar performances, and a benchmark guitar transcription model that achieves state-of-the-art performance on GuitarSet in both supervised and zero-shot settings. GAPS is the largest dataset of real guitar audio, containing 14 hours of freely available audio-score aligned pairs, recorded in diverse conditions by over 200 performers, together with high-resolution note-level MIDI alignments and performance videos.These enable us to train a state-of-the-art model for automatic transcription of solo guitar recordings which can generalise well to real world audio that is unseen during training.

Recommended citation: Riley, Xavier, Zixun Guo, Drew Edwards, and Simon Dixon (2024). "GAPS: A Large and Diverse Classical Guitar Dataset and Bench- mark Transcription Model" Proceedings of the 25th International Society for Music Information Retrieval Conference https://www.eecs.qmul.ac.uk/~simond/pub/2024/RileyEtAl-ISMIR-2024.pdf

talks

Coding Music: As easy as Pi

Published:

Had a speaker slot at the WXG web conference in Guildford. Presented an introduction to programming music with Sonic Pi in which I demo a few of my experiments. The video/audio didn’t come out too well but the talk was well received I think.

Live Coding in the Classroom

Published:

Co-presented talk on Sonic Pi with the lead developer Sam Aaron. I think the original video has been taken down now but my bit is here:

Bath Ruby 2015: Lightning Talk

Published:

Lightning “talk” in which I managed to do no talking! A 5 minute live coded piece starting from scratch, with sampled voices from the other Bath Ruby presenters.