This repository has been archived on 2023-12-21. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2021-12-12 22:13:23 -08:00
src Merge pull request #68 from ltcptgeneral/jason-branch-new 2021-12-12 22:13:23 -08:00
.DS_Store Fixed Paths 2021-12-13 09:02:32 +08:00
app.mlapp inplemented add_sine 2021-12-12 21:58:42 -08:00
implemented.csv added unimplemented.csv 2021-12-08 21:03:21 -08:00
LICENSE Initial commit 2021-12-01 15:05:47 -08:00
README.md Update README.md 2021-12-11 12:42:32 -08:00
unimplemented.csv added unimplemented.csv 2021-12-08 21:03:21 -08:00

ECE45-project

Audio synthesizer project created by ECE 45 students, written using the MATLAB language and MATLAB GUI

Contributors

Will add member names shortly

Function Prototypes

Templates to create your own functions. Please commit code in either src/ (the base directopry) or src/NotWorking (please dont commit in any other subfolder).

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)

Useful websites