# Android: Crackling/Noise When Applying Pitch/Tempo Shifting

**URL:** <https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155>\
**Category:** Android\
**Created:** [September 16, 2025, 12:24pm UTC](https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155 "2025-09-16T12:24:52Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![ChiragV](https://avatars.discourse-cdn.com/v4/letter/c/f04885/32.png) [@ChiragV](https://forum.juce.com/u/ChiragV)\
**Post date:** [September 16, 2025, 12:24pm UTC](https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155/1 "2025-09-16T12:24:52Z")

</div>

Hi everyone,

I’m working on an audio project using **JUCE** , where I need to apply DSP effects like pitch and tempo shifting.

### 🔎 Problem

- On **iOS** :

- On **Android** :

### ⚙ Current Setup

- Using **JUCE ResamplingAudioSource** (default JUCE resampler).

- Tried buffer sizes (512, 1024, 2048). Increasing buffer size reduces dropouts slightly but doesn’t fix noise.

- Shared `.so` library to Flutter for integration.

### ✅ What works

- Normal playback without DSP (but still slightly noisy on Android).

- Other effects like fade-in/out, panning work, though sometimes with minor noise.

### ❌ What doesn’t

- Pitch shifting (+1 or more → heavy distortion/noise).

- Tempo changes (adds delay + noise).

### ❓ Questions

1. Why does the **same JUCE code work flawlessly on iOS but not on Android**?

2. Is JUCE’s default `ResamplingAudioSource` not reliable for real-time pitch/tempo on Android?

3. Do I need to switch to another approach (RubberBand, SoundTouch, or a custom resampler)?

4. Could this be related to Android’s audio hardware latency / buffer size handling?

5. Any recommended practices or working examples for **real-time pitch/tempo DSP on Android with JUCE**?

Thanks a lot! 🙏 Any guidance or shared experience would be very helpful.

---

<div class="post-metadata">

**Author:** ![ibisum](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ibisum/32/21288_2.png) [@ibisum](https://forum.juce.com/u/ibisum)\
**Post date:** [September 17, 2025, 8:18am UTC](https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155/2 "2025-09-17T08:18:03Z")

</div>

> [@ChiragV](#):
>
> Why does the **same JUCE code work flawlessly on iOS but not on Android**?

Android and iOS audio subsystems are not, in any way, equivalent. Audio on iOS is a first-class service - whereas its more of a tack-on, in Android. This has changed over the years, true, as the Android devs attempt to build better multimedia experiences for the device manufacturers - but it still remains a fact that Android audio is sub-par compared with iOS and you should not expect the same quality on Android as you experience on iOS.

That said, without looking at any code, its very difficult to pinpoint your issue - what Android device are you using for testing, which version of Android, and so on? Are you using a device which the manufacturer has set up to do re-sampling? These are variables that can have a big impact on perceived Android performance.

---

<div class="post-metadata">

**Author:** ![ChiragV](https://avatars.discourse-cdn.com/v4/letter/c/f04885/32.png) [@ChiragV](https://forum.juce.com/u/ChiragV)\
**Post date:** [September 17, 2025, 8:33am UTC](https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155/3 "2025-09-17T08:33:15Z")

</div>

- Motorola G62 – Android 13

- Motorola G84 – Android 15

- Samsung M35 – Android 15

- Samsung F15 – Android 15

- Pixel 6a – Android 16

Yes, these are standard consumer devices. It’s possible the manufacturer’s audio pipeline is performing resampling internally, which may contribute to the crackling.

---

<div class="post-metadata">

**Author:** ![ibisum](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ibisum/32/21288_2.png) [@ibisum](https://forum.juce.com/u/ibisum)\
**Post date:** [September 17, 2025, 8:35am UTC](https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155/4 "2025-09-17T08:35:23Z")

</div>

You get crackling on each of these devices?

---

<div class="post-metadata">

**Author:** ![ChiragV](https://avatars.discourse-cdn.com/v4/letter/c/f04885/32.png) [@ChiragV](https://forum.juce.com/u/ChiragV)\
**Post date:** [September 17, 2025, 8:36am UTC](https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155/5 "2025-09-17T08:36:31Z")

</div>

Yes, slight crackling occurs on all of these Android devices when playing audio, and it gets worse when applying pitch/tempo DSP effects.

---

<div class="post-metadata">

**Author:** ![ibisum](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ibisum/32/21288_2.png) [@ibisum](https://forum.juce.com/u/ibisum)\
**Post date:** [September 17, 2025, 8:49am UTC](https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155/6 "2025-09-17T08:49:48Z")

</div>

Interesting. Well I’m afraid its not going to be too easy to help you debug this without code. Can you produce a version of your project that you can share, so folks can see whats going on?

---

<div class="post-metadata">

**Author:** ![ChiragV](https://avatars.discourse-cdn.com/v4/letter/c/f04885/32.png) [@ChiragV](https://forum.juce.com/u/ChiragV)\
**Post date:** [September 17, 2025, 11:00am UTC](https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155/7 "2025-09-17T11:00:18Z")

</div>

For security reasons, I can’t share the project code, but when audio is played without DSP and resampling, it sounds clear on Android. This indicates the main issue is with DSP effects. I’ve already set the audio device buffer size up to 2048 and even hardcoded the sample rate to 48000 and 44100, but the result remains the same when testing with DSP and resampling. DSP is essential since it’s a core part of our project.

---

<div class="post-metadata">

**Author:** ![ibisum](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/ibisum/32/21288_2.png) [@ibisum](https://forum.juce.com/u/ibisum)\
**Post date:** [September 17, 2025, 11:40am UTC](https://forum.juce.com/t/android-crackling-noise-when-applying-pitch-tempo-shifting/67155/8 "2025-09-17T11:40:43Z")

</div>

Well, alas, there is no indication that this is a bug in JUCE and may very well just be a bug in your DSP code. Until you can share that, there’s not much help that can be offered. I would suggest breakpoint-debugging your buffers and be sure they’re behaving as you expect them to in processBlock() ..
