Looking for a lofi tape effect

Has anyone found a way to apply this kind of effect? I’ve been listening to a lot of lofi hiphop kind of stuff, and much of it has that “watery” tape sound. Not sure if I’m making this clear, but it’s a bit like a chorus pedal on the guitar.

I was also inspired by this plugin here. The difference being that the plugin costs US$129, and maybe there’s a way to approximate that same effect for free in SP!

Hmm. Maybe not possible?

Hi,

well most of the differences on old tape audio was its not so well frequency resolution.
You could try setting a low-pass-filter and a high-pass-filter to simulate that (e.g. 30-15000Hz). Together with a bitcrusher effect and a bit of noise you should be able to create something similar. Haven’t tested it out :slight_smile:
But often a relatively high cutoff for a high-pass-filter already gives a quite good impression of lofi.

Cu.

A small example:

with_fx :hpf, cutoff: 40 do
  with_fx :bitcrusher, sample_rate: 15000, bits: 10, cutoff: 100 do
    sample :drum_heavy_kick
  end
end

You can play with the parameters and put a longer songpart into the effect (instead of the single sample).

Cu.

2 Likes

This gives me some relatively realistic lofi sound:

with_fx :hpf, cutoff: 30 do
  with_fx :bitcrusher, sample_rate: 30000, bits: 12, cutoff: 100 do
    sample :drum_heavy_kick
  end
end

Depending on how strong the “low quality” effect should be you can reduce the basses with a higher cutoff on hpf and distort the signal a bit more with lower sample_rates and bits.
Used some example song to set these parameters :smiley:

Cu.

3 Likes

Perhaps a flange/bandpass combo would get closer? Bitcrusher sounds a little “digital” to my ear—lo-fi in a different way.

# approximate tape with a combination of bandpass and flange...
with_fx :bpf, centre: 90 do
  with_fx :flanger, depth: 10, phase: 3,
  stereo_invert_wave: 1 do
    live_loop :guit do
      sync :dr
      sample [:guit_e_fifths, :guit_em9].choose,
        rate: [1/2.0, 2/3.0, 3/4.0, 4/5.0, 1].choose
      sleep 1
      
      # ... and a very quiet "tape hiss" synth
      n = synth :noise, amp: 0.03, sustain: 8.0, cutoff_slide: 8
      control n, cutoff: 90
      
      sleep 7
    end
  end
end

with_fx :reverb do
  live_loop :dr, delay: 0.01 do
    # delay makes the loop available for sync right away
    sample :bd_ada
    sleep 0.5
    
    sample :sn_generic, decay: 0.05, hpf: 70,
      amp: 0.1 if (spread 1, 7).tick(offset: 1)
    sleep 0.3
    sample :bd_ada, amp: 0.5 if (spread 1, 3).look(offset: 2)
    sleep 0.2
    sample :sn_generic, decay: 0.1, hpf: 70,
      amp: 0.3
    sleep 1.05 # a touch long, for that sleepy lo-fi sound
  end
end
3 Likes

Thanks! I had a feeling someone in this awesome community would have some ideas. Can’t wait to try them out. I was looking at the flange effect as a possibility, but I’m no expert on the params, so thanks again for the ideas!

1 Like

Played with the suggestions and thought, wait, why not the wobble effect? So I played with that and came up with something interesting. Not exactly what I was going for originally, but perhaps a happy accident:

live_loop :beats do
sample :bd_haus
sleep 0.5
end

live_loop :tune do
with_fx :wobble, mix: 0.8, phase: 0.25, cutoff_min: 40, cutoff_max: 110 do
 
  play 60
  sleep 0.25
  play 62
  sleep 0.5
  play 66
  sleep 0.5
  play 60
  sleep 1
end
end
1 Like

I like it - just jammed over it for a few minutes on guitar. Made for a nice work break and something to explore more later :slight_smile:

Throw in an ixi, mess with the synth, and it gets even more interesting. :slight_smile:

          use_synth :blade
  with_fx :wobble, mix: 0.8, phase: 0.25, cutoff_min: 40, cutoff_max: 110 do
    with_fx :ixi_techno, mix: 0.8, phase: [2,4,8].choose, cutoff_min: 40, cutoff_max: 110 do

Eli…

Here’s a full example, with a line of my own flair:

use_synth :blade

live_loop :beats do
  sample :bd_haus
  sleep 0.5
end

live_loop :tune do
  with_fx :wobble, mix: 0.8, phase: 0.25, cutoff_min: 40, cutoff_max: 110 do
    with_fx :ixi_techno, mix: 0.8, phase: [2,4,8].choose, cutoff_min: 40, cutoff_max: 110 do
      
      play 60
      sleep 0.25
      play 62
      sleep 0.5
      play ring(66, 66, 66, 66, 65, 65, 66, 66).tick
      sleep 0.5
      play 60
      sleep 1
    end
  end
end

EDIT: There’s also some fun to be had with the “detuning” synths (like dpulse) and the fm synths :wink:

2 Likes

Cool! I like the switching of the phase parameter, which gives a nice subtle effect!