Csound Csound-dev Csound-tekno Search About

[Csnd] Amen Break PythonScore Tutorial

Date2013-04-08 21:16
FromJacob Joaquin
Subject[Csnd] Amen Break PythonScore Tutorial
Hello everyone,

I just published the first edition of "Amen Break PythonScore Tutorial":


I've also made some revisions to PythonScore module itself. First, the official name is PythonScore, one name, and have dropped the "pysco" part. Second, I've revised it to be a pure module and eliminated the original hacky way of setting things up in CsScore. There's a few more lines of code to get it setup in the score, but the trade off is that it'll be much better at being backwards compatible once the specification of the module is finalized. Plus, it'll work outside of the CsScore. Third, I've renamed some of the functions. Overall, it's working much better, and I have a clear path to refining it end extending it further.

Best,
Jake

Date2013-04-08 21:26
FromSteven Yi
SubjectRe: [Csnd] Amen Break PythonScore Tutorial
Very nice, thanks for sharing that!  


On Mon, Apr 8, 2013 at 9:16 PM, Jacob Joaquin <jacobjoaquin@gmail.com> wrote:
Hello everyone,

I just published the first edition of "Amen Break PythonScore Tutorial":


I've also made some revisions to PythonScore module itself. First, the official name is PythonScore, one name, and have dropped the "pysco" part. Second, I've revised it to be a pure module and eliminated the original hacky way of setting things up in CsScore. There's a few more lines of code to get it setup in the score, but the trade off is that it'll be much better at being backwards compatible once the specification of the module is finalized. Plus, it'll work outside of the CsScore. Third, I've renamed some of the functions. Overall, it's working much better, and I have a clear path to refining it end extending it further.

Best,
Jake


Date2013-04-08 21:28
From"Aziz Ege Gonul (Student)"
SubjectRe: [Csnd] Amen Break PythonScore Tutorial
Seems perfect, thank you!


On Mon, Apr 8, 2013 at 11:26 PM, Steven Yi <stevenyi@gmail.com> wrote:
Very nice, thanks for sharing that!  


On Mon, Apr 8, 2013 at 9:16 PM, Jacob Joaquin <jacobjoaquin@gmail.com> wrote:
Hello everyone,

I just published the first edition of "Amen Break PythonScore Tutorial":


I've also made some revisions to PythonScore module itself. First, the official name is PythonScore, one name, and have dropped the "pysco" part. Second, I've revised it to be a pure module and eliminated the original hacky way of setting things up in CsScore. There's a few more lines of code to get it setup in the score, but the trade off is that it'll be much better at being backwards compatible once the specification of the module is finalized. Plus, it'll work outside of the CsScore. Third, I've renamed some of the functions. Overall, it's working much better, and I have a clear path to refining it end extending it further.

Best,
Jake



Date2013-04-08 21:47
Frompeiman khosravi
SubjectRe: [Csnd] Amen Break PythonScore Tutorial
Something awesome to do tonight!

Thanks for sharing. 

P


On 8 April 2013 21:28, Aziz Ege Gonul (Student) <egegonul@sabanciuniv.edu> wrote:
Seems perfect, thank you!


On Mon, Apr 8, 2013 at 11:26 PM, Steven Yi <stevenyi@gmail.com> wrote:
Very nice, thanks for sharing that!  


On Mon, Apr 8, 2013 at 9:16 PM, Jacob Joaquin <jacobjoaquin@gmail.com> wrote:
Hello everyone,

I just published the first edition of "Amen Break PythonScore Tutorial":


I've also made some revisions to PythonScore module itself. First, the official name is PythonScore, one name, and have dropped the "pysco" part. Second, I've revised it to be a pure module and eliminated the original hacky way of setting things up in CsScore. There's a few more lines of code to get it setup in the score, but the trade off is that it'll be much better at being backwards compatible once the specification of the module is finalized. Plus, it'll work outside of the CsScore. Third, I've renamed some of the functions. Overall, it's working much better, and I have a clear path to refining it end extending it further.

