Re: [Csnd-dev] [EXTERNAL] [Csnd-dev] sysdep.h and MAXLEN for ftables
Victor Lazzarini <[email protected]>
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <[email protected]> |
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