Post Go back to editing

Clipping issue when switching between categories in apple music.

Category: Choose a category
Product Number: Sigma Studio
Software Version: 4.7

Hi,

Beginner at Sigma Studio and not well versed with "electronic engineering". Working with JAB5 amplifier (sure electronics) & ADAU1701/E2Prom.

Wrote a new program and I am having random clipping issue. It mostly occurs when I change music category/artist in apple music. When I switch songs with the playlist, clipping does not occur.

I added both soft/hard clips, but did not help.

I have few basic questions.

1. At which position should I added these clippers, immediately after Input or before output.

2. Where and when should I use DC Blocking to avoid clipping?

3. How do I determine, exactly what is causing this random clipping.

So far, with my limited knowledge, I took following steps to avoid this clipping

1. Added HardClip : Can someone please explain Hi & Low params? I experimented with multiple values but no luck.
2. Used Signal Detect and SW slew before output.
3. Added Delay
4. Added DC Blocking before output, immediately after Input and before Tone Control Hierarchy board out put.

This did bring down the horrible clipping sound but did not eliminate it fully.

I even used the JAB5 default programme provided by Sure Electronics and had the same issue.

Any help in identifying and resolving the issue will be very helpful.

-cheers
Mayuresh



typo.
[edited by: Mayuresh at 9:39 PM (GMT -4) on 24 Aug 2022]
Parents Reply Children
  • Hello Dave,

    Thank you for a response. Attaching the project .dspproj file and screenshots

    Looks like I am wrong in using clippers, I assumed, clippers are for removing the clipping (lol)! Thanks for correcting me. The project I am creating is very basic stereo amp with bass compression.

    Have a look.

    Cheers
    -Mayuresh

    dspproj file.

    Main

    Input 

    EQ

    Tone-control

    Signal

  • Hello Mayuresh,

    Thanks for the information about your program. I am going to be a little picky and ask you to attach the project using this forum's process. You can click on "Insert" in the window you write the posts in, select Image/File, And then clock on the grey "Upload" word that is well disguised. However, the easiest way is to drag the file into the window. 

    Thanks to your great post I am able to make some comments but I have a lot more. 

    Your questions about the clipper. The purpose of the cell is to clip a signal. It is used in making guitar distortion pedals but also where you need to set a hard limit to a signal. Kind of like compression but it is not changing the gain, just limiting the value to X. You changed the number format to 10.18. Audio from the converters come in as a 1.23 signal. You set the clipper to 5. So that is 0b101, so anything above 0b101-then 18 zeros, will be limited to that number 0b101000...  This is only 21 bits so you are limiting your input to the lower 21 bits of a 24 bit signal. Remove it, it is not needed. Use a limiter if you need to limit the audio level. 

    Let me help you with your use of aliases and "T"'s in your project. This here is actually a bit of a mess and will be a lot of work for the compiler to work out. 

    I suggest you do something like this:

    Note that I changed the name of the alias to something useful. 

    Then when you use it later in your project it makes the meaning super clear.

    You can copy and paste the destination alias as often as you like. 

    So it is great for things you use a lot like Zero and ONE but if a signal needs to go to many places I will give it a label like Input_L and then copy it as many times as needed. 

    I do want to look into your control of the index selectable EQs. I am not certain this is correct. But I will wait to see your project and I have to run to a meeting. 

    We shall continue later. Meanwhile, please attach your project directly to the post. 

    Thanks,

    Dave T

  • Hello Dave,

    Thanks for the detailed response and made me understand how clipper works. I have removed the clipper and also made necessary changes to the project as you have suggested related to "T" and Alias.

    Attaching the project as you asked.

    Please also note that the clipping issue which I am facing, also exists on JAB5's demo program. This happens only when I switch categories in Apple music from my MacBook pro. It doesn't happen when I use Apple music on my iPhone, or when I play youtube or anything else. Strange thing.

    Thank you once again for being a great help and have a good day! 

    Cheers
    Mayuresh

    WorkingdesignWithEQ-3-for-forum.dspproj

  • Hello Dave,

    Hope you had a good weekend! 

    Here is what I was trying to explain. This issue occurs only when I switch categories on iTunes (from MacBook pro). You will notice that at 00:05, I changed the category, Bluetooth signal then flickers and make a clipping sound at 00.07. As suggested by you, I also added a limiter, adjusted different values but it was on no use. It doesn't matter if I use the project I earlier attached or any readymade project I download from this forum or the demo project which was available for JAB5 on sure-electronics website. 

    Thanks
    -Mayuresh

    New project with limiter : 

  • Hi,

    I have been trying multiple things to get rid of this issue, but no luck yet. Attaching the graph (see images - red circle). You can see the signal peaks up suddenly and drops, making a terrible pop up sound. I was trying to use limiter/ Signal Detection to catch the peak and remove it, but nothing works. 

     

  • Hello Mayuresh,

    How is the signal from the Apple Music player getting into the DSP? 

    You are using an analog input and a digital input. Is there a Bluetooth receiver being used?

    I see you have the serial port setup as a master for the clocks. Most Bluetooth receivers do not have sample rate converters so they do not do well being a slave for clocks. They usually want to be the master. So I am guessing you are getting data dropping out and that would be a huge pop. 

    If you use the analog out of your computer then into the ADC on the DSP do you still get a large pop? Then that would mean that it is in the computer and nothing to do with the DSP itself. 

    So then it would beg the question of how to suppress it? There are some ways to do this, none of them are perfect. I will await your response before going into any detail. There are posts about suppressing clicks and pops and also gun-shots and all of these would apply. So search the forum for those things. 

    Regarding your project.

    Put the DC blocks at the very beginning and then you will not need them anywhere else in your program. Put them here:

    Also, you do not have to zip the projects anymore. I had the forum managers setup the forum to allow these DSP projects to be directly attached. 

    Dave T

  • Hello Dave,

    Thank you for the reply. Much awaited.

    I am using Bluetooth to connect to amp. Also tried using AUX input, assuming it could be a bluetooth issue. But in both the cases, I do get occasional pop up sound. No issues when I use mobile bluetooth. I too suspect it's something to do with the computer. But the same computer, apple music, works fine on my other Marshall speakers.

    So, I assume I will have to work on the suppressing that pop up sound. Now since you have suggested relevant keywords to search for, I will search for the posts on suppressing clicks and pops etc and will try and get the solution. I shall keep you posted. Basis on my reply, if you have any of the hand post which I should refer to to begin with, please let me know. Thanks again.

    Also, thank you for the DC block correction.

    Cheers
    -Mayuresh

  • Hello Mayuresh,

    Some Bluetooth receivers will stop sending clocks when it loses connections. This will cause issues with the clocking of the DSP. This could be going on. Capturing this event on a scope would be tricky but might lead to some insight as to what is happening? Are the clocks stopping or suddenly changing rates or is the data just turning to all zeros or all 0xF's? By the way, the difference between all zeros and all F's is very little. This is only one LSB difference in the audio level. In 2's compliment, counting down you go 2, 1, 0, -1

    All F's is -1.

    What could be a problem is that the data might not be close to zero then all of a sudden it is zero! That can cause a click or pop. 

    I just had a random thought, is there a mute output on the Bluetooth receiver? That could be implemented via a GPIO input to mute the audio in the DSP. 

    Here is a project I did a while back for gun shot suppression headphones. This is a good starting point and would need to be adjusted for your application. There are a couple of different methods being used. There will be some problems. This is only sensing the level, if you set this low or the audio gets loud, the desired audio will trigger the mute. With these headphones, there was an external mic and the difference in level of people talking around you and a gunshot is huge! This might not work for your use case. Also, this example file is for a different DSP. You will not be able to cut and paste, you will have to copy the blocks. 

    I have seen people try to filter out high frequency changes and use that to control the mute but again, a loud snare drum would also trigger it possibly. This is a tough problem to distinguish between a desired signal and an undesired signal. 

    Dave T

    ADAU1761 Gunshot Suppression.dspproj