Astral Projections (ambient)

It doesn’t take much to create beautiful sounds. Three stereo delays, three granular effects, and a little bit of reverb conjure up a beautiful ambient soundscape with just a few audio pulses. Set the feedback to 100%, and it plays forever…

Can no longer be used on the OG1, sorry…

New in 1.6:
* Some bug fixes! (Thanks to @3deye)
* Improved grain generator (it’s better now, but I’m still a bit dissatisfied)
* Some UX improvements
* Simplified and improved sound routing: It’s now possible to send the delay output to the grains instead of the input signal. I really like that! More details in the Mix section.
* Patch is now distributed across multiple processes because the CPU load became too high
* And since low frequencies granularly do not have a good sound, a highpass filter is now available on the grain mixer
* Hold does not longer put the feedback to 100%

New in version 1.5:
It has been a little complicated to get sound out of this patch. Now it is setup in a way where you will hear sound immediately after startup. (sound routing for delays is set to “A = all” in mix). This will also happen on pressing the “All feedback off” button (kind of a reset).

New in version 1.4:
Update on UX components, more visual feedback added.
Fixed a bug in the side chain compression. Side chain used wrong audio channel. Added a visualization on compression level in dB to the screen.

New in version 1.3:
Sound improvement by spreading the delays and grains in the stereo field. Way better now.

New in version 1.2:
* New acoustic possibilities (unstable pitch shifting)
* Optional sound routing per delay and grain
* Ergonomic improvements

The starting point was actually the Jomox T-Resonator. An effects device with feedback, cross-feedback, filters and some other stuff. A device that came to us straight from hell to create super harsh sounds. But I’m afraid that in the end I ended up more in the direction of Soma Cosmos.

So what is it? Astral Projections (the name says it all, ambient, ambient, ambient) is of course more for ambient sounds. That’s how it always ends up for me. The name is just an attempt to appear original. There are six stereo delay lines that operate independently of each other in time. The delay lines are spread in the stereo field. So there are 12 delays in total, distributed on the left and right, or in between. So there’s a lot going on.

Unfortunately, screens 3 and 4 (Delay Mix, Grains Mix) drove me crazy. Sometimes Pure Data is really difficult when things get a bit more complicated. The two screens still don’t work 100 percent as expected. But you can now use it relatively intuitively.

