def test_recording_mbid_metadata(): # get the recording metadata audio_metadata = AudioMetadata(get_work_attributes=True, print_warnings=True) mbid = '5cbd1b2d-d1ef-4627-a4d4-135a95de2b69' mbid_meta = audio_metadata.from_musicbrainz(mbid) # load the metadata computed earlier saved_meta = _get_saved_meta(mbid + '.json') assert mbid_meta == saved_meta, 'test_recording_mbid_metadata failed'
def test_audio_metadata(): # get the recording metadata audio_metadata = AudioMetadata(get_work_attributes=True, print_warnings=True) mp3file = os.path.join(_curr_folder, '..', '..', 'sampledata', 'huzzam_fasil.mp3') audio_meta = audio_metadata.from_musicbrainz(mp3file) # load the metadata computed earlier saved_meta = _get_saved_meta('audio_meta.json') # remove paths since they are both relative to something else audio_meta.pop("path", None) saved_meta.pop("path", None) assert audio_meta == saved_meta, 'test_audio_metadata failed'
def get_meter_from_rec(recording_ID): ''' automatically extract the meter from the metadata of the recording by ID (MusicBrainzID) ''' # otherwise for makam from makammusicbrainz.audiometadata import AudioMetadata audioMetadata = AudioMetadata(get_work_attributes=True, print_warnings=True) audio_meta = audioMetadata.from_musicbrainz(recording_ID) try: usul_type = audio_meta['usul'][0]['attribute_key'] except: if recording_ID == '7aec9833-6482-4917-87bd-e60c7c1dae3c': usul_type = 'kapali_curcuna' else: sys.exit('no usul type can be automatically fetched') return usul_type
def __init__(self, get_recording_rels=False): self._audioMetadata = AudioMetadata( get_work_attributes=False, print_warnings=False) self._workMetadata = WorkMetadata( get_recording_rels=get_recording_rels, print_warnings=False)