diff --git a/docs/_static/audio/synth_banjo.wav b/docs/_static/audio/synth_banjo.wav index 49e50ba..ca11e43 100644 Binary files a/docs/_static/audio/synth_banjo.wav and b/docs/_static/audio/synth_banjo.wav differ diff --git a/docs/generate_audio.py b/docs/generate_audio.py index 71e7b0a..b84e7c3 100644 --- a/docs/generate_audio.py +++ b/docs/generate_audio.py @@ -667,10 +667,10 @@ def gen_synth_banjo(): # Strum into a picking lick p.strum("G", Duration.WHOLE, velocity=80) p.strum("C", Duration.WHOLE, velocity=78) - # Bluegrass lick + # Bluegrass lick — 16th note picking for n in ["G4", "B4", "D5", "G5", "D5", "B4", "A4", "G4", "D4", "G4", "B4", "D5", "B4", "G4", "D4", "G4"]: - p.add(n, Duration.EIGHTH, velocity=82) + p.add(n, Duration.SIXTEENTH, velocity=82) render("synth_banjo", score) def gen_synth_mandolin(): diff --git a/pytheory/play.py b/pytheory/play.py index 6c5accc..5da55a6 100644 --- a/pytheory/play.py +++ b/pytheory/play.py @@ -4607,12 +4607,6 @@ def _render_notes_to_buf(notes, buf, samples_per_beat, total_samples, vel_cutoff = vel_to_filter * vel_scale + 1000 mixed = _apply_lowpass(mixed, vel_cutoff, q=filter_q) end = min(start + len(mixed), total_samples) - # Choke: fade out any existing signal at this point - # so new notes don't pile up on previous tails - choke_len = min(int(SAMPLE_RATE * 0.003), start) - if choke_len > 0: - fade = numpy.linspace(1.0, 0.0, choke_len).astype(numpy.float32) - buf[start - choke_len:start] *= fade buf[start:end] += mixed[:end - start] * volume * vel_scale # Spread detuned oscillators into stereo L/R if detune_up is not None and stereo_buf is not None: