Added a readme and created cpp and h files to begin structuring the project.
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
# Concatenator
|
||||
|
||||
A C++ application for generating granular synthesis driven representations of
|
||||
audio files based on audio database analysis.
|
||||
|
||||
This application is under development with the aim 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.
|
||||
|
||||
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.
|
||||
|
||||
Note: This project is currently under development and is not ready for release.
|
||||
This project is based on the pysound project developed to explore concatenative
|
||||
synthesis in Python which can be found here:
|
||||
https://github.com/Pezz89/pysound
|
||||
This project's primary goal at present is to build on the performance of
|
||||
Pysound through the higher efficiency of the C++ language and to address issues
|
||||
with packaging and distribution encountered during the development of that
|
||||
project.
|
||||
@@ -5,7 +5,8 @@ using namespace std;
|
||||
|
||||
ArgumentParser::ArgumentParser() : desc("Allowed options") {
|
||||
// Add positional arguments to specify source, target and output database locations.
|
||||
positionalOptions.add("input_db", 1);
|
||||
positionalOptions.add("source_db", 1);
|
||||
positionalOptions.add("target_db", 1);
|
||||
positionalOptions.add("output_db", 1);
|
||||
|
||||
// Add optional arguments to allow control over application settings from the command line.
|
||||
|
||||
@@ -4,3 +4,8 @@ class AudioFile {
|
||||
public:
|
||||
private:
|
||||
};
|
||||
|
||||
class AnalysedAudioFile : public AudioFile {
|
||||
public:
|
||||
private:
|
||||
};
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
#include <iostream>
|
||||
#include "ArgumentParser.h"
|
||||
#include "AudioDatabase.h"
|
||||
|
||||
using namespace std;
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
|
||||
// Declare the supported options.
|
||||
ArgumentParser argparse = ArgumentParser();
|
||||
argparse.parseargs(argc, argv);
|
||||
cout << "Hello world!" << endl;
|
||||
|
||||
Reference in New Issue
Block a user