Giter VIP home page Giter VIP logo

plap's Introduction

plap's People

Contributors

eryk-urbanski avatar

Stargazers

 avatar  avatar

Watchers

 avatar

plap's Issues

Basic Time-Domain Features Extraction

Creation of pipelines for different basic time domain features extraction. Possible parameterizations to implement:

  • Amplitude Envelope (AE)
  • Root Mean Square (RMS)
  • Zero-crossing Rate (ZCR)
  • Temporal Centroid (TC)

Steps:

  1. Function for simple preprocessing using plap (read audio, framing, windowing)
  2. Functions for calculating features (they should return the result)

In the next iteration the created functions will be rewritten in a way so they can be integrated with the existing plap code.

Guidelines:
Obviously these calculations mustn't use external libraries like Librosa. Only scipy and numpy can be used. Try prompting gpt4 for 'how to calculate feature name using an algorithm having already passed the input signal through block processing (framing) with overlapping and windowing' or something similar - experiment with prompts, because gpt may be helpful.
The results should be validated -> unit tests have to be written.

SPRINT 20.05

Zadanie kod - Eryk

  • klasa Parameterizer

Zadanie prezka - Natalia

Zadanie

MFCC Extraction Pipeline

The MFCC extraction pipeline aims to develop a method for extractic Mel-Frequency Cepstral Coefficients from audio signals. It should be implemented as a modular component allowing easy integration of other cepstral features in the future. Unit tests should be conducted. Validation of output data should be conducted as a comparison with values obtained using existing solutions (a module for obtaining those values is connected with another Issue).

Preprocessing SPRINT 16.04

Zadania kod - Eryk

Zadania research - Natalia + Antek

  • Jak zazwyczaj wygląda feature vector?
    Zadajcie chatowi pytania (najlepiej po angielsku):
    • Jak wygląda feature vector w systemach ASR (Automatic Speech Recognition), systemach Music Genre Classification, itd.
    • Jak wygląda przekazywanie wartości wynikających z procesu nazywanego audio feature extraction do kolejnego bloku w systemach ASR...
      Czyli ogólnie praktycznie takie samo pytanie, ale inaczej sformułowane, żeby jak najwięcej różnych odpowiedzi wyciągnąć od chata. Zmieniajcie nazwy systemów, może być jeszcze np. Acoustic Scene Classification, Emotion in Speech Recognition. Jak dodacie, że te systemy mają być konkretnie w Pythonie zrobione, to spodziewam się odpowiedzi w stylu po prostu pythonowa lista z otrzymanymi wartościami, itd. Możecie też jeszcze jedno pytanie ułożyć, że macie teoretyczny zapis na temat doboru parametryzacji i chcecie to przenieść na kod w Pythonie i wtedy zobaczyć co wypluje. W załączniku zamieszczam jakiś papier autorstwa naszego opiekuna - skopiujcie treść rozdziału 3.2 (Parameter selection) - to jest ten 'teoretyczny zapis'.
      ranking-speech-features-for-their-usage-in-singing-emotion-classification_50094.pdf

Zadania dokumentacja - Michał

  • Schemat blokowy
    Część z preprocessingiem jako pierwsza, bo idzie do dokumentacji etapu, więc wyeksportować jako obraz i wstawić do template'u. Całość z kolei pójdzie do dokumentacji technicznej całego projektu, ale templatem do tego się zajmę kiedy indziej, więc pełny schemat blokowy na razie zachować w modyfikowalnej formie w canvie/lucidcharcie (preferowałbym canvę, jakoś wydaje mi się, że ma więcej możliwości, pomimo bycia bardziej uniwersalnym narzędziem).

MFCC From Existing Libraries

Creation of a module that allows the calculation of Mel-Frequency Cepstral Coefficients using existing open-source libraries. The libraries to use in order of importance: Librosa, Spafe, pyAudioAnalysis. The goal of this module is to allow our own implementation's results to be compared with values obtained from other libraries. This module should be written in a way so the values from different calculations are easily accessible. For example a function called mfcc_librosa returns a numpy array containing mfcc values. This module will be expanded in the future as we implement more features and so it should be constructed as modular and extendible component,

Steps:

  1. Simple version: audio file loaded using i.e. librosa, mfcc results saved to variables, usage of different libraries for the calculations.
  2. Functional enhancement: seperate function for audio input, seperate functions for mfcc calculations for each used library

Important!
Different libraries may perform mfcc calculation differently. They may take as input only a frame (a part of the whole signal) and some may take the whole signal. These details should be checked and documented in some way (i.e. comments in code), so it is much more clear on how the results should be compared with our own implementation.

LPC From Existing Libraries

Creation of a module that allows the calculation of LPC coefficients using existing open-source libraries. The libraries to use in order of importance: Librosa, Spafe. The goal of this module is to allow our own implementation's results to be compared with values obtained from other libraries. This module should be written in a way so the values from different calculations are easily accessible. For example a function called mfcc_librosa returns a numpy array containing mfcc values. This module will be expanded in the future as we implement more features and so it should be constructed as modular and extendible component,

Steps:

  1. Simple version: audio file loaded using i.e. librosa, lpc results saved to variables, usage of different libraries for the calculations.
  2. Functional enhancement: seperate function for audio input, seperate functions for lpc calculations for each used library

Important!
Different libraries may perform lpc calculation differently. They may take as input only a frame (a part of the whole signal) and some may take the whole signal or even something else. These details should be checked and documented in some way (i.e. comments in code), so it is much more clear on how the results should be compared with our own implementation.

SPRINT 30.04

Zadania kod - Eryk

  • klasa FeatureVector

Zadania prezentacja - Natalia

Zmienić w stosunku do prezki z pierwszego semu:

  1. Założenia i cele
  • punkt 'Współpraca' zamienić na 'intuicyjność w wykorzystywaniu', ale w jednym słowie, które lepiej brzmi XD
  1. Wyróżniające cechy
  • w różnorodności zostawić tylko 'Wiele różnych typów parametryzacji sygnałów audio'
  • w tym po prawej zapisać, że uporządkowana struktura biblioteki pozwala na wygodne rozszerzanie funkcjonalności czy coś takiego i zmienić odpowiednio tego tytuł
  1. Przed Etapami Projektu wstawić slajd, na którym umieścimy schemat blokowy plapa
  2. Etapy Projektu podzielić na dwa slajdy, bo etapów będzie chyba 7 (nazwy na razie wstawić te, co są na spg, ale możliwe, że będę trochę je zmieniał), fajnie w sumie jakby je nazywać na slajdach sprintami, to podczas prezentacji wspomnimy coś o Scrumie, żeby się podlizać komisji
  3. Plan na przyszły semestr zostawić, pozostałe slajdy na razie zatrzymać

Zadania okno Kaisera (extension preprocessingu) - Michał

  • do omówienia na specjalnym spotkaniu

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.