Loading and saving audio to tables on the fly

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Loading and saving audio to tables on the fly

Iain Duncan
There has been so much new progress with csound5 on this front that I'd like
some pointers on the most *efficient* way to do this now before poring through
all the options. Essentially I want to add souped up Electrix repeater stuff to
my sequencer rig, so I'd be streaming audio input into tables and then playing
them out.

Thanks
Iain



--
Send bugs reports to [hidden email]
              (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
To unsubscribe, send email to [hidden email]
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Loading and saving audio to tables on the fly

Steven Yi
Hi Iain,

I'm not sure if if this covers it, but Victor added a couple of
looping opcodes to CS5 this past week (or maybe the week before).  One
is called flooper, and the other I'm not sure.  I had integrated the
manual entries he wrote today and came across them.  (I'll be building
and releasing a new manual tomorrow with those entries, amongst other
things).  Going to sleep now, but perhaps Victor can enlighten us a
bit more on the new opcodes.

steven



On 5/26/05, [hidden email] <[hidden email]> wrote:

> There has been so much new progress with csound5 on this front that I'd like
> some pointers on the most *efficient* way to do this now before poring through
> all the options. Essentially I want to add souped up Electrix repeater stuff to
> my sequencer rig, so I'd be streaming audio input into tables and then playing
> them out.
>
> Thanks
> Iain
>
>
>
> --
> Send bugs reports to [hidden email]
>               (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
> To unsubscribe, send email to [hidden email]
>
--
Send bugs reports to [hidden email]
              (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
To unsubscribe, send email to [hidden email]
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Loading and saving audio to tables on the fly

Victor Lazzarini
These two opcodes are two simple looping UGs that I reckoned
csound lacked; the whole looping thing seems to be the staple
diet for many a MaxMSP user, so I thought if we made it easier
for people, perhaps we might get more users.

the first opcode is an input signal looper

asig, krec sndloop ain,kpitch,kon,idur,ifad

ain is the input signal, which gets recorded in a buffer of idur seconds,
with icfd seconds crossfade at the splice. Kpitch can control the playback
pitch (speed), it is a playback pitch ratio. kon is a trigger signal, when
it is <= 1, it starts the opcode; if it falls below 1, then the opcode is
bypassed (input => output). When it gets >= 1 again, it starts the
opcode again. The first idur secs of each time the opcode is started
are recorded, and during recording krec is 1, otherwise 0.

the second one is a table-based looper, a bit like loscil, but
with user-defined crossfade time.

asig flooper kamp,kpitch,istart,idur,ifad,ifn

On init time, an idur secs portion of table ifn gets copied into an
internal buffer, starting a istart secs into the table, and with an ifad
secs crossfade time at the splice point. This is then played back
with an amplitude and pitch control. Because the loop is extracted
from the the table at i-time, this one does not work with tables
written during perfomance. Sndloop is the one designed for that task.

An alternative to doing this is to implement the looping thing as a UDO;
I had a couple of these things in the repository, but I think I need to
add them again, as they might have disappeared.

Victor

At 07:00 27/05/2005, you wrote:

>Hi Iain,
>
>I'm not sure if if this covers it, but Victor added a couple of
>looping opcodes to CS5 this past week (or maybe the week before).  One
>is called flooper, and the other I'm not sure.  I had integrated the
>manual entries he wrote today and came across them.  (I'll be building
>and releasing a new manual tomorrow with those entries, amongst other
>things).  Going to sleep now, but perhaps Victor can enlighten us a
>bit more on the new opcodes.
>
>steven
>
>
>
>On 5/26/05, [hidden email] <[hidden email]> wrote:
> > There has been so much new progress with csound5 on this front that I'd
> like
> > some pointers on the most *efficient* way to do this now before poring
> through
> > all the options. Essentially I want to add souped up Electrix repeater
> stuff to
> > my sequencer rig, so I'd be streaming audio input into tables and then
> playing
> > them out.
> >
> > Thanks
> > Iain
> >
> >
> >
> > --
> > Send bugs reports to [hidden email]
> >               (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
> > To unsubscribe, send email to [hidden email]
> >
>--
>Send bugs reports to [hidden email]
>               (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
>To unsubscribe, send email to [hidden email]

Victor Lazzarini
Music Technology Laboratory
Music Department
National University of Ireland, Maynooth

--
Send bugs reports to [hidden email]
              (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
To unsubscribe, send email to [hidden email]
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Loading and saving audio to tables on the fly

Iain Duncan
Thanks Victor. Any idea which method is the most cpu efficient, even if
not the easiest to code?

Iain

Victor Lazzarini wrote:

> These two opcodes are two simple looping UGs that I reckoned
> csound lacked; the whole looping thing seems to be the staple
> diet for many a MaxMSP user, so I thought if we made it easier
> for people, perhaps we might get more users.
>
> the first opcode is an input signal looper
>
> asig, krec sndloop ain,kpitch,kon,idur,ifad
>
> ain is the input signal, which gets recorded in a buffer of idur seconds,
> with icfd seconds crossfade at the splice. Kpitch can control the playback
> pitch (speed), it is a playback pitch ratio. kon is a trigger signal, when
> it is <= 1, it starts the opcode; if it falls below 1, then the opcode is
> bypassed (input => output). When it gets >= 1 again, it starts the
> opcode again. The first idur secs of each time the opcode is started
> are recorded, and during recording krec is 1, otherwise 0.
>
> the second one is a table-based looper, a bit like loscil, but
> with user-defined crossfade time.
>
> asig flooper kamp,kpitch,istart,idur,ifad,ifn
>
> On init time, an idur secs portion of table ifn gets copied into an
> internal buffer, starting a istart secs into the table, and with an ifad
> secs crossfade time at the splice point. This is then played back
> with an amplitude and pitch control. Because the loop is extracted
> from the the table at i-time, this one does not work with tables
> written during perfomance. Sndloop is the one designed for that task.
>
> An alternative to doing this is to implement the looping thing as a UDO;
> I had a couple of these things in the repository, but I think I need to
> add them again, as they might have disappeared.
>
> Victor
>
> At 07:00 27/05/2005, you wrote:
>
>> Hi Iain,
>>
>> I'm not sure if if this covers it, but Victor added a couple of
>> looping opcodes to CS5 this past week (or maybe the week before).  One
>> is called flooper, and the other I'm not sure.  I had integrated the
>> manual entries he wrote today and came across them.  (I'll be building
>> and releasing a new manual tomorrow with those entries, amongst other
>> things).  Going to sleep now, but perhaps Victor can enlighten us a
>> bit more on the new opcodes.
>>
>> steven
>>
>>
>>
>> On 5/26/05, [hidden email] <[hidden email]> wrote:
>> > There has been so much new progress with csound5 on this front that
>> I'd like
>> > some pointers on the most *efficient* way to do this now before
>> poring through
>> > all the options. Essentially I want to add souped up Electrix
>> repeater stuff to
>> > my sequencer rig, so I'd be streaming audio input into tables and
>> then playing
>> > them out.
>> >
>> > Thanks
>> > Iain
>> >
>> >
>> >
>> > --
>> > Send bugs reports to [hidden email]
>> >               (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
>> > To unsubscribe, send email to [hidden email]
>> >
>> --
>> Send bugs reports to [hidden email]
>>               (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
>> To unsubscribe, send email to [hidden email]
>
>
> Victor Lazzarini
> Music Technology Laboratory
> Music Department
> National University of Ireland, Maynooth
--
Send bugs reports to [hidden email]
              (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
To unsubscribe, send email to [hidden email]
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: Loading and saving audio to tables on the fly

Victor Lazzarini
In reply to this post by Iain Duncan
Try sndloop, I think it's probably easy on the cpu.

Victor

>
> Thanks Victor. Any idea which method is the most cpu
> efficient, even if  not the easiest to code?
>
> Iain
>
> Victor Lazzarini wrote:
> > These two opcodes are two simple looping UGs that I
> > reckoned csound lacked; the whole looping thing seems to
> > be the staple diet for many a MaxMSP user, so I thought
> > if we made it easier for people, perhaps we might get
> > more users.
> > the first opcode is an input signal looper
> >
> > asig, krec sndloop ain,kpitch,kon,idur,ifad
> >
> > ain is the input signal, which gets recorded in a buffer
> > of idur seconds, with icfd seconds crossfade at the
> > splice. Kpitch can control the playback pitch (speed),
> it is a playback pitch ratio. kon is a trigger signal,
> > when it is <= 1, it starts the opcode; if it falls below
> > 1, then the opcode is bypassed (input => output). When
> > it gets >= 1 again, it starts the opcode again. The
> > first idur secs of each time the opcode is started are
> > recorded, and during recording krec is 1, otherwise 0.
> > the second one is a table-based looper, a bit like
> > loscil, but with user-defined crossfade time.
> >
> > asig flooper kamp,kpitch,istart,idur,ifad,ifn
> >
> > On init time, an idur secs portion of table ifn gets
> > copied into an internal buffer, starting a istart secs
> > into the table, and with an ifad secs crossfade time at
> > the splice point. This is then played back with an
> > amplitude and pitch control. Because the loop is
> extracted from the the table at i-time, this one does not
> > work with tables written during perfomance. Sndloop is
> > the one designed for that task.
> > An alternative to doing this is to implement the looping
> > thing as a UDO; I had a couple of these things in the
> > repository, but I think I need to add them again, as
> > they might have disappeared.
> > Victor
> >
> > At 07:00 27/05/2005, you wrote:
> >
> >> Hi Iain,
> >>
> >> I'm not sure if if this covers it, but Victor added a
> couple of >> looping opcodes to CS5 this past week (or
> maybe the week before).  One >> is called flooper, and the
> other I'm not sure.  I had integrated the >> manual
> entries he wrote today and came across them.  (I'll be
> building >> and releasing a new manual tomorrow with those
> entries, amongst other >> things).  Going to sleep now,
> but perhaps Victor can enlighten us a >> bit more on the
> new opcodes. >>
> >> steven
> >>
> >>
> >>
> >> On 5/26/05, [hidden email] <[hidden email]>
> wrote: >> > There has been so much new progress with
> csound5 on this front that  >> I'd like
> >> > some pointers on the most *efficient* way to do this
> now before  >> poring through
> >> > all the options. Essentially I want to add souped up
> Electrix  >> repeater stuff to
> >> > my sequencer rig, so I'd be streaming audio input
> into tables and  >> then playing
> >> > them out.
> >> >
> >> > Thanks
> >> > Iain
> >> >
> >> >
> >> >
> >> > --
> >> > Send bugs reports to [hidden email]
> >> >               (or to
> http://www.cs.bath.ac.uk/cgi-bin/csound ) >> > To
> unsubscribe, send email to
> [hidden email] >> >
> >> --
> >> Send bugs reports to [hidden email]
> >>               (or to
> http://www.cs.bath.ac.uk/cgi-bin/csound ) >> To
> unsubscribe, send email to
> > [hidden email]
> >
> > Victor Lazzarini
> > Music Technology Laboratory
> > Music Department
> > National University of Ireland, Maynooth
> --
> Send bugs reports to [hidden email]
>               (or to
> http://www.cs.bath.ac.uk/cgi-bin/csound ) To unsubscribe,
> send email to [hidden email]
--
Send bugs reports to [hidden email]
              (or to http://www.cs.bath.ac.uk/cgi-bin/csound )
To unsubscribe, send email to [hidden email]
Loading...