Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] sysdep.h and MAXLEN for ftables

Giovanni Bedetti <[email protected]>
Newsgroups gmane.comp.audio.csound.devel
Message-ID <CAO+OKxk+XONcyvzNN9prDG8q2ZcV-r6uHQfvGGozawp_y+J98Q@mail.gmail.com>
Yes I'm using a M3 mac (ARM based) so that's why it's failing. I still have
to try it on Csound7.
2^31 looks like a big improvement, it's 811 minutes for a mono source at
44100Hz, correct?
So if it's possible let's go for it!


Il giorno mer 2 ott 2024 alle ore 07:43 vlz <[email protected]> ha
scritto:

> For multichannel, you can use one table per channel instead of interleaved
> and there's no loss in length.
>
> It looks like 2^31 is possible without having to edit the full codebase.
>
> Prof. Victor Lazzarini
> Maynooth University
> Ireland
>
> > On 2 Oct 2024, at 01:14, joachim heintz <[email protected]> wrote:
> >
> > but what giovanni mentioned as multi-channel import should be
> considered.  if we import interleaved, we can hit the limit more easy. so
> if it is safe to extend to 2^32 as maximum length, it might be good.
> >
> >> On 02/10/2024 00:46, Victor Lazzarini wrote:
> >> I figured it out:
> >> 1) Starting with 6.18.1 on Mac I released universal binaries
> >> 2) The check for B64BIT was only picking up the x86_64 nor arm64
> >> The result was that for  i1 ftgen 1, 0, 2^28, 2, 0, 2^28, 0
> >> 1) on arm64 (Csound 6.18.1)
> >> /usr/local/bin/csound test.csd -n
> >> INIT ERROR in instr 0 (opcode ftgen) line 8: ftgen error
> >>  from file test.csd (1),i1 ftgen 1 0 268435456 2 0 268435456 0
> >> 2) on x86_64 (Csound 6.18.1)
> >> arch -x86_64 /usr/local/bin/csound test.csd -n
> >> ftable 1: 268435456 points, scalemax 1.000
> >> So for 6.18.1, only the x86_64 allows up to 2^28-length tables.
> >> With Steven’s fix, Csound 7 is building with B64BIT on arm64. But I
> think this changes does not need to be limited to 64bit platforms.
> >> We probably can roll it out to all platforms.
> >>>> On 1 Oct 2024, at 23:12, vlz <[email protected]> wrote:
> >>>
> >>> I think the check was broken, Steven seems to have fixed it.
> >>>
> >>>> On 1 Oct 2024, at 23:06, vlz <[email protected]> wrote:
> >>>>
> >>>> Then for some reason in the build B64BIT is not defined. If that’s
> defined you can do
> >>>>
> >>>> i1 ftgen 1, 0, 2^28, 2, 0, 2^28, 0
> >>>>
> >>>> We need to check that.
> >>>>
> >>>>> On 1 Oct 2024, at 22:47, Giovanni Bedetti <
> [email protected]> wrote:
> >>>>>
> >>>>> I tried to create a table (using the API, compileOrc and
> CopyTableIn) after reading samples from a stereo file (so the table will
> hold both channels, interleaved): this works: audioClip samples 4549938x2 =
> 9099876, length (seconds): 103.1732, sr: 44100
> >>>>> this doesn't: audioClip samples 10612538x2 = 21225076, length
> (seconds): 240.6471, sr: 44100
> >>>>> with this log:
> >>>>> illegal table length
> >>>>> INIT ERROR in instr 0 (opcode ftgen) line 11: ftgen error
> gisampletable100 ftgen 100 0 -21225076 -7 0 0
> >>>>>
> >>>>> I'm still using Csound6 (6.18) on CsoundUnity on macOS
> >>>>>
> >>>>> Il giorno mar 1 ott 2024 alle ore 21:58 Victor Lazzarini <
> [email protected]> ha scritto:
> >>>>> That’s if B64BIT is not defined. Actually I don’t think we need to
> check for this.
> >>>>> ========================
> >>>>> Prof. Victor Lazzarini
> >>>>> Maynooth University
> >>>>> Ireland
> >>>>>
> >>>>>> On 1 Oct 2024, at 20:20, Steven Yi <[email protected]> wrote:
> >>>>>>
> >>>>>> I was going off what's documented in the manual (
> https://csound.com/docs/manual/f.html)
> >>>>>>
> >>>>>> "p3 -- Size of function table (i.e. number of points) Must be a
> power of 2, or a power-of-2 plus 1 if this number is positive. Maximum
> table size is 16777216 (224) points."
> >>>>>>
> >>>>>> I think Giovanni ran into issues with longer sized tables but I
> don't recall how long.
> >>>>>>
> >>>>>> On Tue, Oct 1, 2024 at 3:00 PM Victor Lazzarini <
> [email protected]> wrote:
> >>>>>> MAXLEN is 0x10000000 for most modern archs, that's 2^28 is it not?
> That translates into
> >>>>>> about 101 minutes of audio at 44100.
> >>>>>>
> >>>>>> It does not strike me as too short. I think we could get away with
> 2^32 without having to do a major overhaul, but I need to check if my idea
> works correctly. That would allows 1603 minutes or 27 hours of audio.
> >>>>>>
> >>>>>> Prof. Victor Lazzarini
> >>>>>> Maynooth University
> >>>>>> Ireland
> >>>>>>
> >>>>>>> On 1 Oct 2024, at 13:36, Steven Yi <[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 All,
> >>>>>>>
> >>>>>>> I was chatting with Giovanni Bedetti on Discord about max table
> length. It seems awfully small at 2^24 (~16MB). Any reason not to bump that
> up to something larger?
> >>>>>>>
> >>>>>>> Also, while looking at that, I noticed B64BIT detection in
> sysdep.h. I saw that it was missing aarch64 amongst other things, so I've
> submitted a PR to update this.
> >>>>>>>
> >>>>>>> steven
> >> ========================
> >> Prof. Victor Lazzarini
> >> Maynooth University
> >> Ireland
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.