Update README.md
added more concrete template to help people get started
This commit is contained in:
parent
23503ed282
commit
8581cbcf85
46
README.md
46
README.md
@ -2,18 +2,56 @@
|
|||||||
|
|
||||||
Audio synthesizer project created by ECE 45 students, written using the MATLAB language and MATLAB GUI
|
Audio synthesizer project created by ECE 45 students, written using the MATLAB language and MATLAB GUI
|
||||||
|
|
||||||
|
## Contributors
|
||||||
Will add member names shortly
|
Will add member names shortly
|
||||||
|
|
||||||
## Function Prototypes
|
## Function Prototypes
|
||||||
|
Templates to create your own functions.
|
||||||
function x = generate_wave(amplitude, frequency, phase, fs, duration, duty)
|
|
||||||
|
### Wave generating function
|
||||||
fuction x = envelope(input, fs, period, attack , decay, sustain, release)
|
```
|
||||||
|
function x = generate_WAVENAME(amplitude, frequency, phase, fs, duration, duty)
|
||||||
|
% GENERATE_WAVENAME: returns a matrix of sampled WAVENAME wave
|
||||||
|
|
||||||
|
% CONTRIBUTORS:
|
||||||
|
% Person1: how you contributed
|
||||||
|
% Person2: how you contributed
|
||||||
|
% etc
|
||||||
|
|
||||||
|
% DOCUMENTATION:
|
||||||
|
% phase shift is in number of periods
|
||||||
|
% fs is the sampling frequency: how many sample points per second
|
||||||
|
% duration is time in seconds
|
||||||
|
% duty is a number between 0 and 1
|
||||||
|
|
||||||
|
% initialize local variables from input arguments
|
||||||
|
n = fs * duration; % number of samples (length of matrix)
|
||||||
|
dt = 1 / fs; % sampling period: time between two sample points
|
||||||
|
|
||||||
|
% initialize a one dimensional zero matrix to be populated
|
||||||
|
x = zeros(1, n);
|
||||||
|
|
||||||
|
% populate the matrix
|
||||||
|
for i = 1:n
|
||||||
|
YOUR CODE HERE
|
||||||
|
end
|
||||||
|
end
|
||||||
|
```
|
||||||
|
NOTE: duty does not apply to some functions (such as sinusoids)
|
||||||
|
|
||||||
|
### Envelope function
|
||||||
|
```
|
||||||
|
function x = envelope(input, fs, period, attack , decay, sustain, release)
|
||||||
|
```
|
||||||
where attack, decay, release are percentages between 0 to 1 of the period
|
where attack, decay, release are percentages between 0 to 1 of the period
|
||||||
sustain is the percentage of the amplitude it should sustain for
|
sustain is the percentage of the amplitude it should sustain for
|
||||||
**envelope can be pitch or amplitude envelope**
|
**envelope can be pitch or amplitude envelope**
|
||||||
|
|
||||||
|
|
||||||
|
### Filter function
|
||||||
|
```
|
||||||
function output_timedomain = Filter(input_soundin_timedomain, Fs, LOW, MED, HIGH)
|
function output_timedomain = Filter(input_soundin_timedomain, Fs, LOW, MED, HIGH)
|
||||||
|
```
|
||||||
where LOW, MED, HIGH are user-selected variables of any value.
|
where LOW, MED, HIGH are user-selected variables of any value.
|
||||||
**output should be in time domain for all functions (new sound)**
|
**output should be in time domain for all functions (new sound)**
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user