Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get sample rate of mp3 file using python

I need to play this mp3 file using pygame but I dont know what the sample rate of the file is. I need some way to programaticaly get the sample rate of the audio file so that I can play it at the correct rate cuz if I dont then it just distorts the sound. Thanks for any help

like image 538
sharpchain Avatar asked Dec 14 '22 22:12

sharpchain


2 Answers

Using pydub:

>>> from pydub import AudioSegment
>>> song = AudioSegment.from_mp3("file.mp3")
>>> song.frame_rate
44100

Or use pydub.utils.mediainfo():

>>> from pydub.utils import mediainfo
>>> info = mediainfo("file.mp3")
>>> print(info['sample_rate'])
44100
like image 122
Szabolcs Dombi Avatar answered Dec 16 '22 11:12

Szabolcs Dombi


The pydub answer is pretty good, until you use it with pyinstaller. Here is how to do what you are looking for with mutagen.

# Specifically MP3 file
from mutagen.mp3 import MP3
audio_info = MP3('FILENAME.mp3').info

# Generic audio file
import mutagen
audio_info = mutagen.File('FILENAME.ext').info

print(audio_info.sample_rate)
like image 26
Elijah Avatar answered Dec 16 '22 11:12

Elijah