-
Notifications
You must be signed in to change notification settings - Fork 0
GSOC Ideas 2019
This page is being used to collect ideas and proposals for GSOC 2019 projects.
Each idea should look like:
- Description
-
What is the problem that motivates the project? What does it roughly involve doing?
- Expected outcome
-
What should the student be expected to deliver at the end of the summer?
- Skills preferred
-
What technologies does an individual need some experience in to accomplish this particular project?
- Possible mentors
-
Who within the zynaddsubfx organization could help guide the student?
- Difficulty
-
How challenging will it be to finish the deliverable in the time available to the student?
- Type
-
What category would you place this project in?
- Description
-
When modulating an audio signal higher frequency harmonics are typically produced. These higher frequency harmonics become undesirable if they exceed the nyqust frequency, creating aliasing. It is possible to avoid aliasing by processing the modulation at a higher sampling rate (oversampling), removing high frequency components, and downsampling. The addition of oversampling would greatly improve the quality of existing modulation options. The GSOC student would implement oversampling with the additive synthesis engine, adjust the input frequencies being streamed into the oversampled section of code, and provide user control to the level of oversampling.
- Expected outcome
-
Basic user configurable 1x, 2x, and 4x oversampling should be available for Zyn’s Add Synth.
- Skills preferred
-
embedded C/C++ preferred, math background with very basic exposure to signal processing preferred
- Possible mentors
-
fundamental
- Difficulty
-
Moderate
- Type
-
Signal Processing Infrastructure
- Description
-
Envelopes for amplitude/frequency/filters control parameters over time. The envelopes in ZynAddSubFX provide the opportunity to define output values at selected times which are interpolated between with linear interpolation or logarithmic interpolation. Extending the interpolation to be user-parameterize-able will increase the versatility of envelopes. The GSoC student will work on extending the interpolation methods of envelopes and provide intuitive methods for the user to interact with the new degrees of freedom.
- Expected outcome
-
new User control-able envelope shapes will be exposed in the user interface with an intuitive way of manipulating the new controls.
- Possible mentors
-
caoliver
- Skills preferred
-
Ruby and light C/C++ experience preferred
- Difficulty
-
Easy unless scope is increased
- Type
-
User interface/parameter control
- Description
-
Synthesizers either play multiple notes (polyphonic) or only a single note at a time (monophonic). ZynAddSubFX has a pseudo-monophonic mode, for it to be a true monophonic mode however, the existing note needs to be updated rather than the current approach. Currently ZynAddSubFX creates a new note and releases the old note. To correct the current behavior, envelopes on the existing note will need to be re-triggered, and oscillators will need to be updated in place. This becomes more complex when taking smooth frequency changes into account (via portamento). The GSoC student would replace the existing monophonic mode with one designed to replicate the behavior of a classical analog synthesizer.
- Expected outcome
-
An updated monophonic mode which would retrigger envelopes in place and update existing wavetables in a smooth fashion.
- Possible mentors
-
???
- Difficulty
-
Moderate
- Skills preferred
-
C/C++
- Type
-
Infrastructure
-
BPM sync: johnanes, add beat based synchronization to a minimum of the LFOs using an external signal to establish the beat frequency and phase
-
Signal Scopes: fundamental, expand the existing signal tapping functionality to view waveform data in an oscilloscope like view or a spectral view to help guide signal construction
-
Enhanced Automation control: ???, expand the host automation and MIDI learn functionality for easier to use and non-linear parameter mappings.