Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] More Daisy help
thorin kerr <[email protected]> Mon, 15 Sep 2025 10:37:26 +1000
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CABf-TA8ppwpfv+TAaO7f9TGbFcy6YLdTPrq9t3CvfLVP0JFVnQ@mail.gmail.com> |
I did did it on a Daisy Pod, which is a Daisy Seed mounted on a board with a few conveniences (audio and midi io, and a few pots and buttons). On Mon, 15 Sept 2025, 4:09 am Dave Seidel, <[email protected]> wrote: > 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 >>>> >>>>