24
CompSci 001 8.1 Today’s topics Sound Upcoming Intellectual property Network analysis Security Reading

CompSci 001 8.1 Today’s topics Sound Upcoming ä Intellectual property ä Network analysis ä Security Reading

Embed Size (px)

Citation preview

CompSci 001 8.1

Today’s topics

Sound

Upcoming Intellectual property Network analysis Security

Reading

CompSci 001 8.2

Georgia Institute of Technology

How does Hearing Work?

The outer ear “catches” sounds The eardrum vibrates The inner ear translates the vibrations to nerve

impulses for the brain to interpret

CompSci 001 8.3

Georgia Institute of Technology

Acoustics, the physics of sound Sounds are

waves of air pressure Sound comes in

cycles The frequency of a

wave is the number of cycles per second (cps), or Hertz

• (Complex sounds have more than one frequency in them.)

The amplitude is the maximum height of the wave

CompSci 001 8.4

Georgia Institute of Technology

Volume and Pitch

Our perception of volume is related (logarithmically) to changes in amplitude If the amplitude doubles, it’s about a 3 decibel (dB)

change. A decibel is a ratio between two intensities: 10 *

log10(I1/I2) As an absolute measure, it’s in comparison to

threshold of audibility• 0 dB can’t be heard. • Normal speech is 60 dB. • A shout is about 80 dB

Our perception of pitch is related (logarithmically) to changes in frequency Higher frequencies are perceived as higher pitches We can hear between 5 Hz and 20,000 Hz (20 kHz) A above middle C is 440 Hz

CompSci 001 8.5

Georgia Institute of Technology

Digitizing Sound In calculus you

learn to estimate a curve by creating rectangles

We can do the same to estimate the sound curve Analog-to-digital

conversion (ADC) will give us the amplitude at an instant as a number: a sample

How many samples do we need?

CompSci 001 8.6

What is digital? What’s the difference between

Phonograph and CD? VCR tape and DVD?

Why digitize sound?

How is ripping to a mp3 different from recording to a tape?

Reproduction: immediate and future Distribution Modification

Why do digital media present new challenges from analog media?

Is copyright infringement new?

CompSci 001 8.7

Nyquist Theorem We need twice as many samples as the maximum

frequency in order to represent (and recreate, later) the original sound.

The number of samples recorded per second is the sampling rate If we capture 8000 samples per second, the

highest frequency we can capture is 4000 Hz• That’s how phones work

If we capture more than 44,000 samples per second, we capture everything that we can hear (max 22,000 Hz)

• CD quality is 44,100 samples per second Call a friend on a phone and play some music

over the phone How does it sound? Why does it work for voice but not for music?

CompSci 001 8.8

Georgia Institute of Technology

Playing a Sound We can create a Sound object just as we created

a Picture object Get a file name and save a reference to it

– Pick a file that ends in .wav Create the sound object by asking the class to

create a new Sound object and initialize it by reading data from the given file name• sound1 = makeSound(fileName)

Play the Soundplay(sound1)

CompSci 001 8.9

Georgia Institute of Technology

Play Sound Exercise Try creating a Sound object and

playing it by Specifying it in steps Specifying it all at once

How would you play the same sound twice?

CompSci 001 8.10

Georgia Institute of Technology

Digitizing Sound in the Computer

Each sample is stored as a number (two bytes)

What’s the range of available combinations? 16 bits, 216 = 65,536 But we want both positive and negative values

• To indicate compressions and rarefactions. What if we use one bit to indicate positive (0)

or negative (1)? That leaves us with 15 bits 15 bits, 215 = 32,768 One of those combinations will stand for zero

• We’ll use a “positive” one, so that’s one less pattern for positives so the range is from -32,768 to 32,767

CompSci 001 8.11

Georgia Institute of Technology

The Sound Tool Not all of the

sound is shown when you explore a sound Skips values to fit

in the window You can zoom in

To see all sample values

You can zoom out To fit the sound in

the window again

CompSci 001 8.12

Georgia Institute of Technology

Getting the Sound Sample Values

A Sound has many values in it Numbers that represent the sound at that time

in the sample You can get an list of SoundSample objects

samples = getSamples(sound1)

CompSci 001 8.13

Georgia Institute of Technology

