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

Dave Seidel <[email protected]> Sun, 14 Sep 2025 14:09:18 -0400
Newsgroups gmane.comp.audio.csound.devel
Message-ID <CAMnrweDs+KTy5zdSGTMuOQeH_k_Hr8w_xEeVJcENHVV6QGbmRg@mail.gmail.com>
Ah, thanks Thorin, I will try that. Did you do this on a Daisy? I should
mention that the code, as I posted it, works on the Qu-Bit Nebulae, which
runs Csound 6 in a Raspberry Pi 3.

On Sat, Sep 13, 2025 at 8:18 AM thorin kerr <[email protected]> wrote:

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