def setUp(self): self.mp3_audio_file_meta = CompressedAudioFileMeta( file_name="file.mp3", channels_count=1, sample_rate=44100, file_size_bytes=3094, length_sec=0.5, bit_rate_kbps=128.)
def from_serializable(cls, serialized: Dict[str, Any]): audio_meta_object = CompressedAudioFileMeta.from_serializable(serialized["audio_meta"]) id3_tag_object = Id3Tag.from_serializable(serialized["id3_tag"]) plugin_object = VampyPlugin.from_serializable(serialized["plugin"]) plugin_config_object = VampyPluginParams.from_serializable(serialized["plugin_config"]) serialized.update({"audio_meta": audio_meta_object, "id3_tag": id3_tag_object, "plugin": plugin_object, "plugin_config": plugin_config_object}) return AnalysisRequest(**serialized)
def _read_flac_file_meta(absolute_path, audio_file_size) -> CompressedAudioFileMeta: flac = FLAC(filename=absolute_path) return CompressedAudioFileMeta(file_name=get_file_name(absolute_path), file_size_bytes=audio_file_size, channels_count=flac.info.channels, sample_rate=flac.info.sample_rate, bit_rate_kbps=to_kilo(flac.info.bitrate), length_sec=flac.info.length)
def _read_mp3_file_meta(absolute_path: str, audio_file_size: int) -> CompressedAudioFileMeta: mp3 = MP3(filename=absolute_path) return CompressedAudioFileMeta(file_name=get_file_name(absolute_path), file_size_bytes=audio_file_size, channels_count=mp3.info.channels, sample_rate=mp3.info.sample_rate, bit_rate_kbps=to_kilo(mp3.info.bitrate), length_sec=mp3.info.length)
def setUp(self): self.audio_meta_example = CompressedAudioFileMeta("some_file.mp3", 1024 * 1024 * 2, 1, 44100, 45., 128.) self.id3_tag_example = Id3Tag(artist="Unknown Artist", title="Unknown Title", album="Unknown Album", date=2017, track=1, genre="Unknown Genre") self.example_vampy_plugin = VampyPlugin("vamp-example-plugins", "amplitudefollower", "amplitude", library_file_name="/root/vamp/vamp-example-plugins.so") self.task_id = "fa3b5d8c-b760-49e0-b8b5-7ce0737621d8" self.plugin_config_example = VampyPluginParams(block_size=2048, step_size=512) self.analysis_request_example = AnalysisRequest(self.task_id, self.audio_meta_example, self.id3_tag_example, self.example_vampy_plugin, self.plugin_config_example)
def setUp(self): self.task_id = "0f961f20-b036-5740-b526-013523dd88c7" self.audio_meta_example_1 = CompressedAudioFileMeta( "some_file.mp3", 1024 * 1024 * 2, 1, 44100, 45., 128.) self.audio_meta_example_2 = CompressedAudioFileMeta( "some_file_2.mp3", 1024 * 1024 * 2, 1, 44100, 45., 128.) self.tag_example_1 = Id3Tag(artist="Pink Floyd", title="Have a cigar", album="Wish you were here", date=1975, track=3, genre="Progressive rock") self.tag_example_2 = Id3Tag(artist="Floyd", title="Cigar", album="Wish you were here", date=1981, track=2, genre="Rock") self.plugin_example_1 = VampyPlugin("my_vendor", "my_name", "outputs", "my_file.so") self.plugin_example_2 = VampyPlugin("my_vendor", "my_name_2", "outputs", "my_file_2.so") self.plugin_config_example_1 = VampyPluginParams(block_size=2048, step_size=1024) self.the_request = AnalysisRequest( task_id=self.task_id, audio_meta=self.audio_meta_example_1, id3_tag=self.tag_example_1, plugin=self.plugin_example_1, plugin_config=self.plugin_config_example_1) self.plugin_repo = VampyPluginRepository(self.session_provider) self.audio_repo = AudioFileRepository(self.session_provider) self.audio_tag_repo = AudioTagRepository(self.session_provider) self.plugin_config_repo = PluginConfigRepository(self.session_provider) self.request_repo = RequestRepository(self.session_provider, self.audio_repo, self.audio_tag_repo, self.plugin_repo, self.plugin_config_repo)
def setUp(self): self.audio_meta = CompressedAudioFileMeta("some_name.mp3", 1024, 1, 44100, length_sec=4., bit_rate_kbps=128) self.single_dimensional_feature = array([0.38888031], dtype=float32) self.two_dimensional_feature = array([0.38888031, 0.3144314, 0.46564227, 0.31890243, 0.22512659], dtype=float32) self.three_dimensional_feature = array([[0.38888031, 0.3144314], [0.46564227, 0.31890243], [0.22512659, 0.31890243]], dtype=float32) self.constant_step_2d_feature = VampyConstantStepFeature("", time_step=0.1, matrix=self.two_dimensional_feature) self.constant_step_3d_feature = VampyConstantStepFeature("", time_step=0.1, matrix=self.three_dimensional_feature) self.variable_step_single_value_feature = VampyVariableStepFeature("", [StepFeature(timestamp=0.0, values=array([519.51]))]) self.constant_step_single_value_feature = VampyConstantStepFeature("", time_step=0.1, matrix=self.single_dimensional_feature)
class Mp3AudioFileMetaTest(unittest.TestCase): def setUp(self): self.mp3_audio_file_meta = CompressedAudioFileMeta( file_name="file.mp3", channels_count=1, sample_rate=44100, file_size_bytes=3094, length_sec=0.5, bit_rate_kbps=128.) def test_should_serialize_and_deserialize_audio_meta_file(self): audio_file_meta_serialized = self.mp3_audio_file_meta.to_serializable() new_audio_file_meta = CompressedAudioFileMeta.from_serializable( audio_file_meta_serialized) assert_that(new_audio_file_meta).is_equal_to(self.mp3_audio_file_meta) def test_should_store_as_json(self): audio_file_meta_serialized = self.mp3_audio_file_meta.to_serializable() dumps = json.dumps(audio_file_meta_serialized) assert_that(dumps).is_not_none() audio_file_meta_serialized_2 = json.loads(dumps) assert_that(audio_file_meta_serialized).is_equal_to( audio_file_meta_serialized_2)
def setUp(self): self.audio_meta_example_1 = CompressedAudioFileMeta( "some_file.mp3", 1024 * 1024 * 2, 1, 44100, 45., 128.) self.audio_repository = AudioFileRepository(self.session_provider)
def test_should_serialize_and_deserialize_audio_meta_file(self): audio_file_meta_serialized = self.mp3_audio_file_meta.to_serializable() new_audio_file_meta = CompressedAudioFileMeta.from_serializable( audio_file_meta_serialized) assert_that(new_audio_file_meta).is_equal_to(self.mp3_audio_file_meta)
def _map_to_object(self, entity: AudioFile) -> CompressedAudioFileMeta: return CompressedAudioFileMeta(entity.file_name, entity.size_bytes, entity.channels_count, entity.sample_rate, entity.length_sec, entity.bit_rate)