Print the Sound Sample Value

You can get the SoundSample object from the list at an index sample = samples[0];

And then get the value from that print sample

What are the first 10 values of the Sound created from the file croak.wav?

CompSci 001 8.14

You can set the value of a SoundSample setSample(sample, value); This will change the value in the Sound object

as well So how would you change the value of the

first sample to the original value * 2?

How could you double all of the samples? By hand?

• How many samples are there? Using a loop?

Georgia Institute of Technology

Changing the Value of a Sound Sample

CompSci 001 8.15

Georgia Institute of Technology

Tracing Execution The index is set to 0 The value is set to

the value in the array at that index (59)

The sample value at the current index is set to 2 * value

The index changes to the next index (1)

We check if the index is less than the length of the array and If so do the loop again Else jump to the first

statement after the loop

CompSci 001 8.16

Georgia Institute of Technology

Memory versus Disk

When we read from a file we read from disk into memory Computers only do calculations on memory

We change the values in memory The file on the disk hasn’t changed To save our new sound we need to write a file to

the disk writeSoundTo(sound1, fileName);

CompSci 001 8.17

Georgia Institute of Technology

Copyright US Constitution (Article I, Section 8, Clause 8):

“To promote the Progress of Science and useful Arts”

What can you copyright?• Fixed, tangible medium of expression with a modicum of

originality How do you copyright?

• Don’t need anything. Registration necessary for copyright infringement suits

Authors given limited monopoly so they will disclose to public

Concessions1. Fair use2. First sale3. Limited Time

Evolving Bargain: Copyright holder may profit from works and public has access and can build upon them

What would happen if information could only be shared if the owner provided permission?

CompSci 001 8.18

Georgia Institute of Technology

Fair use

Use copyrighted works without permission if the use does not unduly interfere with the copyright owner’s market for a work

Include personal, noncommercial uses 4 prong test

1. Purpose and character of use (commercial vs. non-profit or educational)

2. Nature of copyrighted work3. Amount and substantiality of the portion used4. Effect of the copying upon market

Example: using a VCR to time-shift a broadcast program

Reverse engineering OK when extracting unprotected elements Connectix Virtual PlayStation

CompSci 001 8.19

Georgia Institute of Technology

Digital rights management

Idea: copying is hard to control, so make the copying process itself difficult Restrict the use of digital files in order to protect

interest of copyright holders Control file access Implemented in operating system, program

software, or in the actual hardware of a device Digital watermarking

Make information so that unauthorized copying can be detected

Serial Copy Management System (Audio Home Recording Act 92)

Dystopian and utopian results? Privacy issues?

CompSci 001 8.20

Georgia Institute of Technology

Test Case

Artist Def Jeff creates a new song that includes a four-bar percussion sample from a Rolling Stones song. He uses the sample without receiving permission from the copyright holder, His DJ overlays the track containing the sample with 40 tracks of original music and puts the song on his latest CD.

Were Def Jeff’s actions within the limits of fair use?

Would he lose a lawsuit? Were his actions ethical?

CompSci 001 8.21

Georgia Institute of Technology

Normalize Sounds

Make the whole sound as loud as possible How loud can it be?

• The max positive value is 32767• The max negative value is -32768

First we need to find the largest value (positive or negative) in the current sound

• Create a variable to hold the max – What should it be when we start looping?

• And loop through the list and if the absolute value of the current value is greater

– Store that one instead

CompSci 001 8.22

Georgia Institute of Technology

Creating a Sound Clip

To clip the “This” out of “This is a test”. Determine where it starts and stops How?

CompSci 001 8.23

Splicing Sounds Together

Originally meant cutting the sound tape into segments and then assembling them in the right order

Easy to do digitally Copy more then one sound into a target sound

Track the source index and target index

CompSci 001 8.24

Recipe for halving the frequency of a sound

def half(filename): source = makeSound(filename) target = makeSound(filename)

sourceIndex = 1 for targetIndex in range(1, getLength( target)+1): setSampleValueAt( target, targetIndex,

getSampleValueAt( source, int(sourceIndex))) sourceIndex = sourceIndex + 0.5

return target

This is how a sampling synthesizer works!

What about doubling the frequency?

Georgia Institute of Technology