Re: squeakland Digest, Vol 99, Issue 5

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: squeakland Digest, Vol 99, Issue 5

Christine Murakami
Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of [hidden email]
Sent: Sunday, July 10, 2011 12:00 PM
To: [hidden email]
Subject: squeakland Digest, Vol 99, Issue 5

Send squeakland mailing list submissions to
        [hidden email]

To subscribe or unsubscribe via the World Wide Web, visit
        http://lists.squeakland.org/mailman/listinfo/squeakland
or, via email, send a message with subject or body 'help' to
        [hidden email]

You can reach the person managing the list at
        [hidden email]

When replying, please edit your Subject line so it is more specific than "Re: Contents of squeakland digest..."


Today's Topics:

   1. Fwd: [FIA58] del Official Google Blog (Carlos Rabassa)


----------------------------------------------------------------------

Message: 1
Date: Sun, 10 Jul 2011 08:05:14 -0400
From: Carlos Rabassa <[hidden email]>
To: "squeakland.org mailing list" <[hidden email]>, OLPC
        Puno <[hidden email]>, olpc bolivia
        <[hidden email]>, voluntarios y administradores OLPC
        para usuarios docentes <[hidden email]>,
        [hidden email], [hidden email]
Subject: [squeakland] Fwd: [FIA58] del Official Google Blog
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="windows-1252"



Begin forwarded message:

> From: "***PV***" <[hidden email]>
> Date: July 10, 2011 3:12:13 AM EDT
> To: FIA58 <[hidden email]>
> Subject: [FIA58] del Official Google Blog
> Reply-To: [hidden email]
>
> Aunque no es usual en USA, aqu? Americas' significa Norte, Sur y Central, como lo dice m?s abajo.
>
> Pedro
> ___________________________________________________
> Official Google Blog
>  
> Seeking the Americas? brightest young minds for a spot at Zeitgeist
> Americas 2011
> Posted: 07 Jul 2011 02:22 PM PDT
> This year, we?re mixing up our annual Zeitgeist conferences with the launch of Young Minds, a competition hosted by youth engagement agency Livity, supported by Google and hosted on YouTube. Starting this week, we?re searching for 12 inspirational young people who are making an impact on their world to attend Zeitgeist Americas 2011?our annual gathering of 400+ businesses and thought leaders from across the continent held each year in Paradise Valley, Ariz.
>
> The winners will be invited to the two-day event, where they?ll take part in a series of tailored master classes hosted by Google and meet some of the most powerful and thought-provoking people on the planet. We want the pioneers, changemakers and leaders of tomorrow to take their place alongside the greatest minds of today and use Zeitgeist as a springboard from which they can continue to do amazing things to make the world a better place.
>
> The Young Minds competition is open to people aged 18-24 from North, South and Central America. For your chance to win a slot at Zeitgeist Americas 2011, go to www.zeitgeistyoungminds.com before August 25 and upload a video that shows us how you?re making a positive impact on the world.
>
> Posted by Rachel Durfee, Google Blog Team
>
>
>
>
>
>
> --
> Has recibido este mensaje porque est?s inscripro en el Grupo Google "FIA58".
> Para iniciar un nuevo tema env?a el mail a [hidden email] y describe el tema en el asunto del mensaje.
> Para contestar a un tema existente, simplemente, responde pero recuerda NO cambiar el asunto del mail, pues si no estar?s creando un nuevo tema.
> Para borrarte de este grupo, env?a un mail a
> [hidden email]
> Para m?s opciones y para ver todo el historial de mensajes o contestar un tema desde all?, visita el sitio del grupo en:
> http://groups.google.com/group/fia58?hl=en?hl=es

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakland.org/pipermail/squeakland/attachments/20110710/79376b98/attachment-0001.html>

------------------------------

_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland


End of squeakland Digest, Vol 99, Issue 5
*****************************************
_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: squeakland Digest, Vol 99, Issue 5

Steve Thomas
1) You can use the timer in the playfield category (can change decimal places I believe accurate to milliseconds)

2) Use a "piano roll" and place notes on the roll and have a "needle" move across the roll (or the roll move) and when the "needle" touches the note, it will play that note.

