-
Notifications
You must be signed in to change notification settings - Fork 6
Open
Labels
enhancementNew feature or requestNew feature or request
Description
The purpose of this module is to create filter functions to modify input sound waves for greater flexibility in the audio that is produced from user input.
Currently some basic filter functions that are implemented include apply_filter, get_notes, change_volume, stretch_audio, change_pitch, and add_chords.
apply_filter: This is the base function where we call other filter functions for each note.get_notes: This gets all the note slices from an input signal using note onset detection method. Future improvements include cleaning up visual plots (perhaps adding an optional argument for displaying graphs).change_volume: This changes the amplitude of audio samples. Future improvements include cleaning up clipping of audio waves and creating a more efficient/enhanced implementation.stretch_audio: This changes the duration of audio samples. Future improvements could include more robust time stretching and pitch scaling methods, such as implementing a phase vocoder. These slides give a high-level overview of the problem.change_pitch: This changes the pitch of audio samples. Makes use ofstretch_audio.add_chords: This adds notes to audio samples to create chords. Future improvements include adding a variety of chords.overlap_notes: The idea of this function is to overlap notes by a factor. This needs to be freshly implemented.
Basic tests for most of these functions have been implemented in tests.py. There needs to be more comprehensive tests created.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request