Files
@ 38a17186ef35
Branch filter:
Location: light9/bin/musicPad - annotation
38a17186ef35
1.4 KiB
text/plain
cp
Ignore-this: 383fb030e56cd6e9f5b3350b3d6f070e
Ignore-this: 383fb030e56cd6e9f5b3350b3d6f070e
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)
|