You could have kids play a frequency based on it's y position and have them draw a score.  They could also have the note sustain based on its length.  You can also change the tempo by moving the needle at different speeds.

Stephen

On Mon, Jul 11, 2011 at 7:04 AM, Christine Murakami <[hidden email]> wrote:
Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine

-----Original Message-----
From: [hidden email] [mailto:[hidden email]] On Behalf Of [hidden email]
Sent: Sunday, July 10, 2011 12:00 PM
To: [hidden email]
Subject: squeakland Digest, Vol 99, Issue 5

Send squeakland mailing list submissions to
       [hidden email]

To subscribe or unsubscribe via the World Wide Web, visit
       http://lists.squeakland.org/mailman/listinfo/squeakland
or, via email, send a message with subject or body 'help' to
       [hidden email]

You can reach the person managing the list at
       [hidden email]

When replying, please edit your Subject line so it is more specific than "Re: Contents of squeakland digest..."


Today's Topics:

  1. Fwd: [FIA58] del Official Google Blog (Carlos Rabassa)


----------------------------------------------------------------------

Message: 1
Date: Sun, 10 Jul 2011 08:05:14 -0400
From: Carlos Rabassa <[hidden email]>
To: "squeakland.org mailing list" <[hidden email]>,  OLPC
       Puno <[hidden email]>,      olpc bolivia
       <[hidden email]>,        voluntarios y administradores OLPC
       para usuarios docentes  <[hidden email]>,
       [hidden email],  [hidden email]
Subject: [squeakland] Fwd: [FIA58] del Official Google Blog
Message-ID: <[hidden email]>
Content-Type: text/plain; charset="windows-1252"



Begin forwarded message:

> From: "***PV***" <[hidden email]>
> Date: July 10, 2011 3:12:13 AM EDT
> To: FIA58 <[hidden email]>
> Subject: [FIA58] del Official Google Blog
> Reply-To: [hidden email]
>
> Aunque no es usual en USA, aqu? Americas' significa Norte, Sur y Central, como lo dice m?s abajo.
>
> Pedro
> ___________________________________________________
> Official Google Blog
>
> Seeking the Americas? brightest young minds for a spot at Zeitgeist
> Americas 2011
> Posted: 07 Jul 2011 02:22 PM PDT
> This year, we?re mixing up our annual Zeitgeist conferences with the launch of Young Minds, a competition hosted by youth engagement agency Livity, supported by Google and hosted on YouTube. Starting this week, we?re searching for 12 inspirational young people who are making an impact on their world to attend Zeitgeist Americas 2011?our annual gathering of 400+ businesses and thought leaders from across the continent held each year in Paradise Valley, Ariz.
>
> The winners will be invited to the two-day event, where they?ll take part in a series of tailored master classes hosted by Google and meet some of the most powerful and thought-provoking people on the planet. We want the pioneers, changemakers and leaders of tomorrow to take their place alongside the greatest minds of today and use Zeitgeist as a springboard from which they can continue to do amazing things to make the world a better place.
>
> The Young Minds competition is open to people aged 18-24 from North, South and Central America. For your chance to win a slot at Zeitgeist Americas 2011, go to www.zeitgeistyoungminds.com before August 25 and upload a video that shows us how you?re making a positive impact on the world.
>
> Posted by Rachel Durfee, Google Blog Team
>
>
>
>
>
>
> --
> Has recibido este mensaje porque est?s inscripro en el Grupo Google "FIA58".
> Para iniciar un nuevo tema env?a el mail a [hidden email] y describe el tema en el asunto del mensaje.
> Para contestar a un tema existente, simplemente, responde pero recuerda NO cambiar el asunto del mail, pues si no estar?s creando un nuevo tema.
> Para borrarte de este grupo, env?a un mail a
> [hidden email]
> Para m?s opciones y para ver todo el historial de mensajes o contestar un tema desde all?, visita el sitio del grupo en:
> http://groups.google.com/group/fia58?hl=en?hl=es

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakland.org/pipermail/squeakland/attachments/20110710/79376b98/attachment-0001.html>

------------------------------

_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland


End of squeakland Digest, Vol 99, Issue 5
*****************************************
_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland


_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Bert Freudenberg
Hi Christine,

