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