Merge branch 'master' of github.com:Pezz89/pysound

This commit is contained in:
2016-04-14 11:09:57 +01:00
+20 -45
View File
@@ -1,49 +1,24 @@
# SPPySound
# Pysound
SPPySound is a python project that acts as a wrapper to the pysndfile library, adding aditional functionality needed for audio and DSP related projects.
Currently the project is focused on the generation of audio descriptor meta data for sound databases as part of my final year project.
The project is currently in development but aims to generate a range of useful functions for sound manipulation.
The project is designed with flexability in mind so that new functions and features can be added as needed.
To address this the project has a modular nature and currently consists of 3 main classes for the encapsulation of audio files:
A python script for generating granular synthesis driven representations of
audio files based on audio database analysis.
## Main audiofile Module
This script was developed to explore the creative potential of combining
short-time audio analyses with granular synthesis, to synthesize perceptually
related representations of target audio files. Through use of analysed
databases of varying sizes, an output can be generated that represents a mix of
the spectral and temporal features of the original target sound and the corpus
of source sounds.
### AudioFile
To achieve this, a technique known as "concatenative synthesis" is used. This
form of synthesis combines the ability to window and join small segments of
sound to create a new sound (a process known as granular synthesis), with audio
analysis techniques capable of describing a sound in order to differentiate it
from others. By analysing small segments in a target sound for their perceptual
characteristics (such as pitch, timbre and loudness), it is then possible to
compare these segments to a collection of source sounds to find perceptually
similar segments. From this, the most perceptually similar matches can be taken
and joined using granular synthesis techniques in order to achieve the final
result.
This is the base class for creating an audio file object and has methods for simple processed on the audio file.
Functionality such as converting the file to mono and convenience functions for reading and writing grains of audio are included.
### AnalysedAudioFile
Inheriting from the AudioFile class, this encapsulates the audio file and the analyses that can be generated through the seperate audio analysis modules.
This will be used for the processing of analyses of audio files and to group audio files with their analyses.
### AudioDatabase
An audio database is a class used to group AnalysedAudioFiles for batch processing.
This class will be used for comparison methods to compare audiofiles and their meta data.
## Analysis Modules - Under development
### RMSAnalysis
Generates an RMS analysis file.
Currently stored as a plain text file.
Values can be accessed through RMSAnalysis class methods.
### ZeroXAnalysis
Generates a windowed zero-crossing anaysis of the audio file
Currently stored as a plain text file
Values can be accessed through ZeroXAnalysis class methods.
### AttackAnalysis
Generates an estimate for the attack start and end of a monophonic audio file.
Will only work on single event audio files
Estimation algorithm needs improvments.
## Package Installation
Simply run:
pip install .
from the package folder
Alternatively:
pip install -e .
will install the package keeping it's contents in place in the folder so that they can be easily developed and tested.
Full documentation can be found at: http://pezz89.github.io/pysound/index.html