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
|
||||
|
||||
## Contributors
|
||||
Will add member names shortly
|
||||
|
||||
## Function Prototypes
|
||||
|
||||
function x = generate_wave(amplitude, frequency, phase, fs, duration, duty)
|
||||
|
||||
fuction x = envelope(input, fs, period, attack , decay, sustain, release)
|
||||
Templates to create your own functions.
|
||||
|
||||
### Wave generating function
|
||||
```
|
||||
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
|
||||
sustain is the percentage of the amplitude it should sustain for
|
||||
**envelope can be pitch or amplitude envelope**
|
||||
|
||||
|
||||
### Filter function
|
||||
```
|
||||
function output_timedomain = Filter(input_soundin_timedomain, Fs, LOW, MED, HIGH)
|
||||
```
|
||||
where LOW, MED, HIGH are user-selected variables of any value.
|
||||
**output should be in time domain for all functions (new sound)**
|
||||
|
||||
|
Reference in New Issue
Block a user