[Csnd] Anyone used tabrec opcode?

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

[Csnd] Anyone used tabrec opcode?

jpff
I may have asked this before, but I am struggling to understand the
tabrec/tabplay opcodes so any input is welcome

==John ffitch

Csound mailing list
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Anyone used tabrec opcode?

genell
I don’t know if this is what you are after, and I don’t have my example before me now to include here, but I have used tabplay successfully by importing values from a text file to a table (is that GEN23? - can’t remember) and then let tabplay vary a k-rate signal according to values in the table. The values were recorded values for revolutions per minute of an engine, and by setting the global kr value to the rate of recorded rpm values (1kHz for a standard vehicle CAN-bus), I was able to replay a rpm sweep of the engine using our synthesized engine sound and compare it to the corresponding audio recording.
I also imagine one could record MIDI data from twiddling knobs into a table in order to play it back as needed, kind of like a simple MIDI sequencer.
For my case I found tabplay very useful and I don’t recall having any trouble adapting the manual example to my needs.

Regards,
Anders

> 21 apr. 2018 kl. 22:42 skrev John <[hidden email]>:
>
> I may have asked this before, but I am struggling to understand the
> tabrec/tabplay opcodes so any input is welcome
>
> ==John ffitch
>
> Csound mailing list
> [hidden email]
> 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
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Anyone used tabrec opcode?

Iain McCurdy
In reply to this post by jpff

Hi John,


It is used for storing and playing back one or more control signals. On reading the documentation I agree that its entry could probably be expanded upon and improved.

Here is an example that might help. instr 1 records rspline control signals for pitch (oct) and panning position using tabrec for 3 seconds. Then instr 2 reads these functions and uses them with an oscillator.


0dbfs = 1
nchnls = 2

gifn ftgen 0,0,1049576,2,0

; record control signals
instr   1
ktrig_start init    1
koct        rspline 7,10,1,2
kpan        rspline 7,10,0.1,0.9
ktrig_stop  =       1
knumtics    =       kr*p3
            tabrec  ktrig_start,ktrig_stop,knumtics,gifn,koct,kpan
ktrig_start =       0
endin

; play control signals
instr   2
koct,kpan   init    0
ktrig       init    1
knumtics    =       kr*p3
            tabplay ktrig,knumtics,gifn,koct,kpan

ktrig = 0

asig        poscil  0.1, cpsoct(koct)
aL,aR       pan2    asig,kpan
            outs    aL,aR
endin

Iain




From: A discussion list for users of Csound <[hidden email]> on behalf of John <[hidden email]>
Sent: 21 April 2018 20:42
To: [hidden email]
Subject: [Csnd] Anyone used tabrec opcode?
 
I may have asked this before, but I am struggling to understand the
tabrec/tabplay opcodes so any input is welcome

==John ffitch

Csound mailing list
[hidden email]
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 [hidden email] 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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Anyone used tabrec opcode?

jpff
Thank you; that almost makes sense.  I hope it is OK but I adjusted your
example a little and used it (with acknowledgement) in the manual.

-==John ff

On Mon, 23 Apr 2018, Iain McCurdy wrote:

>
> Hi John,
>
>
> It is used for storing and playing back one or more control signals. On
> reading the documentation I agree that its entry could probably be expanded
> upon and improved.
>
> Here is an example that might help. instr 1 records rspline control signals
> for pitch (oct) and panning position using tabrec for 3 seconds. Then instr 2
> reads these functions and uses them with an oscillator.
>
>
> 0dbfs = 1
> nchnls = 2
>
> gifn ftgen 0,0,1049576,2,0
>
> ; record control signals
> instr   1
> ktrig_start init    1
> koct        rspline 7,10,1,2
> kpan        rspline 7,10,0.1,0.9
> ktrig_stop  =       1
> knumtics    =       kr*p3
>             tabrec  ktrig_start,ktrig_stop,knumtics,gifn,koct,kpan
> ktrig_start =       0
> endin
>
> ; play control signals
> instr   2
> koct,kpan   init    0
> ktrig       init    1
> knumtics    =       kr*p3
>             tabplay ktrig,knumtics,gifn,koct,kpan
>
> ktrig = 0
>
> asig        poscil  0.1, cpsoct(koct)
> aL,aR       pan2    asig,kpan
>             outs    aL,aR
> endin
>
> Iain
>
>
>
> ______________________________________________________________________________
> From: A discussion list for users of Csound <[hidden email]> on
> behalf of John <[hidden email]>
> Sent: 21 April 2018 20:42
> To: [hidden email]
> Subject: [Csnd] Anyone used tabrec opcode?  
> I may have asked this before, but I am struggling to understand the
> tabrec/tabplay opcodes so any input is welcome
>
> ==John ffitch
>
> Csound mailing list
> [hidden email]
> https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
> LISTSERV 16.0 - CSOUND List at LISTSERV.HEANET.IE
> listserv.heanet.ie
> CSOUND Home Page [hidden email]: LISTSERV Archives
>
>
> Send bugs reports to
>         https://github.com/csound/csound/issues
> Discussions of bugs and features can be posted here
> Csound mailing list [hidden email]
> 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
[hidden email]
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
Reply | Threaded
Open this post in threaded view
|