you can do "test counter > 5 and counter < 10" using two nested tests. The first would test for "counter > 5" and in its "yes" case there would be a test for "counter < 10". Of course that would be tedious for a whole song.

Here is a way to use the timer as suggested by Steve:



Each note is just a rectangle with an embedded text label. It has a variable for its frequency. Its width represents its duration. Many of them are put in a holder, and each can have their own frequency. The holder has a single variable, "until". This holds the timer value for the end of the currently playing note. When that time has passed, the next "until" is calculated from the width of the next note, and it is played.

It's very simple to make more notes, you just duplicate them, and if necessary change freq and width. You could make a parts bin with all the preconfigured notes.

This is similar to (though a lot simpler than) what I showed at Squeakfest. Ideas from that talk could be integrated as well - e.g., instead of playing the note right in the holder's script, each note could have a script that gets activated by the holder, and then could do more interesting things (like playing a rondo by repeating themes in ABACA form etc).

- Bert -

On 11.07.2011, at 14:34, Steve Thomas wrote:

1) You can use the timer in the playfield category (can change decimal places I believe accurate to milliseconds)

2) Use a "piano roll" and place notes on the roll and have a "needle" move across the roll (or the roll move) and when the "needle" touches the note, it will play that note.

You could have kids play a frequency based on it's y position and have them draw a score.  They could also have the note sustain based on its length.  You can also change the tempo by moving the needle at different speeds.

Stephen

On Mon, Jul 11, 2011 at 7:04 AM, Christine Murakami <[hidden email]> wrote:
Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine
_______________________________________________



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Steve Thomas
Is there a way to play "instruments" other than tones, similar to http://www.squeakland.org/showcase/project.jsp?id=7826?  

Ie: How can I specify an instrument?  I can load midi files, but would like to be able to do something similar to Scratch where I can specify the instrument. and then have a script "Play the notes"

Stephen

On Mon, Jul 11, 2011 at 10:37 AM, Bert Freudenberg <[hidden email]> wrote:
Hi Christine,

you can do "test counter > 5 and counter < 10" using two nested tests. The first would test for "counter > 5" and in its "yes" case there would be a test for "counter < 10". Of course that would be tedious for a whole song.

Here is a way to use the timer as suggested by Steve:



Each note is just a rectangle with an embedded text label. It has a variable for its frequency. Its width represents its duration. Many of them are put in a holder, and each can have their own frequency. The holder has a single variable, "until". This holds the timer value for the end of the currently playing note. When that time has passed, the next "until" is calculated from the width of the next note, and it is played.

It's very simple to make more notes, you just duplicate them, and if necessary change freq and width. You could make a parts bin with all the preconfigured notes.

This is similar to (though a lot simpler than) what I showed at Squeakfest. Ideas from that talk could be integrated as well - e.g., instead of playing the note right in the holder's script, each note could have a script that gets activated by the holder, and then could do more interesting things (like playing a rondo by repeating themes in ABACA form etc).

- Bert -

On 11.07.2011, at 14:34, Steve Thomas wrote:

1) You can use the timer in the playfield category (can change decimal places I believe accurate to milliseconds)

2) Use a "piano roll" and place notes on the roll and have a "needle" move across the roll (or the roll move) and when the "needle" touches the note, it will play that note.

You could have kids play a frequency based on it's y position and have them draw a score.  They could also have the note sustain based on its length.  You can also change the tempo by moving the needle at different speeds.

Stephen

On Mon, Jul 11, 2011 at 7:04 AM, Christine Murakami <[hidden email]> wrote:
Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine
_______________________________________________



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Karl Ramberg


On Mon, Jul 11, 2011 at 6:04 PM, Steve Thomas <[hidden email]> wrote:
Is there a way to play "instruments" other than tones, similar to http://www.squeakland.org/showcase/project.jsp?id=7826?  

Ie: How can I specify an instrument?  I can load midi files, but would like to be able to do something similar to Scratch where I can specify the instrument. and then have a script "Play the notes"

It's all there under the hood waiting for someone to do the Etoys interface...
Music gets quite technical fast and it's a big job getting the tools right.

Here is a howto for the daring:

Try the do it (that is paste this text into Etoys select it and press ctrl and d.)

