def waveform(data): req = AudioServerRequest.decode(data) req.validate(WaveformSettings) w = WavFile(req.filePath, req.headerSpec) fp = StringIO(w.header + w.data) # translate colour setting settings = copy.deepcopy(req.settings) try: colour = settings["colour"] except KeyError: pass else: settings.update(WaveformSettings.translateColours(colour)) del settings["colour"] waveformGenerator = WaveformGenerator(**settings) waveform = waveformGenerator(fp) return send_file(StringIO(waveform), mimetype="image/png")
def ogg(data): req = AudioServerRequest.decode(data) req.validate(OggSettings) encoder = OggEncoder() ogg = encoder(req.filePath, req.headerSpec, **req.settings) return send_file(StringIO(ogg), mimetype="audio/ogg")
def mp3(data): req = AudioServerRequest.decode(data) req.validate(MP3Settings) encoder = MP3Encoder() mp3 = encoder(req.filePath, req.headerSpec, **req.settings) return send_file(StringIO(mp3), mimetype="audio/mpeg3")