Take the 2-minute tour ×
Sound Design Stack Exchange is a question and answer site for sound engineers, producers, editors, and enthusiasts. It's 100% free, no registration required.

I have created a circuit that does the following:

  1. Writes incoming audio data to an array, beginning at 0.
  2. Reads incoming audio data from array, beginning at one greater than where it was written.

    Ideally, it's supposed to write for the length of the repeat, then start reading.

  3. Every time a counter hits a predefined number (called "pitch"), the value called "delay" is incremented by +1.

  4. This delay is the maximum value of the array address, thus every time it increases, it adds a delay of one.

  5. In addition, the previous value is copied, each time the array location resets, preventing added high frequencies due to large changes from sample to sample.

Effectively, this should progressively increase a delay every specified number of samples, adding a copied sample, and thus decrease the pitch by an amount determined by the "pitch" value.

However, instead it presents the pitch with a crazy delay and crazy sound interference (although this varies, randomly, apparently, as sometimes it has not added a high frequency).

Essentially, this is what the in looks like:

1234321234321234321234321

This is what the out should look like with a pitch value of "2"

1223443221223443221223443221223443221

Thus, the pitch should be 2/3rds of the original without noticeable distortion.

Here's my program (it's mostly clocks and counters):

Reaktor Patch

share|improve this question
    
Have you tried breaking this giant core cell into six smaller core cells, and debugging them individually? –  ObscureRobot Jun 28 '13 at 20:14
    
Yes, although I didn't see a need to separate them visually, so I just kept them in the one cell. I used debug mode and all of the outputs of all of the clocks are working fine. The only thing that's not working is the top section, which has the array used for delay. (Everything above the first space a bit below where the "pitch" input is.) –  Jamil Jun 28 '13 at 22:13
    
You should try to make the smallest possible patch that has the problematic stuff in it. That allows you to eliminate everything else as possible sources of error. Your patch is so huge that I don't know where to start on it. –  ObscureRobot Jun 28 '13 at 22:51
    
It's the top contiguous section. I tried to organize everything in the cell without extra cells, since that added having to click on it and going to a different window. –  Jamil Jun 29 '13 at 2:58
    
I get that, but debugging will be easier if you can narrow down the problem are and then actually isolate it from everything else. 90% of the time, when I do that, I find the problem myself. The other 10% of the time, it makes it possible for others to understand what I'm doing and help me to find the problem. –  ObscureRobot Jun 29 '13 at 5:22
show 2 more comments

migrated from avp.stackexchange.com Jan 27 at 15:08

This question came from our site for engineers, producers, editors, and enthusiasts spanning the fields of video, and media creation.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.