| n score | n _ 3.
score _ (MIDIScore new tracks: ((1 to: n) collect: [:i | Array new]);
trackInfo: ((1 to: n) collect: [:i | 'Instrument' , i printString]);
tempoMap: nil; ticksPerQuarterNote: 96).
ScorePlayerMorph openOn: score title: 'empty score'

You can select instruments, click where it says 'flute1', and a menu pops up.
Click PianoRoll and you get a piano roll :-)
Click on the piano roll and a menu pops up.
Select 'add keyboard' and you get a piano keyboard that you can add notes to the piano roll.

Karl 

Stephen

On Mon, Jul 11, 2011 at 10:37 AM, Bert Freudenberg <[hidden email]> wrote:
Hi Christine,

you can do "test counter > 5 and counter < 10" using two nested tests. The first would test for "counter > 5" and in its "yes" case there would be a test for "counter < 10". Of course that would be tedious for a whole song.

Here is a way to use the timer as suggested by Steve:



Each note is just a rectangle with an embedded text label. It has a variable for its frequency. Its width represents its duration. Many of them are put in a holder, and each can have their own frequency. The holder has a single variable, "until". This holds the timer value for the end of the currently playing note. When that time has passed, the next "until" is calculated from the width of the next note, and it is played.

It's very simple to make more notes, you just duplicate them, and if necessary change freq and width. You could make a parts bin with all the preconfigured notes.

This is similar to (though a lot simpler than) what I showed at Squeakfest. Ideas from that talk could be integrated as well - e.g., instead of playing the note right in the holder's script, each note could have a script that gets activated by the holder, and then could do more interesting things (like playing a rondo by repeating themes in ABACA form etc).

- Bert -

On 11.07.2011, at 14:34, Steve Thomas wrote:

1) You can use the timer in the playfield category (can change decimal places I believe accurate to milliseconds)

2) Use a "piano roll" and place notes on the roll and have a "needle" move across the roll (or the roll move) and when the "needle" touches the note, it will play that note.

You could have kids play a frequency based on it's y position and have them draw a score.  They could also have the note sustain based on its length.  You can also change the tempo by moving the needle at different speeds.

Stephen

On Mon, Jul 11, 2011 at 7:04 AM, Christine Murakami <[hidden email]> wrote:
Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine
_______________________________________________



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Bert Freudenberg

On 11.07.2011, at 20:38, karl ramberg wrote:



On Mon, Jul 11, 2011 at 6:04 PM, Steve Thomas <[hidden email]> wrote:
Is there a way to play "instruments" other than tones, similar to http://www.squeakland.org/showcase/project.jsp?id=7826?  

Ie: How can I specify an instrument?  I can load midi files, but would like to be able to do something similar to Scratch where I can specify the instrument. and then have a script "Play the notes"

It's all there under the hood waiting for someone to do the Etoys interface...
Music gets quite technical fast and it's a big job getting the tools right.

Here is a howto for the daring:

Try the do it (that is paste this text into Etoys select it and press ctrl and d.)

| n score | n _ 3.
score _ (MIDIScore new tracks: ((1 to: n) collect: [:i | Array new]);
trackInfo: ((1 to: n) collect: [:i | 'Instrument' , i printString]);
tempoMap: nil; ticksPerQuarterNote: 96).
ScorePlayerMorph openOn: score title: 'empty score'

You can select instruments, click where it says 'flute1', and a menu pops up.
Click PianoRoll and you get a piano roll :-)
Click on the piano roll and a menu pops up.
Select 'add keyboard' and you get a piano keyboard that you can add notes to the piano roll.

Karl 

If the score player had a menu item to add a track then we could do this without Smalltalk code, right?

- Bert -



Stephen

On Mon, Jul 11, 2011 at 10:37 AM, Bert Freudenberg <[hidden email]> wrote:
Hi Christine,

you can do "test counter > 5 and counter < 10" using two nested tests. The first would test for "counter > 5" and in its "yes" case there would be a test for "counter < 10". Of course that would be tedious for a whole song.

Here is a way to use the timer as suggested by Steve:

<PastedGraphic-12.png>

