Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] More Daisy help
Dave Seidel <[email protected]> Sun, 21 Sep 2025 16:30:38 -0400
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CAMnrweBRtQgkmZgoPVOQjsBQDE7WEftfvF+39i0MATAEXktMsQ@mail.gmail.com> |
Thanks, Thorin -- sorry, your message went into my spam folder for some reason and I just saw it now. Good information. On Sun, Sep 14, 2025 at 8:37 PM thorin kerr <[email protected]> wrote: > 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 >>>>> >>>>>