Example #1
0
 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.)
Example #2
0
 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)
Example #3
0
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)
Example #4
0
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)
Example #5
0
 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)
Example #8
0
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)
Example #9
0
 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)
Example #10
0
 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)
Example #11
0
 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)