Csound Csound-dev Csound-tekno Search About

Re: [Csnd] Having difficulty with ftsamplebank

Date2023-03-12 04:12
FromScott Daughtrey
SubjectRe: [Csnd] Having difficulty with ftsamplebank
Solved, somewhat. It appears the issue was that it takes a fraction of a second to load and process all the samples. Meanwhile Csound is already strarting to process the table opcode or (l)oscil3 so they are unable to find the ftables. By using gi ftsamplebank and starting the instr a second later it works fine.

Perhaps it would be better if the opcode halted Csound processing until the samples were loaded provided ftsample bank is either global or comes before any tables or oscillators but knowing next nothing about the way Csound processes (aside from being somewhat linear) that may not be practical from a programming perspective. And starting the instruments a second later is not really an inconvenience either. 

I also realized it was probably silly and unnecessary to use the table3 opcode since loscil3 is already capable of both reading the table and cubic interpolation on it's own.

Essentially I want to be able to morph between the samples like using a wavetable (Serum, Massive etc.). I thought perhaps 
ftmorf would be the easiest approach - would GEN 10 still be advised for this as in the manual example or should I consider using GEN01 still? Or perhaps a mixing GEN like GEN18 or 32? The single cycle wav files I'm using are not power of 2, but each set is equal size such as 600 points each.

Any thoughts here are welcome.

Scott

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here

Date2023-03-12 06:38
Fromthorin kerr
SubjectRe: [Csnd] Having difficulty with ftsamplebank
>From what you've described with morphing lots of wavetables, I'd look at ftsamplebank and read them all with an opcode like tabmorphak.
Are you using Csound in a single thread? or do you have the -j option set?



On Sun, Mar 12, 2023 at 2:07 PM Scott Daughtrey <stunes6556@gmail.com> wrote:
Solved, somewhat. It appears the issue was that it takes a fraction of a second to load and process all the samples. Meanwhile Csound is already strarting to process the table opcode or (l)oscil3 so they are unable to find the ftables. By using gi ftsamplebank and starting the instr a second later it works fine.

Perhaps it would be better if the opcode halted Csound processing until the samples were loaded provided ftsample bank is either global or comes before any tables or oscillators but knowing next nothing about the way Csound processes (aside from being somewhat linear) that may not be practical from a programming perspective. And starting the instruments a second later is not really an inconvenience either.

I also realized it was probably silly and unnecessary to use the table3 opcode since loscil3 is already capable of both reading the table and cubic interpolation on it's own.

Essentially I want to be able to morph between the samples like using a wavetable (Serum, Massive etc.). I thought perhaps
ftmorf would be the easiest approach - would GEN 10 still be advised for this as in the manual example or should I consider using GEN01 still? Or perhaps a mixing GEN like GEN18 or 32? The single cycle wav files I'm using are not power of 2, but each set is equal size such as 600 points each.

Any thoughts here are welcome.

Scott

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2023-03-12 10:37
FromDave Seidel
SubjectRe: [Csnd] Having difficulty with ftsamplebank
I very often have an instrument called "Init" (I use named instruments) and have that start before anything else.

On Sun, Mar 12, 2023 at 1:39 AM thorin kerr <thorin.kerr@gmail.com> wrote:
>From what you've described with morphing lots of wavetables, I'd look at ftsamplebank and read them all with an opcode like tabmorphak.
Are you using Csound in a single thread? or do you have the -j option set?



On Sun, Mar 12, 2023 at 2:07 PM Scott Daughtrey <stunes6556@gmail.com> wrote:
Solved, somewhat. It appears the issue was that it takes a fraction of a second to load and process all the samples. Meanwhile Csound is already strarting to process the table opcode or (l)oscil3 so they are unable to find the ftables. By using gi ftsamplebank and starting the instr a second later it works fine.

Perhaps it would be better if the opcode halted Csound processing until the samples were loaded provided ftsample bank is either global or comes before any tables or oscillators but knowing next nothing about the way Csound processes (aside from being somewhat linear) that may not be practical from a programming perspective. And starting the instruments a second later is not really an inconvenience either.

I also realized it was probably silly and unnecessary to use the table3 opcode since loscil3 is already capable of both reading the table and cubic interpolation on it's own.

Essentially I want to be able to morph between the samples like using a wavetable (Serum, Massive etc.). I thought perhaps
ftmorf would be the easiest approach - would GEN 10 still be advised for this as in the manual example or should I consider using GEN01 still? Or perhaps a mixing GEN like GEN18 or 32? The single cycle wav files I'm using are not power of 2, but each set is equal size such as 600 points each.

Any thoughts here are welcome.

Scott

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2023-03-12 10:41
FromST Music
SubjectRe: [Csnd] Having difficulty with ftsamplebank
Thanks Thorin, just looked at that, hopefully solves some of my issues. 

Also, what is the -j statement - any idea where I'd find it in the manual?

Best, 
Scott

On Sun, Mar 12, 2023, 1:39 AM thorin kerr, <thorin.kerr@gmail.com> wrote:
>From what you've described with morphing lots of wavetables, I'd look at ftsamplebank and read them all with an opcode like tabmorphak.
Are you using Csound in a single thread? or do you have the -j option set?



On Sun, Mar 12, 2023 at 2:07 PM Scott Daughtrey <stunes6556@gmail.com> wrote:
Solved, somewhat. It appears the issue was that it takes a fraction of a second to load and process all the samples. Meanwhile Csound is already strarting to process the table opcode or (l)oscil3 so they are unable to find the ftables. By using gi ftsamplebank and starting the instr a second later it works fine.

