Home | ER-101 | ER-102 | ER-301 | Wiki | Contact

Noise in output when using F8R over i2c

Bug report: Scratchy noise while modifying Doppler Delay time parameter via i2c.
Firmware: 0.5.01

To reproduce:

  1. Attach i2c device (I’m using the F8R from MSW)
  2. Create a chain: saw osc into doppler delay; set delay to 100% wet, output to speaker
  3. Modify delay time via optical knob; observe clean delay warping sound
  4. Create sub chain on delay time from i2c device cv; gain 1, bias 0
  5. Modify delay time via i2c device; observe scratchy delay output
  6. [Additionally] Adjust delay time chain to use sine osc; observe clean delay warping sound

It seems to be related to the i2c connection somehow, especially since the normal sine wave modulation doesn’t reproduce the issue. I also tried adding a slew limiter after the i2c output and it had minimal to no effect on the noise from the delay.

We are on v0.5.03 now. Both v0.5.02 and v0.5.03 have fixes related to I2C.

Ah my bad, forgot to update. Just installed 0.5.03 and was able to reproduce the issue, I don’t hear any noticeable difference between firmware versions (same with the slew limiter added).

Edit: Not ruling out this is related to my specific device, the f8r, but thought it might point to some deeper issue.
Edit 2: Also of note, the UI appears normal and accurate. It seems to interpret the cv correctly as far as I can tell.

The nature of the noise you’re hearing is likely unstable fader values being transmitted (an issue with the F8R). Since a slew limiter can change directions instantaneously, discontinuities might be audible in sensitive patches. Try a low pass filter on your I2C signal chain instead of a slew limiter.

There is some built-in smoothing in the F8R firmware. You might want to contact MSW and see if you can tweak those settings, and possibly check if you have bad hardware.

4 Likes

Ah great thinking! I tried it with a low pass filter at 10Hz and that does indeed remove the noise. I’ll follow up with MSW about it, thanks for the tip.

2 Likes

Hey tomf! I am also getting this same scratchy fader sound on 1 channel of my f8r via i2c into the er-301. It drove me kinda mad trying to figure out what it was. E-mailed OD about it and never got a response so I’m glad you chimed in here to share your experience. Let me know if MSW says anything about the F8R or if you figure out a solution.

Doesn’t it sound like some weird star wars sound effects, like some sort of alien transmission or laser ?

Cheers

I talked to MSW and narrowed it down to some 1khz low amplitude noise (recorded it and checked a spectrogram). Unfortunately they indicated there wasn’t anything to be done.

My takeaway is to just not use i2c for really sensitive things, or to use a LPF to work around it.

So does this mean that the F8R is constantly sending i2c messages and not just when the sliders are being adjusted?

Ah no, in my case the high frequency noise only happens while the value is changing. When it’s still I haven’t noticed any issue.

I guess I would internally record the output of a TR.CV and inspect the resulting WAV file for anything unusual.

Right on, did just that. I’ll post here for posterity.

Here’s the i2c CV signal (me just wiggling it around a bit)

Screenshot from audacity with the spectrogram.

Hmm. Looks like quantization noise. What is the bit depth of F8R’s ADC?

Heh no idea @MiSynthWorks any thoughts?

There is a change threshold which prevents constant messaging. In beta there was a bit of a balancing act between eliminating jitter and maintaining responsiveness. There is also a rolling average defined to smooth the ADC reads.

1 Like

ADC on the SAMD is 12bit. I’m still confused by what you are describing, you keep calling it “I2C CV”, those are two completely separate things, are you talking about the jitter of the I2C signal or are you talking about high frequency noise on the CV outputs?

If its jitter on the I2C, I recommend you update to the latest F8R firmware on the webpage. That has a much more conservative read rate and the jitter is under 2 counts (out of 16k, 0.01%), you shouldnt be able to hear a 0.01% change in any parameter. I dont recall if there is a straight I2C monitor in ER (I use teletype for testing), looking at the raw values would be helpful to put a value of what youre seeing

If youre talking about I2C noise bleeding into the CV signal, I can confirm that there is some of that but its in the mV range and below the PSU noise on my device so Im not sure how that would play into this. It wasnt a use case (using CV and I2C at the same time) we looked at and it will be fixed in the next hardware revision. It only occurs when there are I2C coms active between two devices, you dont see it when I2C isnt connected

2 Likes

Ah yea the i2c jitter is what I’m referring to, I guess it gets converted to CV at the ER-301 from some digital signal right? My terminology is a bit imprecise since tbh I’m just starting to understand how this actually works behind the scenes :sweat_smile:

I’ll update my firmware and try to repro next week.

No, its completely digital end to end. Its just like MIDI CCs except there are 16000 values instead of 128. I think the real test will be to look at the raw I2C values to see what’s happening there, the fact that its manifesting itself as actual noise on the audio kinda makes me think there might be something else going on. Are both devices in the same rack? Are the two connected with just the Dupont wires? What power supply/supplies are the devices using?

If you could give me your exact setup and ER patch, i can try to duplicate it here

2 Likes

Ah I see, I’ve outlined the exact repro steps at the top of this thread. As for power it’s all in the same case with the intellijel psu (TPS80W Max)

i’ll contact you off list after the holiday and have you walk me through the ER setup, i’m far from an expert there

2 Likes

Installed the latest firmware and no change.

Just to be totally clear since the thread title may be misleading, this is not noise in the hearable sense. It’s high frequency noise in the i2c control signal.