I’ve been working on Ascend for a few years now, starting with the enabling infrastructures, the most fundamental of which are pitch detection and onset detection. In my view, pitch and note guided audio processing will be a real game changer!
Ascend VPU is the first Ascend processor, but there are more Ascend processors in the work pipeline. Here’s a list of what to expect. There should be a lot more in this list, but I’d like to start with something that I want to prioritize on, especially those that can’t already be done using standard audio plugins. This post might inspire you to suggest other ideas and user interfaces. Tell me what you think.
Ascend PRE (preprocessor)
Ascend GTE (gate)
Crosstalk elimination: Inhibiting signals a certain threshold below the maximum of all signals. Also, inhibiting mechanical crosstalk (via resonance or mechanical coupling through the bridge and nut) detected as slow attacks (resonance swells).
True monophonic mode: Inhibit all strings except the latest note detected by the onset detector. The latest note will supersede the previous. The previous note will be quickly faded out if it is coming from a different string.
N-Phonic: This is a generalization of the above. Inhibit all strings except the latest N notes detected by the onset detector. Similar to above, but the latest note will supersede the note before the Nth note. A queue, with fixed size of N, holds all currently playing notes. When a new note arrives, the note at the front of the queue will be quickly faded out if it is coming from a different string, and the new note will be added to the back of the queue.
Ascend ENV (envelope)
We should have full control over the volume envelopes from note onset to note offset. The goal is to use a fast and accurate onset detection algorithm for the envelope control from fast staccatos to full infinite sustain.
Volume envelope: Each string will have its own volume envelope with full control over attack, decay, sustain and release, and the taper curve for each envelope segment. The UI will allow for one envelope per string, or global for all strings. For example, plucked bass strings have slower decays compared to treble strings.
Taper curves go beyond the traditional exponential or linear ADSR segments found in most envelope generators to give more precise control over the character of the note. We should be able to choose the taper curve for each envelope segment.
Scale: If you find it tedious to specify individual volume envelopes for each string, you can have a global setting for all strings, time-scaled by the base frequency. This can give you similar results where lower frequencies decay longer. Each string can have its own scale control.
Modulation: We can detect the actual vibrato applied by the player. We can use this information to modulate volume (tremolo effect) in various amounts.
Ascend TGR (timbre gradients)
Pitch and note guided processing will be a real game changer!
Timbre synthesis: Knowing the fundamental frequency, overtones can be synthesized, giving you control over the harmonic structure of the waveform: its timbre.
Timbre gradients: Consider a set of distinct timbre settings. We assign such timbre settings a time point, and call these timbre stops, which are basically timbre/time pairs. We can smoothly transition (morph) from one timbre stop to another, over time. The UI will allow a set of timbre stops, per string, or global for all strings. Unlike traditional VCF-like filter controls, this UI is more related to gradient tools found in image editors like photoshop. That’s the reason why I call it timbre gradients. I believe this is a more powerful interface.
Modulation: We can detect the actual vibrato applied by the player. We can use this information to modulate timbre in various amounts.
Velocity: How hard the string is plucked, picked, hammered, etc. (the initial velocity), may influence the attack timbre gradient: the first two timbre stops. The actual attack velocity, together with a velocity sensitivity control, will determine how much the first timbre will morph into the second.
Ascend SEQ (sequencer)
A multichannel,16-step, grid-style, audio step sequencer. Each string will be a row in the grid. Each cell may apply one or more of these controls:
- Gate: Gate the audio, with control over attack and release.
- Volume: Apply volume to provide a more dynamic feel by emphasizing some notes.
- Delay: The audio at the start (step 1) of the cycle will be (re)played in a later step.
- Pitch shift: Apply note shifts.
- Delay each string’s signal by successive 8ths, strum a chord, the delayed attack of each string will result in an arpeggio.
- Pitch shift the note after delay to extend the arpeggio range.