Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] More Daisy help

Dave Seidel <[email protected]> Fri, 12 Sep 2025 13:40:58 -0400
Newsgroups gmane.comp.audio.csound.devel
Message-ID <CAMnrweCzLzPg5XKBVf6PpVZm4=n_9kPA2_VZ8qvNz1n+ycwWNw@mail.gmail.com>
Thanks, Victor. I'll try those things, though I already tried ksmps=256 and
FFT size 1024 -- didn't work, but it did reduce the noise somewhat, so I
think that reinforces your theory.

The delay-based approach might be fine, thanks for the suggestion. I know I
have the book around somewhere, I just need to find it....

On Fri, Sep 12, 2025 at 1:17 PM Victor Lazzarini <
[email protected]> wrote:

> Hi Dave,
>
> this is probably because the Daisy can't compute audio in time for the
> interrupt.
> It could be that the FFTs are too much for it.
> There's a few things you could try:
>
> increase ksmps to 256
> decrease FFT size to 1024
>
> keep ksmps at 128
> decrease FFT size to 512
>
> I have not yet tested spectral processing to see what the limits are. I
> can't do any testing at the moment because my Daisy seed is faulty, I'm
> waiting on a replacement.
>
> An alternative to doing pvs-based pitch shifting is to use a delay line
> pitch shifter, which might just work ok in your case. Russell Pinkston's
> chapter in the Csound Book has an example you could use.
>
> Otherwise I can send you some code.
>
> best
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
>
> On 12 Sep 2025, at 16:38, Dave Seidel <[email protected]> wrote:
>
> 
> *Warning*
>
> This email originated from outside of Maynooth University's Mail System.
> Do not reply, click links or open attachments unless you recognise the
> sender and know the content is safe.
> Hi Victor,
>
> I have a tiny project that essentially duplicates the
> DaisyCsoundProcess example, the only differences in the code being the
> changes names and the contents of csdText.
>
> Here's the UDO I'm using, which works fine with standalone Csound. It
> takes an input signal and turns it into a stereo output  signal with a
> binaural beat. When it's executed on the Daisy, I can sort of hear the
> output, but it's very noisy. Is there anything in this code that you would
> not expect to work on the Daisy?
>
>     opcode binauralize, aa, ak
>       ain,kdiff xin
>
>       ; take it apart
>       fsig pvsanal ain, 2048, 2048/4, 2048, 1
>
>       ; determine pitches
>       ; kcent, kamp pvspitch fsig, 0.1
>       kcent pvscent fsig
>
>       if (kcent > 0) && (kdiff > 0) then
>         kdiff /= 2
>         krat1 = (kcent + kdiff) / kcent
>         krat2 = (kcent - kdiff) / kcent
>       else
>         krat1 = 1
>         krat2 = 1
>       endif
>
>       ; create derived streams with shifted pitches
>       fsig2 = fsig
>       fbinL pvscale fsig,  krat1, 0
>       fbinR pvscale fsig2, krat2, 0
>
>       ; put it back together
>       aoutL pvsynth fbinL
>       aoutR pvsynth fbinR
>
>       xout aoutL, aoutR
>     endop
>
>