This one involves a little bit of block-dragging to get the full effect.
(1) Drag the get samples from thisisatest into the "array" slot of the play samples from block, connected to "Go." Press Go. That's our original sound.
(2) Drag the getSamples block out and click on it. Notice that what's inside those samples are real numbers between -1.0 and +1.0.
(3) Click the button to set newsound to a list with only a "1" in it.
(4) Now, drag the getSamples block into the array slot of the for loop block, with the two ifs in it. This loop will create a new sound with *ONLY* -1 and +1 in it. Click to execute the block script.
(5) Now click on the newsound block by itself. It ONLY has -1 and +1 in it.
(6) Drag the newsound block into the play block. BEFORE YOU HIT "Go," ask yourself, "Will you hear the words 'this is a test'?"
1 Bit Sound
Moderator: MSandro
1 Bit Sound
- Attachments
-
- 1bitsound.gpp
- (137.5 KiB) Downloaded 296 times
Re: 1 Bit-per-sample Sound - now with display
The 1-bit-per-sample sound story works better if you can see the sound, so I put together a simple sound visualization script.
Here's the original "this is a test" sound.
Here's the 1 bit per sample version.
Side note: I'd love a "video" format where I could record the actions needed to make this work, but freezable/modifiable at any point, and the student could play from there. I think that this is how the programming recordings in Khan Academy work, but I've not tried them.
Here's the original "this is a test" sound.
Here's the 1 bit per sample version.
Side note: I'd love a "video" format where I could record the actions needed to make this work, but freezable/modifiable at any point, and the student could play from there. I think that this is how the programming recordings in Khan Academy work, but I've not tried them.
- Attachments
-
- 1bitsound-v2.gpp
- (138.58 KiB) Downloaded 301 times
Re: 1 Bit Sound
This is SO cool! I love that you were able to create your own sound visualizations in GP.
I just recently learned how to make a screen recording using Quicktime Player, which comes with Mac OS. You start Quicktime Player and select "New Screen Recording" in the menu. You can record the entire screen, the contents of one window, or just a section. To stop recording, click the stop button in the Mac menu bar. (When I first did this, I recorded only a portion of the screen and the stop button in the menu bar appeared to be grayed out, so it took me a while to figure out how to stop recording.) Once you've got the recording, you can actually do some simple video editing using the "split clip" command in the Edit menu. I assume you could add narration or a background music using iMovie, although I haven't tried that.
I just recently learned how to make a screen recording using Quicktime Player, which comes with Mac OS. You start Quicktime Player and select "New Screen Recording" in the menu. You can record the entire screen, the contents of one window, or just a section. To stop recording, click the stop button in the Mac menu bar. (When I first did this, I recorded only a portion of the screen and the stop button in the menu bar appeared to be grayed out, so it took me a while to figure out how to stop recording.) Once you've got the recording, you can actually do some simple video editing using the "split clip" command in the Edit menu. I assume you could add narration or a background music using iMovie, although I haven't tried that.
Re: 1 Bit Sound
I'll try the Quicktime recorder -- thanks!
An item for the wishlist: I now have this script that can (crudely) let me see a waveform. I'd love to be able to encapsulate this script in a block that I could put into the block pane -- across projects. There are lots of places where I'd like to be able to visualize a sound.
An item for the wishlist: I now have this script that can (crudely) let me see a waveform. I'd love to be able to encapsulate this script in a block that I could put into the block pane -- across projects. There are lots of places where I'd like to be able to visualize a sound.
Re: 1 Bit Sound, or, how to make an extension block from a blocks script
I wanted to see how hard it was to go from blocks into an extension, so I tried it with the sound display code. It really wasn't hard at all!
Here's my original script, and the new block that I created.
I converted the script to text, then copy-pasted it into my samples extension. Here's what that looked like:
To turn this into a callable script, I made these modifications:
And added to the AuthoringSpecs array:
It worked! It's super cool to have this block anywhere now. (I've attached the project where I'm playing with this, and the version of samplesExtension with the new set costume block.)
Here's my original script, and the new block that I created.
I converted the script to text, then copy-pasted it into my samples extension. Here's what that looked like:
Code: Select all
whenKeyPressed 'space'
local 'sound' (getSamples 'bassoon-g4')
self_createCostume 500 300
self_fillWithColor (colorSwatch 231 231 231 255)
local 'x' 10
for sample (stepSample ((count sound) / 500) sound) {
h = (100 * sample)
self_fillRect x (150 + h) 2 2 (colorSwatch 32 107 221 255)
x += 1
}
Code: Select all
to displaySound s1 {
self_createCostume 500 300
self_fillWithColor (colorSwatch 231 231 231 255)
local 'x' 10
for sample (stepSample ((count s1) / 500) s1) {
h = (100 * sample)
self_fillRect x (150 + h) 2 2 (colorSwatch 32 107 221 255)
x += 1}
}
Code: Select all
(array ' ' 'displaySound' 'set costume from samples _' 'array' nil)
- Attachments
-
- 1bitsound-v3.gpp
- (598.96 KiB) Downloaded 285 times
-
- samplesExtension.gp
- (5.37 KiB) Downloaded 301 times