Re: [Csnd] Anyone used tabrec opcode?

Doctor B
Great.  It is an excellent example!  Thanks again Iain! (and John!!)

_____________________________________________
Dr. Richard Boulanger
Professor of Electronic Production and Design
Professional Writing and Music Technology Division
Berklee College of Music
______________________________________________
President of Boulanger Labs - http://boulangerlabs.com
Author & Editor of The Csound Book - http://mitpress.mit.edu/books/csound-book
Author & Editor of The Audio Programming Book - http://mitpress.mit.edu/books/audio-programming-book
______________________________________________
about: 
http://www.boulangerlabs.com/#about
about: http://www.csounds.com/community/developers/dr-richard-boulanger/
music: http://www.csounds.com/community/developers/dr-richard-boulanger/dr-richard-boulanger-music/

______________________________________________
email: [hidden email]
facebook: https://www.facebook.com/richard.boulanger.58

On Thu, Apr 26, 2018 at 5:04 PM, jpff <[hidden email]> wrote:
Thank you; that almost makes sense.  I hope it is OK but I adjusted your example a little and used it (with acknowledgement) in the manual.

-==John ff


On Mon, 23 Apr 2018, Iain McCurdy wrote:


Hi John,


It is used for storing and playing back one or more control signals. On
reading the documentation I agree that its entry could probably be expanded
upon and improved.

Here is an example that might help. instr 1 records rspline control signals
for pitch (oct) and panning position using tabrec for 3 seconds. Then instr 2
reads these functions and uses them with an oscillator.


0dbfs = 1
nchnls = 2

gifn ftgen 0,0,1049576,2,0

; record control signals
instr   1
ktrig_start init    1
koct        rspline 7,10,1,2
kpan        rspline 7,10,0.1,0.9
ktrig_stop  =       1
knumtics    =       kr*p3
            tabrec  ktrig_start,ktrig_stop,knumtics,gifn,koct,kpan
ktrig_start =       0
endin

; play control signals
instr   2
koct,kpan   init    0
ktrig       init    1
knumtics    =       kr*p3
            tabplay ktrig,knumtics,gifn,koct,kpan

ktrig = 0

asig        poscil  0.1, cpsoct(koct)
aL,aR       pan2    asig,kpan
            outs    aL,aR
endin

Iain



______________________________________________________________________________

From: A discussion list for users of Csound <[hidden email]> on
behalf of John <[hidden email]>
Sent: 21 April 2018 20:42
To: [hidden email]
Subject: [Csnd] Anyone used tabrec opcode?  
I may have asked this before, but I am struggling to understand the
tabrec/tabplay opcodes so any input is welcome

==John ffitch

Csound mailing list
[hidden email]
https://listserv.heanet.ie/cgi-bin/wa?A0=CSOUND
LISTSERV 16.0 - CSOUND List at LISTSERV.HEANET.IE
listserv.heanet.ie
CSOUND Home Page [hidden email]: LISTSERV Archives


Send bugs reports to
        https://github.com/csound/csound/issues
Discussions of bugs and features can be posted here
Csound mailing list [hidden email]
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
[hidden email]
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 [hidden email] 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