Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] More Daisy help
Dave Seidel <[email protected]> Sun, 14 Sep 2025 14:29:35 -0400
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CAMnrweArKnTpQoOYbCz=d1_9BRF6PwwevuifyQvkVMONdc2L+w@mail.gmail.com> |
Yes, the book example works fine on my RPi. On the Versio/Daisy it is noisy, similar to the result I got from my original code. This is why I am now thinking that possibly something needs to change in the C code to work properly on this particular Daisy platform. So I will study the published Versio example (which is entirely C) and see if I can spot the difference(s). We may need different boilerplate code for Csound on Versio. On Sun, Sep 14, 2025 at 2:22 PM Victor Lazzarini < [email protected]> wrote: > and the Csound processing example, how does that do in your setup? Does it > work well. > > The delay line shifter code is fairly low in cost, so I would think it > should run well. It should even allow for small ksmps/blocksize. I had a > variable delay code running here with ksmps=8, and audio block size set to > ksmps. > > Prof. Victor Lazzarini > Maynooth University > Ireland > > On 14 Sep 2025, at 19:07, Dave Seidel <[email protected]> wrote: > > > Identical to DaisyCsoundProcess, the only difference being the name of the > file and the name of the included header. > > On Sun, Sep 14, 2025 at 1:25 PM Victor Lazzarini < > [email protected]> wrote: > >> And the C program you used? >> Prof. Victor Lazzarini >> Maynooth University >> Ireland >> >> On 14 Sep 2025, at 18:18, Dave Seidel <[email protected]> wrote: >> >> >> Still haven't found my book, but I do have a (purchased) PDF of the >> Springer Csound book by Victor et al. This contains the same pitchshifter >> code along with the explanation. >> >> (BTW, the window used in the book is a triangle. Any reason to prefer >> Hanningh over triangle?) >> >> In any case, this pitchy shifter code doesn't work well on my Daisy >> either -- still a lot of noise overlaying the generated output. But this is >> a Versio, so perhaps it requires something different in the >> setup/initialization? Next step, I guess, is to compare the code in the >> Versio example in DaisyExamples to the boilerplate C++ code used in the >> DaisyCsound examples. >> >> I've attached my header file with the Csound code in it. The same Csound >> code works just fine on my Raspberry Pi. >> >> >> On Fri, Sep 12, 2025 at 4:19 PM Victor Lazzarini < >> [email protected]> wrote: >> >>> I think the second pvsynth in this code might be pushing it >>> Prof. Victor Lazzarini >>> Maynooth University >>> Ireland >>> >>> On 12 Sep 2025, at 20:18, Dave Seidel <[email protected]> wrote: >>> >>> >>> Rory, this was running in Daisy? >>> >>> On Fri, Sep 12, 2025 at 3:13 PM Rory Walsh <[email protected]> wrote: >>> >>>> I've used ksmps=256 and fftsize=1024 and it's worked Ok for me. I've >>>> been using pvsmooth and pvsynth. Not very heavy stuff, but nice results all >>>> the same. >>>> >>>> On Fri, 12 Sept 2025 at 20:11, Dave Seidel <[email protected]> >>>> wrote: >>>> >>>>> Great, thanks very much! Still looking for the book... :-) >>>>> >>>>> On Fri, Sep 12, 2025 at 1:56 PM Victor Lazzarini < >>>>> [email protected]> wrote: >>>>> >>>>>> Essentially this >>>>>> https://github.com/csound/book/blob/master/part4/chapter13/13.12.csd >>>>>> >>>>>> Prof. Victor Lazzarini >>>>>> Maynooth University >>>>>> Ireland >>>>>> >>>>>> On 12 Sep 2025, at 18:41, 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 >>>>>>> >>>>>>> <daisyCsoundVersio.h> >> >>