Source code for draugr.writers.mixins.spectrogram_writer_mixin
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from abc import ABC, abstractmethod
from typing import Mapping, Sequence
__author__ = "Christian Heider Nielsen"
__doc__ = r"""
Created on 09/10/2019
"""
__all__ = ["SpectrogramWriterMixin"]
[docs]class SpectrogramWriterMixin(ABC):
"""
Writer mixin that provides an interface for 'writing' spectrogram charts"""
[docs] @abstractmethod
def spectrogram(
self,
tag: str,
values: list,
sample_rate: int,
step: int,
num_fft: int = 512,
x_labels: Sequence = None,
y_label: str = "Magnitude",
x_label: str = "Sequence",
plot_kws: Mapping = None, # Separate as parameters name collisions might occur
**kwargs
) -> None:
"""
:param values:
:param sample_rate:
:param num_fft:
:param x_labels:
:param y_label:
:param x_label:
:param plot_kws:
:param tag:
:type tag:
:param step:
:type step:
:param kwargs:
:type kwargs:"""
raise NotImplementedError
'''
@abstractmethod
def mfcc_spectrogram(self,
tag: str,
values: list,
sample_rate:int,
step: int,
num_fft:int=512,
x_labels: Sequence = None,
y_label: str = "Magnitude",
x_label: str = "Sequence",
plot_kws: Mapping = {}, # Separate as parameters name collisions might occur
**kwargs) -> None:
"""
:param tag:
:type tag:
:param data:
:type data:
:param step:
:type step:
:param dataformats:
:type dataformats:
:param kwargs:
:type kwargs:
"""
raise NotImplementedError
'''