Merge pull request #71 from ltcptgeneral/darrll27-patch-3

Update README.md
This commit is contained in:
darrll27 2021-12-13 17:20:46 -08:00 committed by GitHub
commit 61240e1661
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -6,23 +6,38 @@
To be Updated
```
Anne Lin: The various pitch envelope functions could be incorporated into apps that have sound warping functionality. This could include apps such as Snapchat or TikTok where they have various filters that can warp ones voice for a certain amount of time.
Anne Lin: I co-authored “DarellAnneLinearPitchEnvelope.m” and “DarellAnnePitchEnvelope.m” with Darell. The pitch envelope ramps up the frequency from 0Hz to the desired frequency over the attack time. The frequency is then ramped down to a sustainable frequency (such as 160Hz). The sustainable frequency is maintained until the release time. At the release time, the frequency decays to 0Hz. “DarellAnnePitchEnvelope.m” uses logarithmic calculations and “DarellAnneLinearPitchEnvelope.m” uses linear calculations.
Anurag Jadhav: “AnuragEnhanceTarget.m” and “AnuragDampenTarget.m” could be helpful for enhancing a specific range or ignoring a range of frequencies. For example, if you were looking to present an animals calls in a recording of a forest, and you knew they were in a certain range, you could use the enhance filter to enhance only that specific range to present the animals calls while still maintaining the forest ambience.
Anurag Jadhav: I authored “AnuragEnhanceTarget.m” and “AnuragDampenTarget.m” which enhance or dampen a range of frequencies around the given frequencies while letting the other frequencies through the filter.
Ben(Han) Zhang: The “generate_sawtooth.m” and “lfo_sawtooth.m” can be called to use as a sawtooth oscillator and modify waves in sawtooth. The sounds created by sawtooth waves are widely used in electro music and sound effects. The sound created through sawtooth wave creation and modulation cannot be recreated through regular music instruments, giving artists a new “instrument”.
Arthur Lu: I wrote the original code for generating the three general periodic functions we used frequently in class (generate_sine.m, generate_square.m, generate_triangle.m). These waves are fundamental to the synthesizer, and can be added together simply to create more complex waves. I also helped organize the github repository and helped integrate most student submissions into the GUI.
Benjamin Liou: Our synthesizer can be used to generate cool sounds for electronic music. For music, frequencies should be within the human range of hearing, which is around 20 Hz to 20 kHz. generate_white.m can be used to generate white noise for creating drum beats and also to help some people go to sleep. add_sine.m is powerful because it allows us to custom build different periodic functions besides square and triangle waves. lfo_sine.m adds vibrato for music but can also be repurposed to modulate signals for broadcasting.
Ben(Han) Zhang: I am the author of “generate_sawtooth.m” and “lfo_sawtooth.m”. The “generate_sawtooth.m” file is to create an input wave for the synthesizer to use and to create more complex waves. The “lfo_sawtooth.m” file is adding an lfo to modulate the parameter of the input wave in the synthesizer to also make the wave more complex and provide an opportunity to create more sounds.
Darell Chua Yun Da: The potential application to the numerous functions that I wrote would be that I could create an automatic music creating machine. This could be useful because one could generate virtually any combination of sounds as long as they have one sample of each instrument they want to use. Changes in frequency and volume can all be customized with a comprehensive synthesizer app.
Benjamin Liou: I refactored and commented on Arthur Lu's generate_sine.m, generate_square.m and generate_sawtooth.m files to make them more understandable and easier for more students to use the code as a template to create their unique wave generating functions. I am also the original author of generate_white.m, add_sine.m, and lfo_sine.m . I also coordinated zoom meetings and worked on the google doc report.
Neelay Joglekar: “lfo_freq_sine.m,” “lfo_freq_saw.m,” and “lfo_freq_square.m” can be used to easily make vibrato and the oscillating sounds often used in electronic music, such as the base wobble.
Daniel Doan: Created the “generate_trapezoid.m” function.
Nicolas Schluep: The “epic_effect_schluep.m”, “muffled_effect_schluep.m”, and “seperate_prevalent_schluep.m” functions can all be used to quickly modify audio. While the “epic_effect_schluep.m” and “muffled_effect_schluep.m” would probably only be used on Instagram or Snapchat filters, the “seperate_prevalent_schluep.m” could legitimately be helpful for listening to only the bassline of a song, for example.
Darell Chua Yun Da: I authored “DarellAmplitudeEnvelope.m”, “DarellbandpassFilter.m”, “Equalizer_Darell.m”, “MIDIDarell.m”, “AmpEnvelopeSelect.m”, “FilterSelect.m”, “LFOSelect.m”, “OffsetSelect.m”, “PitchEnvelopeSelect.m”, and the “Main_test.m”. I co-authored “DarellAnneLinearPitchEnvelope.m” and “DarellAnnePitchEnvelope.m” with Anne. The description for these two functions are under her contributions. I co-authored “SoundGeneratorSelect.m” with Arthur. The “DarellAmplitudeEnvelope.m” creates a linear amplitude envelope. The “DarellbandpassFilter.m” uses fourier transforms to get the series of all signals. “Equalizer_Darell.m” allows for the boosting or cutting of specific frequencies. The “MIDIDarell.m” is a Musical Instrument Digital Interface function that uses Qwerty keys for each sound frequency. The following 6 functions are pass through functions used by the app. The “AmpEnvelopeSelect.m” function is used to determine if the “DarellAmplitudeEnvelope.m” function needs to be applied to the function. The “FilterSelect.m” takes in an input used by the app and applies the desired filter to it. The function then returns the filtered input. The “LFOSelect.m” function takes the input and determines which low frequency oscillation function to apply. It then returns the output after the desired LFO function is applied. The “OffsetSelect.m” function applies either an echo, pitch offset, or no change to the input that is passed in. The “PitchEnvelopeSelect.m” functions determine whether or not to use logarithmic or linear calculations for the pitch envelope. The “SoundGeneratorSelect.m” function determines which signals will be used as the input (sine wave, squarewave, etc.). There is also the option to choose an instrument sound as the signal in this function.
The “Main_test.m” file is used to test files prior to the use in the synthesizer. I also wrote and designed the GUI which was later edited in tandem with Arthur prior to final submission.
Ryan Goh: The “generate_keyboard” function would be useful if the user wants to replicate the sound of a digital keyboard. They would be able to play sound waves that sound like a keyboard and apply any of the other filters onto the sound.
Jason Liang: I authored the “distortion_filter.m” file, which contains a function that takes in an input signal in time domain and some constant called LOW and clips all values in the sound file so that the signal contains frequencies within that specific range (distorted by that constant). It then converts the signal back to the time domain via fft.
Yalu Ouyang: fade_in() and fade_out() functions can be used to create the intro and outro of a video or a piece of audio. The bandreject_filter() function is also massively useful in eliminating from a piece of audio/video the middle-ranged frequencies whilst keeping the lower and higher frequencies intact.
Lance Zhu: I authored “flanger.m” that creates a flanger effect to a signal by combining the original signal with its oscillating-delayed copy.
Meghaj Vadlaputi: Created the Meghaj_Echo.m function that adds an echo to a signal by applying a time shift using the Fourier Transform of a signal and adding it to the original signal.
Mekhi Ellington: Created “generate_cosine.m” to make things faster when working with multiple functions at once. I also added comments to Jason Liang's “distortion_filter.m” and reformatted it to make it look a lot more understandable and easier for use.
Neelay Joglekar: I authored “lfo_freq_sine.m,” “lfo_freq_saw.m,” and “lfo_freq_square.m,” which are LFOs that modulate the pitch of an input signal. Each function modulates the signal according to a different wave type (sine, sawtooth, and square waves, respectively). The amplitude of modulation is defined in octaves. The modulation is performed using octaves to make it sound more natural to the listener, as opposed to modulation using Hz.
Nicolas Schluep: Created the “epic_effect_schluep.m”, “muffled_effect_schluep.m”, and “seperate_prevalent_schluep.m” functions. The “epic_effect_schluep.m” function applies a low-pass filter and various random delays (chorus effect) to the input sound to make it sound more epic. The “muffled_effect_schluep.m” uses a low pass filter and reverb to make it sound like the audio is playing in another room. The “seperate_prevalent_schluep.m” function finds the most prevalent frequency in the input sound and applies a band-pass filter to a specified range around that frequency. This makes it such that only the most prevalent frequencies can be heard in the output (For example, one could use this function to separate the bassline from a song).
Ryan Goh: I authored the “generate_keybaord.m” function which produces a sound wave similar to that of a keyboard or digital piano. The function takes in any frequency, however, using frequencies that are in the range of the middle octave sound most similar to a keyboard. A list of the frequencies of each piano key can be found at the following link. https://en.wikipedia.org/wiki/Piano_key_frequencies
Wesley Hsu: Co-authored the Petha_Hsu_PitchOffset.m file which was a pitch offset function with shifting by harmonics. This function is used primarily, as its name states, to change the pitch of the sound from high to lower frequency. During my time working with Pethaperumal, I was the one who solved a problem regarding changing to a lower pitch using a floor function. We also provided plots of the adjustments in order to visualize the pitch changes.
Yalu Ouyang: I am the original author of fade_in.m, fade_out.m, and bandreject_filter.m files. True to their names, the fade_in() function creates a fade-in audio effect that modifies a given input signal, the fade_out() function creates a fade-out audio effect that that modifies a given input signal, and bandreject_filter() eliminates (attenuates to 0) frequencies of the input signal in a specified range. Ive also edited the README file so that its more descriptive of our project, and added several helpful sites found in the project guidelines file.
```
## Function Prototypes