Csound Csound-dev Csound-tekno Search About

[Csnd] Advance score to first note event

Date2020-10-13 20:11
FromJason Hallen
Subject[Csnd] Advance score to first note event
Hi everyone,

I've written some code that generates a Csound score with a context-free grammar and randomized elements.  It makes use of { . } loops and b-statements to place events in time.  As a result of the randomness, sometimes the score has lots of silence at the beginning until the first note event occurs.  I'd actually prefer to cut out that silence and start the piece from the first note event.  However, I'm not sure how to do that because, due to the constraints of how I've composed this, I don't have a way of knowing when exactly that first note event occurs.  This is why I can't just use the a-statement to advance the score to the first note event.

I'm strictly using the Csound score to generate the piece, so I can't do anything fancy in the orchestra to find a solution.  I am also not letting myself edit the score after it has been generated, which is why I want to find a solution within Csound itself.

Does anyone know of a way in the score to say "Advance ahead until first note event occurs"?

Thanks!
Jason
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

Date2020-10-13 21:09
FromHlöðver Sigurðsson
SubjectRe: [Csnd] Advance score to first note event
Assuming that this isn't a realtime composition, I would myself be curious if "scsort" would to the trick, there's to say precalculate the score and sort it, then you'd know when things start. Otherwise, I'd recommend writing a parser/compiler that doesn't output loop statements to have more granular control, csound will essentially parse and compile the loops anyway to individual events.

On Tue, 13 Oct 2020 at 21:11, Jason Hallen <hallenj@gmail.com> wrote:
Hi everyone,

I've written some code that generates a Csound score with a context-free grammar and randomized elements.  It makes use of { . } loops and b-statements to place events in time.  As a result of the randomness, sometimes the score has lots of silence at the beginning until the first note event occurs.  I'd actually prefer to cut out that silence and start the piece from the first note event.  However, I'm not sure how to do that because, due to the constraints of how I've composed this, I don't have a way of knowing when exactly that first note event occurs.  This is why I can't just use the a-statement to advance the score to the first note event.

I'm strictly using the Csound score to generate the piece, so I can't do anything fancy in the orchestra to find a solution.  I am also not letting myself edit the score after it has been generated, which is why I want to find a solution within Csound itself.

Does anyone know of a way in the score to say "Advance ahead until first note event occurs"?

Thanks!
Jason
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

Date2020-10-23 15:23
FromJason Hallen
SubjectRe: [Csnd] Advance score to first note event
Hi Hlodver,

Sorry for not responding sooner.  I ended up deciding that this was an issue I could live with and wasn't worth the effort to solve right now.  I appreciate your tip though!

Thanks,
Jason

On Tue, Oct 13, 2020 at 3:10 PM Hlöðver Sigurðsson <hlolli@gmail.com> wrote:
Assuming that this isn't a realtime composition, I would myself be curious if "scsort" would to the trick, there's to say precalculate the score and sort it, then you'd know when things start. Otherwise, I'd recommend writing a parser/compiler that doesn't output loop statements to have more granular control, csound will essentially parse and compile the loops anyway to individual events.

On Tue, 13 Oct 2020 at 21:11, Jason Hallen <hallenj@gmail.com> wrote:
Hi everyone,

I've written some code that generates a Csound score with a context-free grammar and randomized elements.  It makes use of { . } loops and b-statements to place events in time.  As a result of the randomness, sometimes the score has lots of silence at the beginning until the first note event occurs.  I'd actually prefer to cut out that silence and start the piece from the first note event.  However, I'm not sure how to do that because, due to the constraints of how I've composed this, I don't have a way of knowing when exactly that first note event occurs.  This is why I can't just use the a-statement to advance the score to the first note event.

I'm strictly using the Csound score to generate the piece, so I can't do anything fancy in the orchestra to find a solution.  I am also not letting myself edit the score after it has been generated, which is why I want to find a solution within Csound itself.

Does anyone know of a way in the score to say "Advance ahead until first note event occurs"?

Thanks!
Jason
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