Each note is just a rectangle with an embedded text label. It has a variable for its frequency. Its width represents its duration. Many of them are put in a holder, and each can have their own frequency. The holder has a single variable, "until". This holds the timer value for the end of the currently playing note. When that time has passed, the next "until" is calculated from the width of the next note, and it is played.

It's very simple to make more notes, you just duplicate them, and if necessary change freq and width. You could make a parts bin with all the preconfigured notes.

This is similar to (though a lot simpler than) what I showed at Squeakfest. Ideas from that talk could be integrated as well - e.g., instead of playing the note right in the holder's script, each note could have a script that gets activated by the holder, and then could do more interesting things (like playing a rondo by repeating themes in ABACA form etc).

- Bert -

On 11.07.2011, at 14:34, Steve Thomas wrote:

1) You can use the timer in the playfield category (can change decimal places I believe accurate to milliseconds)

2) Use a "piano roll" and place notes on the roll and have a "needle" move across the roll (or the roll move) and when the "needle" touches the note, it will play that note.

You could have kids play a frequency based on it's y position and have them draw a score.  They could also have the note sustain based on its length.  You can also change the tempo by moving the needle at different speeds.

Stephen

On Mon, Jul 11, 2011 at 7:04 AM, Christine Murakami <[hidden email]> wrote:
Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine
_______________________________________________



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland





_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Karl Ramberg


On Mon, Jul 11, 2011 at 9:38 PM, Bert Freudenberg <[hidden email]> wrote:

On 11.07.2011, at 20:38, karl ramberg wrote:



On Mon, Jul 11, 2011 at 6:04 PM, Steve Thomas <[hidden email]> wrote:
Is there a way to play "instruments" other than tones, similar to http://www.squeakland.org/showcase/project.jsp?id=7826?  

Ie: How can I specify an instrument?  I can load midi files, but would like to be able to do something similar to Scratch where I can specify the instrument. and then have a script "Play the notes"

It's all there under the hood waiting for someone to do the Etoys interface...
Music gets quite technical fast and it's a big job getting the tools right.

Here is a howto for the daring:

Try the do it (that is paste this text into Etoys select it and press ctrl and d.)

| n score | n _ 3.
score _ (MIDIScore new tracks: ((1 to: n) collect: [:i | Array new]);
trackInfo: ((1 to: n) collect: [:i | 'Instrument' , i printString]);
tempoMap: nil; ticksPerQuarterNote: 96).
ScorePlayerMorph openOn: score title: 'empty score'

You can select instruments, click where it says 'flute1', and a menu pops up.
Click PianoRoll and you get a piano roll :-)
Click on the piano roll and a menu pops up.
Select 'add keyboard' and you get a piano keyboard that you can add notes to the piano roll.

Karl 

If the score player had a menu item to add a track then we could do this without Smalltalk code, right?

- Bert -
Yes, a few menu items could do most of the job 
Karl 



Stephen

On Mon, Jul 11, 2011 at 10:37 AM, Bert Freudenberg <[hidden email]> wrote:
Hi Christine,

you can do "test counter > 5 and counter < 10" using two nested tests. The first would test for "counter > 5" and in its "yes" case there would be a test for "counter < 10". Of course that would be tedious for a whole song.

Here is a way to use the timer as suggested by Steve:

<PastedGraphic-12.png>


Each note is just a rectangle with an embedded text label. It has a variable for its frequency. Its width represents its duration. Many of them are put in a holder, and each can have their own frequency. The holder has a single variable, "until". This holds the timer value for the end of the currently playing note. When that time has passed, the next "until" is calculated from the width of the next note, and it is played.

It's very simple to make more notes, you just duplicate them, and if necessary change freq and width. You could make a parts bin with all the preconfigured notes.

This is similar to (though a lot simpler than) what I showed at Squeakfest. Ideas from that talk could be integrated as well - e.g., instead of playing the note right in the holder's script, each note could have a script that gets activated by the holder, and then could do more interesting things (like playing a rondo by repeating themes in ABACA form etc).

- Bert -

On 11.07.2011, at 14:34, Steve Thomas wrote:

1) You can use the timer in the playfield category (can change decimal places I believe accurate to milliseconds)

2) Use a "piano roll" and place notes on the roll and have a "needle" move across the roll (or the roll move) and when the "needle" touches the note, it will play that note.