Best,
Jake




Date2013-04-08 21:51
FromMark Brophy
SubjectRe: [Csnd] Amen Break PythonScore Tutorial
You could add an explanation of the inline function, the Python lambda. For instance:

# sample, t, duration, amplitude, freq, velocity

melodicNote = lambda s, t, d, a, f, v: 'i 300 %f %f %f %d %f %f\n' % (t, d, a, s, f, v)


The above function (lambda) could invoke an event an instrument in an orchestra:

instr 300

; Sampler with declick for guitar and other melodic instruments

adeclick linseg 0, 0.02, 1, p3 - 0.05, 1, 0.02, 0, 0.01, 0

iamplitude = p4

ivelocity = p7

ifrequency = p6

isample = p5

a1 loscil iamplitude * ivelocity, ifrequency, isample, 330

outs adeclick * a1, adeclick * a1

endin


I don't know how to write CSD code; instead, I use the code above because I prefer Python.



On Mon, Apr 8, 2013 at 3:16 PM, Jacob Joaquin <jacobjoaquin@gmail.com> wrote:
Hello everyone,

I just published the first edition of "Amen Break PythonScore Tutorial":


I've also made some revisions to PythonScore module itself. First, the official name is PythonScore, one name, and have dropped the "pysco" part. Second, I've revised it to be a pure module and eliminated the original hacky way of setting things up in CsScore. There's a few more lines of code to get it setup in the score, but the trade off is that it'll be much better at being backwards compatible once the specification of the module is finalized. Plus, it'll work outside of the CsScore. Third, I've renamed some of the functions. Overall, it's working much better, and I have a clear path to refining it end extending it further.

Best,
Jake


Date2013-04-09 21:04
FromJacob Joaquin
SubjectRe: [Csnd] Amen Break PythonScore Tutorial
I had seriously considered showcasing the lambda function in this tutorial, but it ended up on the cutting room floor. It would have been used in place of the multiply function example, but I felt creating the multiply function was probably easier to read than a lambda expression. In my personal PythonScores, I do use lambda, and will probably explain it in an example down the road as it does make a great shorthand tool.


On Mon, Apr 8, 2013 at 1:51 PM, Mark Brophy <mark@brophyworld.com> wrote:
You could add an explanation of the inline function, the Python lambda. For instance:

# sample, t, duration, amplitude, freq, velocity

melodicNote = lambda s, t, d, a, f, v: 'i 300 %f %f %f %d %f %f\n' % (t, d, a, s, f, v)


The above function (lambda) could invoke an event an instrument in an orchestra:

instr 300

; Sampler with declick for guitar and other melodic instruments

adeclick linseg 0, 0.02, 1, p3 - 0.05, 1, 0.02, 0, 0.01, 0

iamplitude = p4

ivelocity = p7

ifrequency = p6

isample = p5

a1 loscil iamplitude * ivelocity, ifrequency, isample, 330

outs adeclick * a1, adeclick * a1

endin


I don't know how to write CSD code; instead, I use the code above because I prefer Python.



On Mon, Apr 8, 2013 at 3:16 PM, Jacob Joaquin <jacobjoaquin@gmail.com> wrote:
Hello everyone,

I just published the first edition of "Amen Break PythonScore Tutorial":


I've also made some revisions to PythonScore module itself. First, the official name is PythonScore, one name, and have dropped the "pysco" part. Second, I've revised it to be a pure module and eliminated the original hacky way of setting things up in CsScore. There's a few more lines of code to get it setup in the score, but the trade off is that it'll be much better at being backwards compatible once the specification of the module is finalized. Plus, it'll work outside of the CsScore. Third, I've renamed some of the functions. Overall, it's working much better, and I have a clear path to refining it end extending it further.

Best,
Jake




--
codehop.com | #code #art #music