Beispiel #1
0
def demo4(appURL):
	"""
	Generate a wavefrom from a raw PCM file using the
	AudioServerRequest object to call the web server.
	"""

	# define header spec
	headerSpec = HeaderSpec("fmt=pcm,width=16,channels=1,rate=48000")
	
	# create request
	req = AudioServerRequest(filePath=EXAMPLE_PCM_FILE, headerSpec=headerSpec)
	
	# create destination
	destination = os.path.join(OUTPUT_DIR, "demo4.png")
	fp = open(destination, "w")

	# use the retrieve function to call the web server
	AudioServerRequest.retrieve(fp, req.buildURL(appURL, "waveform"))
	
	fp.close()
	print "Waveform image saved at: %s" %destination
Beispiel #2
0
def demo5(appURL):
	"""
	Convert a file to mp3 and validate the request.
	"""

	# define settings (either use create or instantiate)
	settings = MP3Settings(bitRate=96)
	
	# create request
	req = AudioServerRequest(filePath=EXAMPLE_WAV_FILE, settings=settings)
	req.validate(MP3Settings)

	# create destination
	destination = os.path.join(OUTPUT_DIR, "demo5.mp3")
	fp = open(destination, "w")

	# calling the object uses the retrieve function (same as above)
	req(fp, appURL, "mp3")

	fp.close()
	print "MP3 file saved at: %r" %destination
Beispiel #3
0
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")
Beispiel #4
0
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")
Beispiel #5
0
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")