You could have kids play a frequency based on it's y position and have them draw a score.  They could also have the note sustain based on its length.  You can also change the tempo by moving the needle at different speeds.

Stephen

On Mon, Jul 11, 2011 at 7:04 AM, Christine Murakami <[hidden email]> wrote:
Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine
_______________________________________________



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland





_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Steve Thomas


On Mon, Jul 11, 2011 at 3:56 PM, karl ramberg <[hidden email]> wrote:


On Mon, Jul 11, 2011 at 9:38 PM, Bert Freudenberg <[hidden email]> wrote:

On 11.07.2011, at 20:38, karl ramberg wrote:



On Mon, Jul 11, 2011 at 6:04 PM, Steve Thomas <[hidden email]> wrote:
Is there a way to play "instruments" other than tones, similar to http://www.squeakland.org/showcase/project.jsp?id=7826?  

Ie: How can I specify an instrument?  I can load midi files, but would like to be able to do something similar to Scratch where I can specify the instrument. and then have a script "Play the notes"

It's all there under the hood waiting for someone to do the Etoys interface...
Music gets quite technical fast and it's a big job getting the tools right.
A single tile added to the sound category to let you specify the instrument would be great.

Optionally some way to add instruments if you have a midi file.

I would introduce this to kids without using the Score Player.  I would have kids build their own score players where they place the "notes" onto a playfield and the "?needle?" (That red line that moves across the piano roll) is used to play the note as long as it overlaps it.  They could then do as Bert suggested and create their own rondo's by turning off "fence enabled" and having the "needle" wrap.

Stephen


_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Karl Ramberg


On Mon, Jul 11, 2011 at 11:55 PM, Steve Thomas <[hidden email]> wrote:


On Mon, Jul 11, 2011 at 3:56 PM, karl ramberg <[hidden email]> wrote:


On Mon, Jul 11, 2011 at 9:38 PM, Bert Freudenberg <[hidden email]> wrote:

On 11.07.2011, at 20:38, karl ramberg wrote:



On Mon, Jul 11, 2011 at 6:04 PM, Steve Thomas <[hidden email]> wrote:
Is there a way to play "instruments" other than tones, similar to http://www.squeakland.org/showcase/project.jsp?id=7826?  

Ie: How can I specify an instrument?  I can load midi files, but would like to be able to do something similar to Scratch where I can specify the instrument. and then have a script "Play the notes"

It's all there under the hood waiting for someone to do the Etoys interface...
Music gets quite technical fast and it's a big job getting the tools right.
A single tile added to the sound category to let you specify the instrument would be great.

Optionally some way to add instruments if you have a midi file.

I would introduce this to kids without using the Score Player.  I would have kids build their own score players where they place the "notes" onto a playfield and the "?needle?" (That red line that moves across the piano roll) is used to play the note as long as it overlaps it.  They could then do as Bert suggested and create their own rondo's by turning off "fence enabled" and having the "needle" wrap.

Stephen

Make a feature wanted on the bug tracker.
This has been a feature I have wanted to but never got around to look at.

Karl

_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Christine Murakami
In reply to this post by Bert Freudenberg

Hi Bert and all.

 

I tried the suggestion below with the holder and the notes. It works perfectly, and I learned a lot in the process! Always a great side benefit.

 

I have a follow-up question that will be helpful as we work on these projects.

Is there a way to get the holder to stop playing once the song is over? Right now, it continues back at the beginning, just like an animation would, playing continuously until you click the stop all scripts button.

 

As always, many thanks for the help! It took me a while to figure out, but this will help with ALL these musical projects!

 

Christine

 

From: Bert Freudenberg [mailto:[hidden email]] On Behalf Of Bert Freudenberg
Sent: Monday, July 11, 2011 10:38 AM
To: squeakland
Cc: Christine Murakami
Subject: Re: [squeakland] Playing musical notes

 

Hi Christine,

 

you can do "test counter > 5 and counter < 10" using two nested tests. The first would test for "counter > 5" and in its "yes" case there would be a test for "counter < 10". Of course that would be tedious for a whole song.

 

Here is a way to use the timer as suggested by Steve:

 

 

