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

thorin kerr <[email protected]> Sat, 13 Sep 2025 22:18:42 +1000
Newsgroups gmane.comp.audio.csound.devel
Message-ID <CABf-TA9QSNhnYPEDkrHC72k2yJErCkAaupM629xtLm7MbOOShg@mail.gmail.com>
I managed to get Dave's example working cleanly with the following settings:
ksmps=256, ifftsize=1024,
also hw.SetAudioBlockSize(512); in the .cpp.
And... instead of pvsynth...
aoutL pvsadsyn fbinL, 55, 1, 6
aoutR pvsadsyn fbinR, 55, 1, 6




On Sat, Sep 13, 2025 at 3:41 AM Dave Seidel <[email protected]> wrote:

> 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
>>
>>