def merge_audio()

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'