Files
@ 7a41504ed8fc
Branch filter:
Location: light9/bin/musicPad - annotation
7a41504ed8fc
1.4 KiB
text/plain
3rdparty ipython widget
Ignore-this: 16d2871d631081b92677f2f3760a70d5
Ignore-this: 16d2871d631081b92677f2f3760a70d5
f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f 46d319974176 f5b01841587f 94039df5cdd9 f5b01841587f f5b01841587f f5b01841587f f5b01841587f 58e2e6ca1ff1 f5b01841587f 94039df5cdd9 f5b01841587f f5b01841587f f5b01841587f 94039df5cdd9 f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f f5b01841587f | #!/usr/bin/python
"""
rewrite all the songs with silence at the start and end
"""
import sys, wave, logging, os
sys.path.append(".")
from light9 import showconfig
from light9.namespaces import L9
from light9.ascoltami.playlist import Playlist
logging.basicConfig(level=logging.INFO)
log = logging.getLogger()
introPad = 4
postPad = 9 # 5 + autostop + 4
playlist = Playlist.fromShow(showconfig.getGraph(), showconfig.showUri())
# instead of taking a show uri like it should, i just convert every
# path i find in the graph (hoping that you only loaded statements for
# the current show)
for p in playlist.allSongPaths():
log.info("read %s", p)
inputWave = wave.open(p, 'r')
outputDir = os.path.join(os.path.dirname(p), "pad")
try:
os.makedirs(outputDir)
except OSError:
pass # exists
outputPath = os.path.join(outputDir, os.path.basename(p))
outputWave = wave.open(outputPath, 'w')
outputWave.setparams(inputWave.getparams())
bytesPerSecond = (inputWave.getnchannels() * inputWave.getsampwidth() *
inputWave.getframerate())
outputWave.writeframesraw("\x00" * (bytesPerSecond * introPad))
outputWave.writeframesraw(inputWave.readframes(inputWave.getnframes()))
outputWave.writeframesraw("\x00" * (bytesPerSecond * postPad))
outputWave.close()
log.info("wrote %s", outputPath)
|