Added a readme and created cpp and h files to begin structuring the project.

This commit is contained in:
2016-06-29 21:37:06 +01:00
parent 928fdfcae8
commit b0978f0ced
8 changed files with 39 additions and 2 deletions
+31
View File
@@ -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.
View File
View File
+2 -1
View File
@@ -5,7 +5,8 @@ using namespace std;
ArgumentParser::ArgumentParser() : desc("Allowed options") { ArgumentParser::ArgumentParser() : desc("Allowed options") {
// Add positional arguments to specify source, target and output database locations. // 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); positionalOptions.add("output_db", 1);
// Add optional arguments to allow control over application settings from the command line. // Add optional arguments to allow control over application settings from the command line.
View File
+5
View File
@@ -4,3 +4,8 @@ class AudioFile {
public: public:
private: private:
}; };
class AnalysedAudioFile : public AudioFile {
public:
private:
};
+1 -1
View File
@@ -1,11 +1,11 @@
#include <iostream> #include <iostream>
#include "ArgumentParser.h" #include "ArgumentParser.h"
#include "AudioDatabase.h"
using namespace std; using namespace std;
int main(int argc, char** argv) { int main(int argc, char** argv) {
// Declare the supported options.
ArgumentParser argparse = ArgumentParser(); ArgumentParser argparse = ArgumentParser();
argparse.parseargs(argc, argv); argparse.parseargs(argc, argv);
cout << "Hello world!" << endl; cout << "Hello world!" << endl;
View File