Each note is just a rectangle with an embedded text label. It has a variable for its frequency. Its width represents its duration. Many of them are put in a holder, and each can have their own frequency. The holder has a single variable, "until". This holds the timer value for the end of the currently playing note. When that time has passed, the next "until" is calculated from the width of the next note, and it is played.

 

It's very simple to make more notes, you just duplicate them, and if necessary change freq and width. You could make a parts bin with all the preconfigured notes.

 

This is similar to (though a lot simpler than) what I showed at Squeakfest. Ideas from that talk could be integrated as well - e.g., instead of playing the note right in the holder's script, each note could have a script that gets activated by the holder, and then could do more interesting things (like playing a rondo by repeating themes in ABACA form etc).

 

- Bert -

 

On 11.07.2011, at 14:34, Steve Thomas wrote:



1) You can use the timer in the playfield category (can change decimal places I believe accurate to milliseconds)

2) Use a "piano roll" and place notes on the roll and have a "needle" move across the roll (or the roll move) and when the "needle" touches the note, it will play that note.

You could have kids play a frequency based on it's y position and have them draw a score.  They could also have the note sustain based on its length.  You can also change the tempo by moving the needle at different speeds.

Stephen

On Mon, Jul 11, 2011 at 7:04 AM, Christine Murakami <[hidden email]> wrote:

Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine
_______________________________________________

 

 


_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Bert Freudenberg
<base href="x-msg://125/">You could test if the Holder's cursor equals 1, which means it "wrapped around" to the beginning. In that case stop the script (from the viewer's scripting category use the "stop script" tile).

- Bert -

On 21.07.2011, at 13:55, Christine Murakami wrote:

Hi Bert and all.
 
I tried the suggestion below with the holder and the notes. It works perfectly, and I learned a lot in the process! Always a great side benefit.
 
I have a follow-up question that will be helpful as we work on these projects. 

Is there a way to get the holder to stop playing once the song is over? Right now, it continues back at the beginning, just like an animation would, playing continuously until you click the stop all scripts button.
 
As always, many thanks for the help! It took me a while to figure out, but this will help with ALL these musical projects!
 
Christine
From: Bert Freudenberg [mailto:[hidden email]] On Behalf Of Bert Freudenberg
Sent: Monday, July 11, 2011 10:38 AM
To: squeakland
Cc: Christine Murakami
Subject: Re: [squeakland] Playing musical notes
 
Hi Christine,
 
you can do "test counter > 5 and counter < 10" using two nested tests. The first would test for "counter > 5" and in its "yes" case there would be a test for "counter < 10". Of course that would be tedious for a whole song.
 
Here is a way to use the timer as suggested by Steve:
 
<image001.png>
 
Each note is just a rectangle with an embedded text label. It has a variable for its frequency. Its width represents its duration. Many of them are put in a holder, and each can have their own frequency. The holder has a single variable, "until". This holds the timer value for the end of the currently playing note. When that time has passed, the next "until" is calculated from the width of the next note, and it is played.
 
It's very simple to make more notes, you just duplicate them, and if necessary change freq and width. You could make a parts bin with all the preconfigured notes.
 
This is similar to (though a lot simpler than) what I showed at Squeakfest. Ideas from that talk could be integrated as well - e.g., instead of playing the note right in the holder's script, each note could have a script that gets activated by the holder, and then could do more interesting things (like playing a rondo by repeating themes in ABACA form etc).
 
- Bert -
 
On 11.07.2011, at 14:34, Steve Thomas wrote:


1) You can use the timer in the playfield category (can change decimal places I believe accurate to milliseconds)

2) Use a "piano roll" and place notes on the roll and have a "needle" move across the roll (or the roll move) and when the "needle" touches the note, it will play that note.

You could have kids play a frequency based on it's y position and have them draw a score.  They could also have the note sustain based on its length.  You can also change the tempo by moving the needle at different speeds.

Stephen

On Mon, Jul 11, 2011 at 7:04 AM, Christine Murakami <[hidden email]> wrote:

Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine
_______________________________________________
 
 



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland
Reply | Threaded
Open this post in threaded view
|

Re: Playing musical notes