Quick Guide:
============================================
– Set time and distance to your liking (Screen 1, Knobs 3 and 4)
– Set the feedback to 100 percent (2nd D#), that’s a kind of looper
– Activate delays or grains (C – E for delays, F – A for grains); LED green
– Generate sound, the delay or grain will now record it and play it back
– Deactivate the input signal for a delay (again C – E) or grain (again F – A); LED yellow
– To mute a delay or grain, press C – A again; LED red
– Clear all Buffers by pressing D# (Feedback will turn to 0 percent)

The patch has 51 parameters. I have to explain them all briefly. There is also a manual in the patch directory.

Basics of operation:
============================================
The patch consists of 9 screens. You can switch back and forth between the screens using the encoder. You can also switch through the screens starting with B (the seventh key on the Organelle keyboard below).

To load a different patch, the encoder must be pressed and held for at least one second.

Interaction: Normally, potentiometers 1-4 change lines 2-5 on the display. The first line of the display usually only contains information.

Some potentiometers have double functions. In this case, two values ​​are shown on one line in the display. The second value can be changed by pressing and holding the Aux button and then turning the potentiometer.

The displayed values ​​must be captured by the potentiometers before a value can be changed!

Delays/grains can be switched on and off using the keyboard (bottom row of keys) (C to A).

The B – B keys activate screens 1 – 8.

The F# – D# (2) keys set the feedback from 60 – 100 percent.

The D# (1) key sets the feedback to 0,

The last A# sets the patch to default values.

See also the graphic astral-knobs.jpg in the patch directory.

By pressing the encoder (min. 300 ms, PANIC) all feedbacks and the wet portion are set to 0.

By starting β€œmain-oui.pd” you can test the patch on the desktop.

By pressing the first C# on the keyboard (or food switch), the feedback will be set to 100% and the wet channel will not receive any signal from the input. Hit C# again to open the wet channel for input.

Activation and signal routing
============================================
The keyboard (bottom row of keys) can be used to switch delays/grains on and off (C to A).

See also Screen 7: Mix. Here you can manually set the signal routing for each delay/grain.

There are two modes here:

All delays are active
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Screen 7 (Mix) shows RD:A and/or RG:A. (A = all)

Here the audio signal is sent to all delays/grains. In this case, the C – A keys activate or deactivate the output. This can be set differently for delays and grains. If the output is activated, the LED briefly lights up green. If the output is deactivated, the LED briefly lights up red.

All delays are inactive
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Screen 7 (Mix) shows RD:O and/or RG:O. (O = off)

Activation: Press the C – E buttons for the desired delay. The LED lights up green briefly. The audio signal is now sent exclusively to this delay.

Deactivate input signal: Press C – E again for the desired delay and the delay will no longer receive any new input. The LED lights up yellow briefly.

Deactivate output: Press C – E again for the desired delay and mute the delay.

The same applies to the grains, buttons F – A.

The recording mode for delays and grains is only possible exclusively on one channel. If another channel is in recording mode, it will be terminated.

Hold
============================================
Pressing C# will stop audio being sent to the delays/grains. Regardless of the current state of the individual channels. If Hold is activated, the LED lights up white. Pressing C# again will deactivate Hold and delays and grains will receive audio signals depending on the set signal routing. The LED will go out.

Screen 1: Settings
==============================================
Global parameters for all delays are set here.

Feedback (Knob 1): Delay feedback from 0 – 120 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The greater the feedback, the longer a sound is repeated.

X Feedback (Knob 2): Left/right cross feedback from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Cross feedback from the left to the right side and vice versa. That was actually the seed of the patch, but it only leads to the sound becoming muddy sooner or later. But it can be used quite well to construct an interesting sound surface. You give a little cross feedback to the delay and when it’s right, you set it back to zero.

Time (Knob 3): Delay time from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The audio buffers are 30 seconds long. However, you cannot set a specific time here, as the delays all work with different times. So it is best to do this by ear. 100% is about 10 seconds for the three delays and about 2 seconds for the grains.

You can also set a time here using the Aux button by pressing the Aux button four times. Also known as β€œtap time”. The tap function will be reseted after 2,5 sec. For this time you see an asterisk in the first line as an indication, that the tap is active.

Distance (Knob 4): Time difference between the individual delays from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The distance between each individual delay can be set here in relation to the time. There is no specific value.

Screen 2: Grains
==============================================
I’m not really happy with the grains. I might improve or replace them when I get the chance.

Amount (Knob 1): Number of grains generated from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
The higher the value, the more grains will be created.

Pitch shift (Aux + Knob 1): Pitch shift by semitones from 0 to 24
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Pitch shift the grains up to two octaves.

Length (Knob 2): The length of the grains from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Depending on the time, the length of the grains can be set here before a grain is written to the buffer.

Envelope (Knob 3): Attack and release for a grain from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Depending on the time, the attack and release can be set here before a grain is written to the buffer.

Jitter (Knob 4): Varies the length of the grains from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Depending on the time, a length bias can be set here before a grain is written into the buffer.

Screen 3: Delay Mix
============================================

Line 1 – 3 (Knobs 1 – 3) Volume of the delay line from 1 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
Independent control of the volume per delay.

Overall volume (Aux + Knob 1) from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The volume of the delays in the overall mix, shown in line 1 on the right.

Drift (Knob 4): Stereo panning of the individual channels from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The individual delays are moved at different speeds in the stereo field. With higher values, an effect similar to Leslie speakers can be achieved. This is a global value.

Drift speed (Aux + Knob 4): linear or exponential
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Linear moves the delay lines evenly between the right and left channels. With exponential movement, the sounds stay in the middle field for less time. This is a global value.

Screen 4: Grain Mix
============================================

Line 1 – 3 (Knobs 1 – 3) Volume of the grains from 1 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
Independent control of the volume per grain.

Overall volume (Aux + Knob 1) from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The volume of the grains in the overall mix, shown in line 1 on the right.

Drift (Knob 4): Stereo panning of the individual channels from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The individual grains are moved at different speeds in the stereo field. With higher values, an effect similar to Leslie speakers can be achieved. This is a global value.

Highpass
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Filters low frequencies from the input signal.

Screen 5: Reverb
============================================
No ambient sound effect without reverb!

Room (Knob 1): The room size from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
If you get closer to 100 percent, unpleasant sound artifacts can occur. 99 percent still sounds pretty good.

Damping amount (Knob 2): Reduction of the treble from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
Depending on the cutoff frequency set, the treble and thus the sound of the room can be changed here.

Damping Frequency (Aux + Knob 2): Cutoff frequency for the highs of the room from 0 – 9.9 kHz
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
In combination with the amount, changes the reflection behavior of the room.

Amount dry (Knob 3): Dry send to the reverb from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The amount of the dry signal that should be sent to the reverb.

Amount wet (Knob 4): Wet send to the reverb from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The amount of the wet signal that should be sent to the reverb.

Screen 6: Pitch Shifter
============================================
Based on a delay from the Vanilla example patches. Not necessarily accurate, not necessarily beautiful, but used subtly, it can enrich the sound in an interesting way.

If the pitch shift is changed for a channel, a number is displayed in the first line for about three seconds, which gives an approximate semitone for orientation. The setting is continuous, however, so that weird sounds are also possible. Your ear is very important here.

Dry (Knob 1): Pitch shift on the dry signal
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Pitch shift of the dry channel of up to two octaves.

Dry (Aux + Knob 1): Proportion of the pitch shift on the dry channel
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The volume of the pitch shift on the dry signal.

Del (Knob 2): Pitch shift on the delay signal
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Pitch shift of the delay channel of up to two octaves.

Del (Aux + Knob 2): Pitch shift amount on the delay channel
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The volume of the pitch shift on the delay signal.

Grn (Knob 3): Pitch shift on the grains signal
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
Pitch shift of the grains channel of up to two octaves.

Grn (Aux + Knob 3): Pitch shift amount on the grains channel
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The volume of the pitch shift on the grains signal.

Stability (Knob 4): Accuracy of the pitch shift
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Although the algorithm does not work with cent accuracy even at 100 percent. But I see that as an advantage.

Screen 7: Mix
=============================================
Parameters the sound output.

Wet (Knob 1): Ratio of wet to dry from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
You’re probably already familiar with this.

Input gain (Knob 2): Strength of the input signal from 0 – 1000 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The volume of the input signal can be increased or decreased here.

Sat (Knob 3): Sound saturation (Dry) from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The saturation only affects the dry part of the sound.

Sat (Aux + Knob 3): Sound saturation (Wet) from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The saturation only affects the wet part of the sound.

Low pass (Knob 4): Low pass cutoff from 0 – 15000 Hz
——————————————–
The low pass is at the end of the sound output and therefore has a global effect.

High pass (Aux + Knob 4): high pass cutoff from 0 – 3000 Hz
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The high pass only affects the input signals of the delays.

Sound routing Delays (Aux + Knob 1): routing sound to one or all delays
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The routing is shown in the first line:
RD (Routing Delay): M, A
M: switch the status of a delay line by pressing C1, D1, E1 to toggle from recording to playing to muted
A: the sound is routed to all delays, toggle playing or muted by pressing C1, D1, E1

Sound routing Grains (Aux + Knob 2): routing sound to one or all grains
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
The routing is shown in the first line:
RG (Routing Delay): M, A, D
M: switch the status of a grain line by pressing F1, G1, A1 to toggle from recording to playing to muted
A: the sound is routed to all grains, toggle playing or muted by pressing F1, G1, A1
D: Receives the signal not from the input but from the delay lines D1=>G1, D2=>G2, D3=>G3
D1: Receives the signal not from the input but from delay 1
D2: Receives the signal not from the input but from delay 2
D3: Receives the signal not from the input but from delay 3

Screen 8: Compression
============================================
A fairly simple sidechain compression for the wet signal.

Threshold (Knob 1): The signal level at which compression should start from 0 – -100 dB
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
As soon as the dry signal reaches the threshold level, the wet signal is attenuated by a factor. This allows the dry and wet to be well matched in terms of volume. This is very useful if the patch works with a feedback of 100 percent, which means that the delays act similarly to loopers.

Ratio (Knob 2): Compression ratio from 1/1 to 20/1
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
Determines the factor by which the wet signal should be attenuated when the threshold is reached.

Envelope (Knob 3): Attack and release of the attenuation
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
This value controls the speed of the attenuation. A relatively slow attack and release is possible for ambient.

Makeup (Knob 4): Subsequent increase of the signal from 0 – 100 percent
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
If the attenuation is basically suitable, but then too quiet, the signal can be amplified here.

Screen 9: Presets
==============================================
Enables the loading and saving of settings. Presets are stored in the β€œpresets” subfolder. The application automatically loads the last saved patch when it starts. If no patch is available, it works with default values.

Knob 1: Select memory slot from 1 – 20
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”-
By selecting a slot and then pressing the Aux button, the parameters of the patch are saved.

Knob 2: Select load slot from 1 – 20
β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”β€”
By selecting a slot and then pressing the Aux button, the parameters of the patch are loaded.

Successful saving or loading is briefly displayed.

Finally
============================================
Since we’re working with feedback here, it can happen that the volume increases massively. In this case, a hard clipping is installed at the end of the signal chain, which limits the volume to around -5 dB. So you don’t have to worry about anything being damaged. Like your ears, headphones or speakers. It can actually be quite interesting. The strangest things happen. Or, if the feedback is over 100 percent, you just wait until you have a nice distorted sound and then set the feedback back to 100.

I hope I haven’t forgotten anything. If you have any problems or errors, please let me know. Have fun trying it out.

9 comments on “Astral Projections (ambient)
  • nicolasbulb on said:

    I like this one a lot. Complex but yet compatible with my OG1. Many thanks!

  • attackallmonsters on said:

    Nice to hear that the patch is working on the OG1 as well.

  • 3deye on said:

    “Deactivate input signal: Press C – E again for the desired delay and the delay will no longer receive any new input. The LED lights up yellow briefly.”
    This doesnt happen with delays, after pressing a delay key, led lights up red and says “stopped” on the screen. Is this the way it works?

  • attackallmonsters on said:

    @3deye: “lights up red and says β€œstopped” on the screen. Is this the way it works?”

    I think, you found a bug.
    This probably is, because audio routed to all delays. See Screen “Mix”, the “RD” and “RG” values.

    This overrides some things. When “RD” is set to “0” (audio not routed), the keys work as expected green (recording) => yellow (playing) => red (stopped). But on startup, audio is routed to all delays. Then the buttons should just output the delay or not (play or stop). So displaying “recording” is misleading.

    I will fix that. Come back here next week.

  • nicolasbulb on said:

    Ah damn, I can’t load 1.6 on my OG1. It just freeze. well, 1.3 is working at least. What did you do? Adding extra need of CPU?

  • attackallmonsters on said:

    Unfortunately, the OG1 only has a single-core processor. Due to the high processor load, I had to run a second PD process, which brought the total load back down to 46%. Obviously, this doesn’t make sense on a single-core processor. You’ll have to use the previous version. I’m really sorry, but thanks for the tip.

  • nicolasbulb on said:

    ok ok, but what’s the latest version that uses on one PD process? Patchstorage doesn’t have any versioning system right? I only have the 1.3 version though.

  • attackallmonsters on said:

    It’s mainly a few filters that are driving up the processor load. I can remove those and upload a version for the OG1. No problem.

  • Leave a Reply

    • Platform:
    • Category: Effect
    • Revision: 1.6
    • License: Do What The F*ck You Want To Public License
    • Modified: 10 months ago
    • Views: 2727
      Likes: 16
      Downloads: 418
    Download
    Chat