3.4.1.3 Audio delay

In Chapter2.2.3.1.2we mentioned how numbers or series of numbers can be delayed. You can also do this with signals. This is done by creating a buffer into which signals are written and out of which signals are read following a certain delay. To create this buffer, you use a "delwrite~" object. The first argument is a freely chosen name; the second is the size in milliseconds. As input, give it the signal you want it to write in the buffer. Once the buffer is full, it is written over again from the beginning. If the buffer is 1000 milliseconds long, the last 1000 milliseconds of the incoming signal are stored in the buffer.

Use "delread~" to read from the buffer. The first argument is again the buffer name; the second is the delay (in milliseconds; can be changed using a control data entry in the input):

숫자들의 다발로 시간을 지연시키는 방법을 배웠고, 시간 지연은 신호로도 가능하다. 신호가 쓰여지는 버퍼가 만들어지고, 일정한 시간 지연되는 걸로 읽어져서 것이 나옴으로서 가능하다. 이 버퍼를 만들기 위해서 너는 delwrite~ 오브젝트를 사용한다. 첫번재 변수로 이름을 정하고, 두번째는 밀리세컨즈의 크기. 인풋으로 너가 버퍼에 쓰길 원하는 신호를 주고, 버퍼가 가득차면 그것이 시작으로부터 다시 쓰여지기 시작한다. 버퍼가 1000밀리세컨드 길이라면, 들어오는 신호의 마지막1000밀리세컨드는 버퍼에 저장된다.

delread를 사용하면, 버퍼를 읽을 수 있다. 처음 변수는 버퍼의 이름이고, 두번째는 지연시간.

patches/3-4-1-3-delay.pd

Logically the amount of delay in "delread~" must be smaller than or equal to the buffer size. If you have a delay of 2000 milliseconds but the buffer holds only 1000 milliseconds, it clearly won't work. Using a negative number for the delay interval is also impossible, as even Pd can't see into the future. You can use as many "delread~" objects as you like to read simultaneously from a delay buffer. You cannot look into the wave patterns in the buffer.

While you can change the delay interval in "delread~", you have to use a control data entry and there is a certain probability of error once you exceed a certain speed (this is again a conflict between control data and signals). For this reason, there is a special object for variable readings of delay buffers called "vd~" (short for "variable delay"). You give the delay interval (in milliseconds) as a signal as input and can change it however you like (though, again, you can't use negative numbers or exceed the buffer size):

논리적으로 delread~에서 지연하는 시간의 양은 버퍼의 사이즈보다 같거나 작아야 한다. 만약 2000밀리세컨드를 딜레이 하고 싶은데 버퍼가 1000밀리세컨드의 공간만 주어진다면, 그것은 작동하지 않는다. 딜레이 간격을 위해서 음수를 사용하는 것은 불가능하다. 피디는 미래를 볼수 없다.

너가 딜레이 간격을 delread~에서 바꾸는 동안 너는 제어하는 값을 사용해야 하고, 일정한 속도로 실행할때마다 일정한 에러의 가능성이 있다. (이것은 컨트롤 데이타와 신호사이의 갈등이기도 하고) 너는 지연간격을 인풋으로 신호로 주고, 그러나 똑같이 그것으로 바꿀 수도 있다. (너는 음수를 사용할수 없고, 버퍼사이즈를 초월할 수 없다.

"vd~", like "readsf4~", creates an interpolation.


results matching ""

    No results matching ""