Perhaps it would be better if the opcode halted Csound processing until the samples were loaded provided ftsample bank is either global or comes before any tables or oscillators but knowing next nothing about the way Csound processes (aside from being somewhat linear) that may not be practical from a programming perspective. And starting the instruments a second later is not really an inconvenience either.

I also realized it was probably silly and unnecessary to use the table3 opcode since loscil3 is already capable of both reading the table and cubic interpolation on it's own.

Essentially I want to be able to morph between the samples like using a wavetable (Serum, Massive etc.). I thought perhaps
ftmorf would be the easiest approach - would GEN 10 still be advised for this as in the manual example or should I consider using GEN01 still? Or perhaps a mixing GEN like GEN18 or 32? The single cycle wav files I'm using are not power of 2, but each set is equal size such as 600 points each.

Any thoughts here are welcome.

Scott

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2023-03-12 10:46
FromST Music
SubjectRe: [Csnd] Having difficulty with ftsamplebank
Sounds like a good idea, Dave, thank you. And I also generally name my instruments as well.

Do you put your global variables in that as well, or are you using it more to give a slight bit of extra time for Csound to "pre-process" (if that's the right term)?

Scott

On Sun, Mar 12, 2023, 6:39 AM Dave Seidel, <dave.seidel@gmail.com> wrote:
I very often have an instrument called "Init" (I use named instruments) and have that start before anything else.

On Sun, Mar 12, 2023 at 1:39 AM thorin kerr <thorin.kerr@gmail.com> wrote:
>From what you've described with morphing lots of wavetables, I'd look at ftsamplebank and read them all with an opcode like tabmorphak.
Are you using Csound in a single thread? or do you have the -j option set?



On Sun, Mar 12, 2023 at 2:07 PM Scott Daughtrey <stunes6556@gmail.com> wrote:
Solved, somewhat. It appears the issue was that it takes a fraction of a second to load and process all the samples. Meanwhile Csound is already strarting to process the table opcode or (l)oscil3 so they are unable to find the ftables. By using gi ftsamplebank and starting the instr a second later it works fine.

Perhaps it would be better if the opcode halted Csound processing until the samples were loaded provided ftsample bank is either global or comes before any tables or oscillators but knowing next nothing about the way Csound processes (aside from being somewhat linear) that may not be practical from a programming perspective. And starting the instruments a second later is not really an inconvenience either.

I also realized it was probably silly and unnecessary to use the table3 opcode since loscil3 is already capable of both reading the table and cubic interpolation on it's own.

Essentially I want to be able to morph between the samples like using a wavetable (Serum, Massive etc.). I thought perhaps
ftmorf would be the easiest approach - would GEN 10 still be advised for this as in the manual example or should I consider using GEN01 still? Or perhaps a mixing GEN like GEN18 or 32? The single cycle wav files I'm using are not power of 2, but each set is equal size such as 600 points each.

Any thoughts here are welcome.

Scott

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here

Date2023-03-12 10:58
FromDave Seidel
SubjectRe: [Csnd] Having difficulty with ftsamplebank
I generally initialize my globals preceding the instrument definitions, unless I need to use code to fill up an array or something like that. Yes, I usually give it  0.5 or 1 seconds to run before other instruments begin, even when it does really need it.

The "-j" flag is listed alphabetically in the "Csound command" line section of the manual, and also in the "Command-line flags (by Category)" section, under the heading "Performance Configuration and Control", and of course it's also included in the -h/--help output on the command line. The -j flag takes a numeric option to specify how many threads Csound should use.

On Sun, Mar 12, 2023 at 6:47 AM ST Music <stunes6556@gmail.com> wrote:
Sounds like a good idea, Dave, thank you. And I also generally name my instruments as well.

Do you put your global variables in that as well, or are you using it more to give a slight bit of extra time for Csound to "pre-process" (if that's the right term)?

Scott

On Sun, Mar 12, 2023, 6:39 AM Dave Seidel, <dave.seidel@gmail.com> wrote:
I very often have an instrument called "Init" (I use named instruments) and have that start before anything else.

On Sun, Mar 12, 2023 at 1:39 AM thorin kerr <thorin.kerr@gmail.com> wrote:
>From what you've described with morphing lots of wavetables, I'd look at ftsamplebank and read them all with an opcode like tabmorphak.
Are you using Csound in a single thread? or do you have the -j option set?



On Sun, Mar 12, 2023 at 2:07 PM Scott Daughtrey <stunes6556@gmail.com> wrote:
Solved, somewhat. It appears the issue was that it takes a fraction of a second to load and process all the samples. Meanwhile Csound is already strarting to process the table opcode or (l)oscil3 so they are unable to find the ftables. By using gi ftsamplebank and starting the instr a second later it works fine.

Perhaps it would be better if the opcode halted Csound processing until the samples were loaded provided ftsample bank is either global or comes before any tables or oscillators but knowing next nothing about the way Csound processes (aside from being somewhat linear) that may not be practical from a programming perspective. And starting the instruments a second later is not really an inconvenience either.

I also realized it was probably silly and unnecessary to use the table3 opcode since loscil3 is already capable of both reading the table and cubic interpolation on it's own.

Essentially I want to be able to morph between the samples like using a wavetable (Serum, Massive etc.). I thought perhaps
ftmorf would be the easiest approach - would GEN 10 still be advised for this as in the manual example or should I consider using GEN01 still? Or perhaps a mixing GEN like GEN18 or 32? The single cycle wav files I'm using are not power of 2, but each set is equal size such as 600 points each.

Any thoughts here are welcome.

Scott

Csound mailing list
Csound@listserv.heanet.ie
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here
Csound mailing list Csound@listserv.heanet.ie https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND Send bugs reports to https://github.com/csound/csound/issues Discussions of bugs and features can be posted here