Install portaudio using homebrew (or method of your choice)
brew install portaudio
create $HOME/.pydistutils.cfg using the include
and lib
directories of your portaudio install:
[build_ext]
#!/usr/bin/env bash | |
set -eo pipefail | |
NODE_VERSION=$(curl --silent --get https://semver.io/node/stable) | |
NODE_BASENAME=node-v${NODE_VERSION}-linux-x64 | |
NODE_ARCHIVE="http://nodejs.org/dist/v${NODE_VERSION}/${NODE_BASENAME}.tar.gz" | |
# make a temp directory | |
tempdir="$( mktemp -t node_XXXX )" | |
rm -rf $tempdir |
from django.db import connection | |
def hs_str(s): | |
s = unicode(s) | |
return s.replace('"', r'\"') | |
def dict_to_hstore(d): | |
hs_data = [u'"{0}" => "{1}"'.format(hs_str(k), hs_str(v)) for (k, v) in data.items()] | |
hs_data = u",".join(hs_data) | |
return "u'{0}'::hstore".format(hs_data) |
Development time: 3 weeks (15 * 8 == 120 hours) | |
Marketing time: 2 weeks (10 * 8 = 80 hours) | |
hourly: $200 (must pay well enough to justify risk) | |
profit target: $40k (200 hrs * $200) | |
revenue target: $60k (40000 / 0.67, Apple's cut) | |
-------- |
#!/bin/bash | |
INFILE="${1}" | |
LFILE=$(SND="$INFILE" python -c "import os; print '{0}.L{1}'.format(*os.path.splitext(os.environ['SND']))") | |
RFILE=$(SND="$INFILE" python -c "import os; print '{0}.R{1}'.format(*os.path.splitext(os.environ['SND']))") | |
echo "Splitting $INFILE into:" | |
echo " LEFT: $LFILE" | |
echo " RIGHT: $RFILE" | |
echo |
function Event() { | |
this.listeners = []; | |
} | |
Event.prototype.subscribe = function(fn) { | |
this.listeners.push(fn); | |
} | |
Event.prototype.unsubscribe = function(fn) { | |
for (var i = 0; i < this.listeners.length; i++) { | |
if (this.listeners[i] === fn) { | |
this.listeners.splice(i, 1); |
Install portaudio using homebrew (or method of your choice)
brew install portaudio
create $HOME/.pydistutils.cfg using the include
and lib
directories of your portaudio install:
[build_ext]
// How to use: | |
// 1. Open "Script Editor" (requires OS X 10.10 Yosemite) | |
// 2. Change the language from "AppleScript" to "JavaScript" | |
// 3. Paste the code below and replace the safari example. | |
// | |
// More info: | |
// https://developer.apple.com/library/mac/releasenotes/InterapplicationCommunication/RN-JavaScriptForAutomation/index.html | |
var sys_events = Application("System Events"); |
Basically, this takes a MIDI input file (I just googled and grabbed one of Maroon 5's "Animal" – I know, I know) and generates a WAV file.
NOTE: This is the slowest midi rendering program I have ever seen!
Dependencies:
from pydub import AudioSegment | |
from pydub.silence import detect_nonsilent | |
seg = AudioSegment.from_file("./ghosts_and_stuff.m4a") | |
# reduce loudness of sounds over 120Hz (focus on bass drum, etc) | |
seg = seg.low_pass_filter(120.0) | |
# we'll call a beat: anything above average loudness | |
beat_loudness = seg.dBFS |