audio.py 583 B

1234567891011121314151617181920212223
  1. # -*- coding: utf-8 -*-
  2. from io import BytesIO
  3. from pydub import AudioSegment
  4. __all__ = ["mp3ToWav", "wavToMp3"]
  5. def mp3ToWav(mp3Bytes: bytes) -> bytes:
  6. mp3Data = BytesIO(mp3Bytes)
  7. audio = AudioSegment.from_mp3(mp3Data)
  8. wavData = BytesIO()
  9. audio.export(wavData, format="wav")
  10. wavBytes = wavData.getvalue()
  11. return wavBytes
  12. def wavToMp3(wavBytes: bytes) -> bytes:
  13. wavData = BytesIO(wavBytes)
  14. audio = AudioSegment.from_wav(wavData)
  15. mp3Data = BytesIO()
  16. audio.export(mp3Data, format="mp3")
  17. mp3Bytes = mp3Data.getvalue()
  18. return mp3Bytes