Update README.md

added more concrete template to help people get started
This commit is contained in:
bliou000 2021-12-03 20:27:38 -08:00 committed by GitHub
parent 23503ed282
commit 8581cbcf85
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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)**