Steve Thomas
In reply to this post by Christine Murakami
So you want to TEST if the Holder's Cursor goes back to one (or 1.something) and the stop script that is playing the notes.

Hmmmm. Well if I could watch the Holder's cursor (I like to look at it on the playfield and I really like to see decimal places, its a strange fetish I have).

Then if I could step by step take the Holder's cursor and increment by some number let's say 0.3, I might be able to be able to determine its behavior.

That would be one, Etoys challenge.  

But then I think about the problem again and another challenge.  Let's say I have a variable (noteToPlay) and I start it at 1 and increment it by 0.5.  Then I set the Holder's cursor to the value of the variable. Well that could NEVER work because if I had 3 items in the collection, I couldn't set the cursor to 4.  But then I remember the wise words of Justin Beiber (Never say Never). So perhaps I will be brave and try ;)

Stephen


On Thu, Jul 21, 2011 at 7:55 AM, Christine Murakami <[hidden email]> wrote:

Hi Bert and all.

 

I tried the suggestion below with the holder and the notes. It works perfectly, and I learned a lot in the process! Always a great side benefit.

 

I have a follow-up question that will be helpful as we work on these projects.

Is there a way to get the holder to stop playing once the song is over? Right now, it continues back at the beginning, just like an animation would, playing continuously until you click the stop all scripts button.

 

As always, many thanks for the help! It took me a while to figure out, but this will help with ALL these musical projects!

 

Christine

 

From: Bert Freudenberg [mailto:[hidden email]] On Behalf Of Bert Freudenberg
Sent: Monday, July 11, 2011 10:38 AM
To: squeakland
Cc: Christine Murakami
Subject: Re: [squeakland] Playing musical notes

 

Hi Christine,

 

you can do "test counter > 5 and counter < 10" using two nested tests. The first would test for "counter > 5" and in its "yes" case there would be a test for "counter < 10". Of course that would be tedious for a whole song.

 

Here is a way to use the timer as suggested by Steve:

 

 

Each note is just a rectangle with an embedded text label. It has a variable for its frequency. Its width represents its duration. Many of them are put in a holder, and each can have their own frequency. The holder has a single variable, "until". This holds the timer value for the end of the currently playing note. When that time has passed, the next "until" is calculated from the width of the next note, and it is played.

 

It's very simple to make more notes, you just duplicate them, and if necessary change freq and width. You could make a parts bin with all the preconfigured notes.

 

This is similar to (though a lot simpler than) what I showed at Squeakfest. Ideas from that talk could be integrated as well - e.g., instead of playing the note right in the holder's script, each note could have a script that gets activated by the holder, and then could do more interesting things (like playing a rondo by repeating themes in ABACA form etc).

 

- Bert -

 

On 11.07.2011, at 14:34, Steve Thomas wrote:



1) You can use the timer in the playfield category (can change decimal places I believe accurate to milliseconds)

2) Use a "piano roll" and place notes on the roll and have a "needle" move across the roll (or the roll move) and when the "needle" touches the note, it will play that note.

You could have kids play a frequency based on it's y position and have them draw a score.  They could also have the note sustain based on its length.  You can also change the tempo by moving the needle at different speeds.

Stephen

On Mon, Jul 11, 2011 at 7:04 AM, Christine Murakami <[hidden email]> wrote:

Hi everyone!

I have been working with students on creating music lessons, and there is a gap in my knowledge of Etoys that is preventing them from going further in their projects.

Many of them would like a song to play (using the play frequency tile). The only way I can think to do this is to either create a variable counter that counts a beat or to use the playfield counter. Either way, it seems like Etoys ought to have a command that does something like "while counter > 5 and counter <10 play frequency 880" or even using a test in a similar way: "test counter > 5 and counter < 10".  I just can't figure out how to have a sound play for a specific amount of time - especially a few beats into the song. The first few we can fudge, but after that it gets too complicated. I need to help them find a better solution.

I've looked at both Pling and the chord game for suggestions, which helped with other issues but not this one.

Any suggestions would be most appreciated! I've been struggling with this since early May!

Thanks!

Christine
_______________________________________________

 

 


_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland



_______________________________________________
squeakland mailing list
[hidden email]
http://lists.squeakland.org/mailman/listinfo/squeakland