in functions/overlay_audio.py [0:0]
def merge_audio(event):
print(event)
s3r = boto3.resource('s3')
source1 = event['sources'][0]
source2 = event['sources'][1]
print(s3r.Object(
source1['Bucket'],
source1['Key']))
source1_buf = io.BytesIO()
source2_buf = io.BytesIO()
source1 = event['sources'][0]
source2 = event['sources'][1]
s3r.Object(
source1['Bucket'],
source1['Key']
).download_fileobj(source1_buf)
s3r.Object(
source2['Bucket'],
source2['Key']
).download_fileobj(source2_buf)
sound1 = AudioSegment.from_wav(source1_buf)
sound2 = AudioSegment.from_wav(source2_buf)
one_track = sound1.overlay(sound2)
combined_buf = io.BytesIO()
one_track.export(combined_buf, format='wav')
combined_buf.seek(0)
try:
s3r.Object(
event['target']['Bucket'],
event['target']['Key']
).upload_fileobj(combined_buf)
print('Completed merge and upload')
return 'Complete'
except Exception as e:
print(e)
return 'Error'