# Live recording into tidal - getting audio input working

**URL:** <https://uzu.lurk.org/t/live-recording-into-tidal-getting-audio-input-working/2695>\
**Category:** TidalCycles\
**Tags:** questions\
**Created:** [2 January 2021 20:33 UTC](https://uzu.lurk.org/t/live-recording-into-tidal-getting-audio-input-working/2695 "2021-01-02T20:33:04Z")\
**Posts on this page:** 1\
**Showing post:** 8

<div class="post-metadata">

**Author:** ![mrreason](https://uzu.lurk.org/user_avatar/uzu.lurk.org/mrreason/32/3203_2.png) [@mrreason](https://uzu.lurk.org/u/mrreason)\
**Post date:** [4 January 2021 20:39 UTC](https://uzu.lurk.org/t/live-recording-into-tidal-getting-audio-input-working/2695/8 "2021-01-04T20:39:47Z")

</div>

Hmmm this is not how it will work. I'll try to illustrate a procedure that should work.

First things first: Did you execute the SuperCollider code in `Looper.scd` ([https://github.com/thgrund/tidal-looper/blob/master/Looper.scd](https://github.com/thgrund/tidal-looper/blob/master/Looper.scd))?

Then you should try the following code and see if the recording works and keep it running:

```haskell
d1 $ stack [
    s "looper" # n "<0 1 2 3>",
    s "loop" # n "[0,1,2,3]",
    s "808 cp!3"
]

```

Now I try to explain what's happened with your code.

Basically you control the recording with the pattern with `s "looper"`. This will record a sample under the name `loop`.

This records a buffer with a length of one cycle:

```haskell
d1 $ s "looper"

```

And this records a buffer with a length of four cycle:

```haskell
d1 $ slow 4 $ s "looper"

```

When the pattern starts from the beginning, the previous recording is overwritten.

The function `once` just plays one cycle of a pattern ([https://tidalcycles.org/once](https://tidalcycles.org/once)). This will immediately starts a recording and stops it automatically after one cycle:

```haskell
once $ s "looper"

```

And you determine everything via pattern therefore the following is equivalent to `once $ s "looper"` because `0` is the default input port:

```haskell
once $ s "looper" # linput "0"

```

So much for the recording. Playback is separated from this and a recorded sample works just like any other sample.

This means that the recording starts from the beginning after each cycle with this pattern:

```haskell
d1 $ s "loop"

```

And this starts the sample after four cycles:

```haskell
d1 $ slow 4 $ s "loop"

```

So if you record a recording of the length of one cycle, then a playback pattern of the length one is sufficient to hear a result.

I hope I could help 🙂

---

_[View the full topic](https://uzu.lurk.org/t/live-recording-into-tidal-getting-audio-input-working/2695)._
