Skip to content

Instantly share code, notes, and snippets.

View xavriley's full-sized avatar

Xavier Riley xavriley

View GitHub Profile
@xavriley
xavriley / autotune_audio_in_python.py
Created October 9, 2024 13:05
Autotune Audio with MAutoPitch using Python and Pedalboard
import pedalboard
from pedalboard.io import AudioFile
# download and install MAutoPitch using https://www.meldaproduction.com/MFreeFxBundle
MAutoPitch = pedalboard.load_plugin(
"/Library/Audio/Plug-Ins/VST3/MeldaProduction/Pitch Shift/MAutoPitch.vst3"
)
MAutoPitch.depth_automatic_tuning = 100 # Only use tuned output
@xavriley
xavriley / README.md
Created December 1, 2023 13:47
How to run chordino on a batch of audio files

How to run chordino on a batch of audio files

Method 1 - sonic annotator

I'm working on a mac here so I'm assuming you have bash/terminal available. If you're on Windows you could try setting up Windows Subsytem for Linux maybe? (WSL)

  • Open a terminal, get the version of sonic-annotator for your OS from here: https://code.soundsoftware.ac.uk/projects/sonic-annotator/files
  • Move the downloaded file to your preferred location and extract it (tar -xvf sonic-annotator-1.6-macos.tar.gz was the command I used)
  • Open a terminal, then cd to the sonic-annotator-1.6-macos folder that just got created in the last step
  • find the name of the chordino plugin like so:
@xavriley
xavriley / add_downbeats_from_syncpoints.py
Created October 27, 2023 14:15
Add downbeats to midi using PrettyMIDI for use in Logic X
import pretty_midi as pm
import json
def get_syncpoint_downbeat_times(syncpoints):
downbeat_times = []
for syncpoint in syncpoints:
if len(syncpoint) == 2 or syncpoint[2] == 0:
downbeat_times.append(syncpoint[1])
return downbeat_times
@xavriley
xavriley / Example output.txt
Last active May 24, 2023 21:16
Chord Parsing CLI example
$ ./chord-parser -c Cmaj7
{
input: {
symbol: 'Cmaj7',
rootNote: 'C',
descriptor: 'maj7',
parsableDescriptor: 'maj7',
modifiers: [ 'add7' ],
notationSystem: 'english'
},
@xavriley
xavriley / README.md
Last active May 23, 2022 17:58
Sennheiser VSM201 Vocoder Emulation in SuperCollider
@xavriley
xavriley / pyin-lf.patch
Created January 17, 2022 09:25
pYin patch for detecting low frequencies
commit 6ed838b60173dc354fcb432e27bccb3a7a1e5769
Author: Xavier Riley <[email protected]>
Date: Mon Jun 28 12:47:19 2021 +0100
Reduce min frequency detectable from 61Hz to 22Hz
diff --git a/LocalCandidatePYIN.cpp b/LocalCandidatePYIN.cpp
index fc69308..4f04fbc 100644
--- a/LocalCandidatePYIN.cpp
+++ b/LocalCandidatePYIN.cpp
@xavriley
xavriley / stella.ly
Last active October 1, 2021 14:34
Example of using LilypondExport to produce MusicXML from Lilypond. See https://music.stackexchange.com/a/115341/77453 for instructions
% LilyBin
\version "2.18.2"
\include "oll-core/package.ily"
\loadPackage lilypond-export
opts.exporter = #exportMusicXML
\score{
@xavriley
xavriley / vim_bela.md
Last active January 27, 2021 14:29
Using vim on Bela
@xavriley
xavriley / vimrc
Last active August 28, 2020 12:15
June 2020 vimrc
" Vim config
" 2020
" see ~/.config/nvim/init.vim for nvim stuff
set shell=/bin/bash
" set shell=$SHELL
"" PLUGIN MANAGEMENT
packadd minpac
call minpac#init()
This is Google's cache of http://www.mcld.co.uk/cymbalsynthesis/. It is a snapshot of the page as it appeared on 4 May 2020 03:03:17 GMT. The current page could have changed in the meantime. Learn more.
Full versionText-only versionView source
Tip: To quickly find your search term on this page, press Ctrl+F or ⌘-F (Mac) and use the find bar.
Cymbal synthesis tutorial
Dan Stowell
This tutorial describes an approach to synthesising decent-sounding cymbals, in a way that is efficient enough for a real-time synthesis system.