Skip to content

Instantly share code, notes, and snippets.

View ferrihydrite's full-sized avatar

ferrihydrite

  • Purdue University
View GitHub Profile
@ferrihydrite
ferrihydrite / wavfile.py
Last active May 2, 2019 17:05 — forked from josephernest/wavfile.py
wavfile.py (enhanced)
# wavfile.py (Enhanced)
# Date: 2017/01/11 Joseph Basquin
#
# URL: https://gist.github.com/josephernest/3f22c5ed5dabf1815f16efa8fa53d476
# Source: scipy/io/wavfile.py
#
# Added:
# * read: also returns bitrate, cue markers + cue marker labels (sorted), loops, pitch
# See https://web.archive.org/web/20141226210234/http://www.sonicspot.com/guide/wavefiles.html#labl
# * read: 24 bit & 32 bit IEEE files support (inspired from wavio_weckesser.py from Warren Weckesser)
@ferrihydrite
ferrihydrite / morphagene_audacity_old.py
Last active December 13, 2023 13:07
morphagene_audacity
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Used to convert Audacity labels in .txt form on .WAV files into
single 32-bit float .WAV with CUE markers within the file, directly
compatible with the Make Noise Morphagene.
Does not require input file to be 48000Hz, only that the Audacity label matches
the .WAV file that generated it, and that the input .WAV is stereo.
See the Morphagene manual for naming conventions of output files:
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 25 21:15:52 2018
@author: ferri
updated version of mor.py with wavio functions
Reads 8, 16 bit wav files, mono or stereo.
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
USAGE:
morphagene_audacity.py -w <inputwavfile> -l <inputlabels> -o <outputfile>'
Used to convert Audacity labels in .txt form on .WAV files into
single 32-bit float .WAV with CUE markers within the file, directly
compatible with the Make Noise Morphagene.
# -*- coding: utf-8 -*-
"""
Read 24 bit WAV files with markers from Logic Pro, extract markers, and resave
file as a 32 bit float file with cue markers, directly compatible with
the Make Noise Morphagene.
Does not require input file to be 48000Hz, only that the .WAV file
has cue markers correct to its sampling rate, and that the input
.WAV is stereo.
Usage:
# -*- coding: utf-8 -*-
"""
Created on Sun Nov 25 21:15:52 2018
@author: ferri
updated version of mor.py with wavio functions
Reads 8, 16 bit wav or aiff files, mono or stereo.
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
"""
Usage:
morphagene_onset.py -w <inputwavfile> -o <outputfile>
Use the Superflux onset detection algorithm with backtracking to generate
splice locations.
Use these splice locations with a converted WAV (to 32-bit float / 48000Hz)
to make Morphagene reels.
# -*- coding: utf-8 -*-
"""
Created on Fri Jan 4 19:52:52 2019
Read an image, and read rows in a simplified grayscale version of an image to generate a wavetable of specified number of tables and wavelength.
Additionally reverse alternating rows of simplified image to prevent sharp changes in resulting wavetable.
"""
import matplotlib.pyplot as plt
import numpy as np
from scipy.io.wavfile import write
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Usage:
morphagene_onset3.py -w <inputwavfile> -o <outputfile> -s <splicecount>
Use the Superflux onset detection algorithm with backtracking to generate
splice locations.
Use these splice locations with a converted WAV (to 32-bit float / 48000Hz)
to make Morphagene reels.
# -*- coding: utf-8 -*-
"""
USAGE:
morphagene_audacity3.py -w <inputwavfile> -l <inputlabels> -o <outputfile>'
Used to convert Audacity labels in .txt form on .WAV files into
single 32-bit float .WAV with CUE markers within the file, directly
compatible with the Make Noise Morphagene.
Does not require input file to be 48000Hz, only that the Audacity label matches