# Strange results going from Windows Driver to ASIO

**URL:** <https://forum.juce.com/t/strange-results-going-from-windows-driver-to-asio/56627>\
**Category:** Development\
**Created:** [June 13, 2023, 11:20am UTC](https://forum.juce.com/t/strange-results-going-from-windows-driver-to-asio/56627 "2023-06-13T11:20:27Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![2Djay](https://avatars.discourse-cdn.com/v4/letter/2/7bcc69/32.png) [@2Djay](https://forum.juce.com/u/2Djay)\
**Post date:** [June 13, 2023, 11:20am UTC](https://forum.juce.com/t/strange-results-going-from-windows-driver-to-asio/56627/1 "2023-06-13T11:20:27Z")

</div>

Hi there,

I’ve been developing an amp simulator for the better part of a year now, and when using the standalone plugin with the Windows Driver setting it sounds great, albeit only outputting from one speaker.

However, when I change it to ASIO (I’ve done all the Steinberg SDK stuff) I lose a lot of top end clarity, and there’s a weird distortion that becomes present, almost like the signal is being overloaded. This also comes out of a single speaker, although the reverb comes out of both.

I’ve used a lot of filter banks to sculpt the guitar tone, which I’ve used ProcessorDuplicator for. The only other elements in the chain are a Waveshaper using the function: x / (std::abs(x) + 1) and a Convolution module. Oh, also a JUCE’s reverb class and a few gain sections (input/output) which I’ve ranged appropriately.

I have no idea why it is doing this. The perfect result happens using the Windows Driver, but exporting the VST to Ableton and switching to ASIO yields a wooly, lifeless and farty result.

Anyone have any ideas? The code is part of a wider project that I can get in trouble for sharing, so any help would be much appreciated. Thanks.

---

<div class="post-metadata">

**Author:** ![andrewj](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/andrewj/32/13428_2.png) [@andrewj](https://forum.juce.com/u/andrewj)\
**Post date:** [June 13, 2023, 1:23pm UTC](https://forum.juce.com/t/strange-results-going-from-windows-driver-to-asio/56627/2 "2023-06-13T13:23:01Z")

</div>

A few questions:

- What ASIO driver is it?
- Has the sample rate changed?
- Has the block size changed? (this might expose issues in the code)
- Can you look at the result in an analyser and see if the levels or spectrum balance have changed?
- What do you mean by exporting the VST to Ableton?

---

<div class="post-metadata">

**Author:** ![2Djay](https://avatars.discourse-cdn.com/v4/letter/2/7bcc69/32.png) [@2Djay](https://forum.juce.com/u/2Djay)\
**Post date:** [June 13, 2023, 7:20pm UTC](https://forum.juce.com/t/strange-results-going-from-windows-driver-to-asio/56627/3 "2023-06-13T19:20:19Z")

</div>

Hi there,

- Its my Focusrite 2i2, whatever driver is used in that

- No, I have Ableton set to 44100Hz also, although I’m using spec.sampleRate so it should line up with any rate

- This I’m not sure about. I’m processing using context replacing, and don’t really know how I’d investigate block size…

- I could, but if they’ve changed then that’s part of the original problem

- By exporting I mean I’ve built the VST3 and put it into the plugins folder Ableton uses

---

<div class="post-metadata">

**Author:** ![andrewj](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/andrewj/32/13428_2.png) [@andrewj](https://forum.juce.com/u/andrewj)\
**Post date:** [June 14, 2023, 10:16am UTC](https://forum.juce.com/t/strange-results-going-from-windows-driver-to-asio/56627/4 "2023-06-14T10:16:44Z")

</div>

Your description doesn’t sound particularly like a block size issue, but if you want to investigate that further you’d have to monitor the buffer sizes in each process\_block() call. You could keep track of min, max, avg for instance.

Thinking about your description again, it could be a phase cancellation issue or maybe even comb filtering. Check whether you have a stereo signal being summed to mono, or if there is a delayed version of the signal being mixed in from somewhere.

---

<div class="post-metadata">

**Author:** ![2Djay](https://avatars.discourse-cdn.com/v4/letter/2/7bcc69/32.png) [@2Djay](https://forum.juce.com/u/2Djay)\
**Post date:** [June 14, 2023, 11:27am UTC](https://forum.juce.com/t/strange-results-going-from-windows-driver-to-asio/56627/5 "2023-06-14T11:27:03Z")

</div>

I have a feeling that certain elements in the processorChain are being summed to mono despite having used processorduplicator where appropriate.

How would I check whether summing to mono is the case?

Thanks for the help, I appreciate that I’m asking a lot of questions haha

---

<div class="post-metadata">

**Author:** ![andrewj](https://sea2.discourse-cdn.com/flex026/user_avatar/forum.juce.com/andrewj/32/13428_2.png) [@andrewj](https://forum.juce.com/u/andrewj)\
**Post date:** [June 14, 2023, 12:33pm UTC](https://forum.juce.com/t/strange-results-going-from-windows-driver-to-asio/56627/6 "2023-06-14T12:33:34Z")

</div>

Look at the output with a [goniometer](https://en.wikipedia.org/wiki/Goniometer_(audio)) - if you see a perfectly vertical line then it’s mono.

If you’re super keen you could always try testing some of the code in DSP-Testbench 🙂

> **[GitHub - AndrewJJ/DSP-Testbench: A DSP Testbench for users of the JUCE framework](https://github.com/AndrewJJ/DSP-Testbench/tree/main)**
>
> main

---

<div class="post-metadata">

**Author:** ![2Djay](https://avatars.discourse-cdn.com/v4/letter/2/7bcc69/32.png) [@2Djay](https://forum.juce.com/u/2Djay)\
**Post date:** [June 15, 2023, 11:55am UTC](https://forum.juce.com/t/strange-results-going-from-windows-driver-to-asio/56627/7 "2023-06-15T11:55:50Z")

</div>

Awesome thank you for the suggestions.

I’ll give the Testbench a go as well as the goniometer. Hopefully they yield some direction.

All the best, I’ll keep you updated!
