38 Pages

ch08

Course: CS 177, Fall 2010
School: Purdue
Rating:
 
 
 
 
 

Word Count: 1891

Document Preview

8: Chapter Making Sounds by Combining Pieces 1 2 We know that natural sounds are often the combination of multiple sounds. Adding waves in physics or math is hard. In computer science, its easy! Simply add the samples at the same index in the two waves: r srcSample in range(0, getLength(source)): destValue=getSampleValueAt(dest, srcSample) srcValue=getSampleValueAt(source, srcSample) setSampleValueAt(source,...

Register Now

Unformatted Document Excerpt

Coursehero >> Indiana >> Purdue >> CS 177

Course Hero has millions of student submitted documents similar to the one
below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.

Course Hero has millions of student submitted documents similar to the one below including study guides, practice problems, reference materials, practice exams, textbook help and tutor support.
8: Chapter Making Sounds by Combining Pieces 1 2 We know that natural sounds are often the combination of multiple sounds. Adding waves in physics or math is hard. In computer science, its easy! Simply add the samples at the same index in the two waves: r srcSample in range(0, getLength(source)): destValue=getSampleValueAt(dest, srcSample) srcValue=getSampleValueAt(source, srcSample) setSampleValueAt(source, srcSample, srcValue+destValue) 3 a The first two are sine waves. The third is just the sum of the first two columns. b a+b=c 4 Uses for adding sounds We can mix sounds We even know how to change the volumes of the two sounds, even over time (e.g., fading in or fading out) We can create echoes We can add sine (or other) waves together to create kinds of instruments/sounds that do not physically exist, but which sound interesting and complex 5 def addSoundInto(sound1, sound2): for sampleNmr in range(0, getLength(sound1)): sample1 = getSampleValueAt(sound1, sampleNmr) sample2 = getSampleValueAt(sound2, sampleNmr) setSampleValueAt(sound2, sampleNmr, sample1 + sample2) Notice that this adds sound1 and sound2 by adding sound1 into sound2 6 >>> c4=makeSound(getMediaPath("bassoon-c4.wav")) >>> e4=makeSound(getMediaPath("bassoon-e4.wav")) >>> g4=makeSound(getMediaPath("bassoon-g4.wav")) >>> addSoundInto(e4,c4) >>> play(c4) >>> addSoundInto(g4,c4) >>> play(c4) 7 def makeChord(sound1, sound2, sound3): for index in range(0, getLength(sound1)): s1Sample = getSampleValueAt(sound1, index) setSampleValueAt(sound1, index, s1Sample ) if index > 1000: s2Sample = getSampleValueAt(sound2, index - 1000) setSampleValueAt(sound1, index, s1Sample + s2Sample) if index > 2000: s3Sample = getSampleValueAt(sound3, index - 2000) setSampleValueAt(sound1, index, s1Sample + s2Sample + s3Sample) -Add in sound2 after 1000 samples -Add in sound3 after 2000 samples Note that in this version were adding into sound1! 8 def echo(sndFile, delay): s1 = makeSound(sndFile) s2 = makeSound(sndFile) for index in range(delay, getLength(s1)): echo = 0.6*getSampleValueAt(s2, index-delay) combo = getSampleValueAt(s1, index) + echo setSampleValueAt(s1, index, combo) play(s1) return s1 This creates a delayed echo sound, multiplies it by 0.6 to make it fainter and then adds it into the original sound. 9 def echoes(sndFile, delay, num): s1 = makeSound(sndFile) ends1 = getLength(s1) ends2 = ends1 + (delay * num) # convert samples secs = int(ends2/getSamplingRate(s1)) # to secs s2 = makeEmptySound(secs + 1) amp = 1.0 # make amplitude smaller for each echo for echoCount in range(0, num): amp = amp * 0.6 # amplitude 60% smaller each time for posns1 in range(0, ends1): posns2 = posns1 + (delay*echoCount) val1 = getSampleValueAt(s1, posns1)*amp val2 = getSampleValueAt(s2, posns2) 10 setSampleValueAt(s2, posms2, val1 + val2) How sampling keyboards work They have a huge memory with recordings of lots of different instruments played at different notes When you press a key on the keyboard, the recording closest to the note you just pressed is selected, and then the recording is shifted to exactly the note you requested. The shifting is a generalization of the half/double functions we saw earlier. 11 Why +1 here? def double(source): len = getLength(source) / 2 + 1 target = makeEmptySound(len) targetIndex = 0 for sourceIndex in range(0, getLength( source), 2): value = getSampleValueAt( source, sourceIndex) setSampleValueAt( target, targetIndex, value) targetIndex = targetIndex + 1 play(target) return target Heres the piece that does the doubling 12 This is how a sampling synthesizer works! def half(source): target = makeEmptySound(getLength(source) * 2) sourceIndex = 0 for targetIndex in range(0, getLength( target)): value = getSampleValueAt( source, int(sourceIndex)) setSampleValueAt( target, targetIndex, value) sourceIndex = sourceIndex + 0.5 Heres the play(target) piece that return target does the halving 13 Can we generalize shifting a sound into other frequencies? This way does NOT work: def shift(source, factor): target = makeEmptySound(getLength(source)) sourceIndex = 0 for targetIndex in range(0, getLength( target)): value = getSampleValueAt( source, int(sourceIndex)) setSampleValueAt( target, targetIndex, value) sourceIndex = sourceIndex + factor play(target) return target 14 Itll work for shifting down, but not shifting up. Why? >>> hello=pickAFile() >>> print hello /Users/guzdial/mediasources/hello.wav >>> lowerhello=shift(hello,0.75) >>> higherhello=shift(hello,1.5) I wasn't able to do what you wanted. The error java.lang.ArrayIndexOutOfBoundsException has occured Please check line 7 of /Users/guzdial/shift-broken.py 15 def shift(source, factor): target = makeEmptySound(getLength(source)) sourceIndex = 0 for targetIndex in range(0, getLength( target)): value = getSampleValueAt( source, int(sourceIndex)) setSampleValueAt( target, targetIndex, value) sourceIndex = sourceIndex + factor if sourceIndex > getLength(source): sourceIndex = 0 play(target) return target 16 For a desired frequency f we want a sampling interval like this: 17 How the original sound synthesizers worked What if we added pure sine waves? We can generate a sound that is just a single tone (see the book) We can then add them together (perhaps manipulating their volume) to create sounds that dont exist in nature Dont have to use just sine waves Waves that are square or triangular (seriously!) can be heard and have interesting dynamics We can add together waves of lots of types to create unique sounds that cant be created by physical instruments We call this additive synthesis Additive synthesis as-is isnt used much anymore 18 Sampling as an Algorithm Think about the similarities between: Halving the sounds frequency and scaling a picture larger. Doubling the sounds frequency and scaling a picture smaller. 19 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 play(target) return target def copyBarbsFaceLarger(): # Set up the source and target pictures barbf=getMediaPath("barbara.jpg") barb = makePicture(barbf) canvasf = getMediaPath("7inX95in.jpg") canvas = makePicture(canvasf) # Now, do the actual copying sourceX = 45 for targetX in range(100,100+((200-45)*2)): sourceY = 25 for targetY in range(100,100+((200-25)*2)): color = getColor( getPixel(barb,int(sourceX),int(sourceY))) setColor(getPixel(canvas,targetX,targetY), color) sourceY = + sourceY 0.5 sourceX = sourceX + 0.5 show(barb) show(canvas) return canvas 20 Our programs (functions) implement algorithms Algorithms are descriptions of behavior for solving a problem. A program (our Python function) is an executable interpretations of algorithms. The same algorithm can be implemented in many different languages. The same algorithm can be applied to many different data sets with similar results. 21 Both of these functions implement a sampling algorithm Both of them do very similar things: Get an index to a source Get an index to a target For all the elements that we want to process: Copy an element from the source at the integer value of the source index to the target at the target index This is a Increment the source index by 1/2 description of the Return the target when completed algorithm. 22 Adding sine waves to make something completely new We saw earlier that complex sounds (like the sound of your voice or a trumpet) can be seen as being a sum of sine waves. We can create complex sounds by summing sine waves. These are sounds made by mathematics, by invention, not based on anything in nature. 23 Basic idea: Build a sine wave If we want a 440 Hz sound wave, then we need one of these cycles every 1/440th of a second. We need to break this wave into the number of pieces in our sampling rate. 24 25 Our Code def sineWave(freq ,amplitude ): # Get a blank sound mySound = getMediaPath(sec1silence.wav) buildSin = makeSound(mySound) # Set sound constant sr = getSamplingRate(buildSin) # sampling rate interval = 1.0/ freq # Make sure its floating point samplesPerCycle = interval * sr # samples per cycle maxCycle = 2 * pi for pos in range (0, getLength(buildSin )): rawSample = sin((pos / samplesPerCycle) * maxCycle) sampleVal = int(amplitude*rawSample) setSampleValueAt(buildSin ,pos ,sampleVal) return buildSin 26 Adding pure sine waves together >>> f440=sineWave (440 ,2000) >>> f880=sineWave (880 ,4000) >>> f1320=sineWave (1320 ,8000) >>> addSounds(f880 ,f440) >>> addSounds(f1320 ,f440) >>> play(f440) >>> explore(f440) >>> just440=sineWave (440 ,2000) >>> play(just440) >>> explore(f440) Adding together 440Hz, 880Hz, and 1320Hz, with increasing amplitudes. Comparing to a 440Hz wave 27 Comparing the waves Left, 440 Hz; Right, combined wave. In Explorer In the Spectrum view in MediaTools 440, 880, 1320 28 Making more complicated waves Using square waves, # use float since interval is fl point samplesPerCycle = interval * samplingRate instead of sine waves, # we need to switch every half-cycle can be a richer sound samplesPerHalfCycle = int(samplesPerCycle / 2) sampleVal = amplitude def squareWave(freq,amplitude): s =1 # Get a blank sound i=1 mySound = getMediaPath("sec1silence.wav") for s in range (0, getLength(square)): square = makeSound(mySound) # if end of a half-cycle # Set music constants if (i > samplesPerHalfCycle): samplingRate = getSamplingRate(square) # reverse the amplitude every half-cycle seconds = 1 # play for 1 second sampleVal = sampleVal * -1 # Build tools for this wave # and reinitialize the half-cycle counter # seconds per cycle i=0 interval = 1.0 * seconds / freq setSampleValueAt(square,s,sampleVal) i=i+1 return(square) 29 Building sounds with square waves >>> sq440=squareWave(440,4000) >>> play(sq440) >>> sq880=squareWave(880,8000) >>> sq1320=squareWave(1320,10000) >>> writeSoundTo(sq440,"square440.wav") >>> addSounds(sq880,sq440) >>> addSounds(sq1320,sq440) >>> play(sq440) >>> writeSoundTo(sq440,"squarecombined440.wav") Basic square wave Summed square wave 30 Sound synthesis techniques Adding sine and square (and triangle) waves is additive sound synthesis. Most common modern synthesis technique is frequency modulation (FM) synthesis. Much richer sound. Just about any way you can imagine to fill a sound mathematically can lead to an interesting synthesis technique. Create random noise, then filter parts out: Subtractive synthesis 31 Adding envelopes Most real synthesizers today also allow you to manipulate envelopes An envelope is a definition of how quickly the aspects of the sound change over time For example, the rise in volume (attack), how the volume is sustained over time (sustain), how quickly the sound decays (decay): The ASD envelope Pianos tend to attack quickly, then decay quickly (without pedals) Flutes tend to attack slowly and sustain as long as you want. 32 Why write sound programs? Arent there audio tools that can do many of these things? Sure, and thats good enoughif thats good enough. If you just want to use a sound, then simply using tools to generate the noise/instrument/sound you want is fine. 33 Communicating process What if you want to tell someone else how you got that sound, so that they can replicate the process, or even modify the sound in some way, or make it better? You could write down all the steps in a sound application tool. Tedious, error prone. Or you could provide a program. A succinct, executable definition of a process. 34 What is MP3? MP3 files are files encoded according to the MPEG-3 standard. They are audio files, but they are compressed in special ways. They use a model of how we hear to get rid of some of the sound. If there is a soft sound at the same time as a loud sound, dont record the soft sound They use various compression techniques to make the sound smaller. WAV files are compressed, but not as much, and dont use any smart models to make themselves smaller. 35 What is MIDI? MIDI is a standard for encoding music, not sound. MIDI literally encodes For this instrument (track), turn key #42 on then later For this instrument (track), turn key #31 off. The quality of the actual sound depends entirely on the synthesizerthe quality of the instrument generation (whether recorded or synthesized). MIDI files tend to be very, very small. Each MIDI instruction (Play key #42 track 7) is only about five bytes long. Not thousands of bytes long. 36 Playing MIDI in JES The function playNote allows you to play MIDI piano with JES. playNote takes three inputs: A note number Not a frequencyits literally the piano key number C in the first octave is 1, C# is 2, C in the fourth octave is 60, D in the fourth octave is 62. A duration in milliseconds (1/1000 of a second) An intensity (0-127) Literally, how hard the key is pressed 37 MIDI Example def song(): playNote(60,200,127) playNote(62,500,127) playNote(64,800,127) playNote(60,600,127) for i in range(1,2): playNote(64,120,127) playNote(65,120,127) playNote(67,60,127) 38
Find millions of documents on Course Hero - Study Guides, Lecture Notes, Reference Materials, Practice Exams and more. Course Hero has millions of course specific materials providing students with the best way to expand their education.

Below is a small sample set of documents:

Purdue - CS - 177
Chapter 9:Building Bigger Programs1Chapter Objectives2How to Design Larger Programs Building something larger requires good softwareengineering. Top-down: Start from requirements, then identify the piecesto write, then write the pieces.Bottom-up
Purdue - CS - 177
Chapter 9:Building Bigger Programs12How to Design LargerProgramsBuilding something larger requires good software engineering. Top-down: Start from requirements, then identify the pieces towrite, then write the pieces. Bottom-up: Start building pi
Purdue - CS - 177
Chapter 10:Creating and Modifying Text1Chapter Objectives2Text Text is the universal medium We can convert any other media to a text representation. We can convert between media formats using text. Text is simple. Like sound, text is usually pro
Purdue - CS - 177
Chapter 10:Creating and Modifying Text12TextText is the universal medium We can convert any other media to a text representation. We can convert between media formats using text. Text is simple.Like sound, text is usually processed in an arraya l
Purdue - CS - 177
Chapter 11:Advanced Text Techniques: Web and Information12Networks: Two or morecomputers communicatingNetworks are formed when distinct computerscommunicate via some mechanism.Rarely does the communication take the place of 0/1voltages over a wir
Purdue - CS - 177
Chapter 12:Making Text for the Web12HyperText Markup Language(HTML)HTML is a kind of SGML (Standardized General MarkupLanguage) SGML was invented by IBM and others as a way of defining parts of a document.HTML is a simpler form of SGML, but with
Purdue - CS - 177
Chapter 13:Creating and Modifying Movies12Movies, animations, and videooh my!Were going to refer generically to captured (recorded)motion as movies.This includes motion entirely generated by graphicaldrawings, which are normally called animations
Purdue - CS - 177
Chapter 14:Topics in Computer Science: Speed12Big speed differencesMany of the techniques weve learned take no time at allin other applicationsSelect a figure in Word.Its automatically inverted as fast as you can wipe.Color changes in Photoshop h
Purdue - CS - 177
Chapter 15:Topics in Computer Science: Functional Programming12Functions: Whats the point?Why do we have functions?More specifically, why have more than one?And if you have more than one, which ones should youhave?Once I have functions, what can
Purdue - CS - 177
Chapter 16:Topics in Computer Science: Object-OrientedProgramming12History of Objects: Where theycame fromStart of the Story: Late 60's and Early 70'sWindows are made of glass, mice are undesirable rodentsGood programming = Procedural Abstraction
Purdue - CS - 177
CS 177 Fall 2010 Exam I-There are 25 single choice questions. Each one is worth 4 points. The total score for theexam is 100.Answer the questions on the bubble sheet given.Fill in the Instructor, Course, Signature, Test, and Date blanks in the bubble
Purdue - CS - 177
CS 177 Fall 2010 Exam II-There are 25 single choice questions. Each one is worth 4 points. The total score for theexam is 100.Answer the questions on the bubble sheet given.Fill in the Instructor, Course, Signature, Test, and Date blanks in the bubbl
Purdue - CS - 177
CS 177 Fall 2010 Final Exam-There are 50 single choice questions. Each one is worth 4 points. The total score for theexam is 200 points.Answer the questions on the bubble sheet given.Fill in the Instructor, Course, Signature, Test, and Date blanks in
Purdue - CS - 177
Learning Styles and StrategiesLearningWhat is measured is PREFERENCE, notPREFERENCEcompetenceBetter understanding of how you prefer tolearn means a higher quotient for successUnderstanding your preference and that ofothers may help in communicatio
Purdue - CS - 177
Project 1: Sound Editordue Sunday, October 31st, 11:59 pmThis is an individual project.For this project you will develop a simple sound editing program. Background Course Material Setup Project Specification Submitting Your Project Grading Criter
Purdue - CS - 177
PROJECT 2: ADVANCED ADVENTURE GAMEdue Sunday, November 21st, 11:59 pmThis is an individual project.BACKGROUNDIn this project you will modify the Adventure Game by adding new features andfunctions. You will use your knowledge of hierarchal decompositi
Purdue - CS - 177
Project 3: Mastering HTMLThis is a team project to be done in groups of at most 3 studentsProject Due Friday, December 10th, 11:59 pmTA: Mohammad Kazi (mkazi@cs.purdue.edu)Background and Course MaterialSetupProject SpecificationFinal Project Turnin
Purdue - CS - 177
CS 177 Programming withMultimedia ObjectsRecitationCourse Policy On Course WebsiteHow Computer WorksWhat Computers Understand? Computers can only understandEncoding of numbers. So what is the meaning ofEncoding? Figure 3 (pag. 8) of the textboo
Purdue - CS - 177
CS 177 Week 2 Recitation SlidesVariables, Files and Functions1AnnouncementsGet your I-Clickers to class next time.2ANY QUESTIONS?3Table of contentVariablesFilesFunctionsWhat is a function? Why to use a function? How to write a function in JE
Purdue - CS - 177
CS 177 Week 3 Recitation SlidesPictures, Pixels, Colorsandfor Loop1Announcements2ANY QUESTIONS?3Reminder: Why digitize media?Real media is analogue (continuous).To digitize it, we break it into parts and encode them intonumbers.By encoding th
Purdue - CS - 177
CS 177 Week 4 Recitation Slidesfor Loopif statementandrange1AnnouncementsEXAM 1Wednesday 09/296:30p - 7:30pEE 1292ANY QUESTIONS?3Lets remember for Loopdef decreaseRed(picture):for p in getPixels(picture):value = getRed(p)setRed(p,value*0
Purdue - CS - 177
CS 177 Week 5 Recitation SlidesMirroring and copying images,Using for Loop, if statement, and range1AnnouncementsEXAM 1Wednesday 09/296:30p - 7:30pEE 1292ANY QUESTIONS?3Horizontal mirror recipe4mirroring means intuitively "flipping around" a
Purdue - CS - 177
CS 177 Week 6 Recitation SlidesScalingDrawing on imagesVector-based Vs. Bitmap graphical representation1AnnouncementsnEXAM 1Wednesday 09/296:30p - 7:30pEE 1292ScalingnScaling a picture (smaller or larger) has to do withsampling the source p
Purdue - CS - 177
CS 177 Week 7 Recitation SlidesModifying Sounds using Loops+Discussion of some Exam Questions1ANY QUESTIONS?2Q3. Consider the following function definition:def sum(a, b):c=a+breturn cprint Hello WorldWhat is the output when you execute sum(4,5
Purdue - CS - 177
CS 177 Week 8 Recitation SlidesJES Sound functionsandModifying SoundsIncreasing/Decreasing VolumeMaximizing (Normalizing)SplicingReversingMirroring1ANY QUESTIONS?2Lets remember SoundWe store sounds as array of integer values Each value is st
Purdue - CS - 177
CS 177 Week 9 Recitation SlidesSound Combination, SamplingandBuilding Bigger Programs1ANY QUESTIONS?2Media File Path is Important> setMediaPath() #must be called before getMediaPath> c4=makeSound(getMediaPath("bassoon-c4.wav")> e4=makeSound(getM
Purdue - CS - 177
CS 177 Week 9 Recitation SlidesCreating and Modifying Text1ANY QUESTIONS?2Text and StringLike sound, text is usually processed in an arraya longline of charactersStrings are defined with quote marks:Single quotes my string Double quotes my strin
Purdue - CS - 177
CS 177 Week 11 Recitation SlidesWriting out programs, Reading from the Internetand Using Modules1ANY QUESTIONS?2Writing a program to writeprogramsFirst, a function that will automatically change the textstring that the program littlepicture draws
Purdue - CS - 177
CS 177 Week 12 Recitation SlidesAdvanced Text Techniques and Making Text for theWeb + (some examII questions)1Q21. Suppose you have the following string:str = "Purdue University"Which of the following statements will produce the same result ofstr.f
Purdue - CS - 177
CS 177 Week 13 Recitation SlidesHTML and Relational Database1ANY QUESTIONS?2What is HTML?Language which specifies the format of the text on theworld wide web.a.k.a. Hyper Text Markup Language.Was originally created with the intent of identifying
Purdue - CS - 177
CS 177 Week 15 Recitation SlidesSpeedBig-O notationSorting and SearchingandFunctions with Recursion1ANY QUESTIONS?2More than one way to solve aproblemTheres always more than one way to solve a problem.3You can walk to one place around the blo
Purdue - CS - 177
CS 177 Week 16 Recitation SlidesObject Oriented Programming1ANY QUESTIONS?2Procedural Abstractions3Define tasks to be performedBreak tasks into smaller and smaller pieces Until you reach an implementable sizeDefine the data to be manipulatedDes
Purdue - CS - 177
Q1. What is the name of the function that will display the names of variables in yourprogram?A)showVars()B)showNames()C)showFiles()D)showObjects()Key: AQ2. The following function will result in a JES error. Why?A)B)C)D)In line 1 the : is m
Purdue - CS - 177
The Concept of Team WorkStarting with Lab 9 you will be doing lab exercises in groups of two or three students. You willalso do projects in groups. The content of this document applies to labs and to projects. Youshould elect one student as the group l
Purdue - CS - 177
Teaming: Reflection Paper GuidelinesPart of a successful teaming experience is the ability to critically reflect on that experience andarticulate it well to others. College-level writing that has been spell-checked and proof read isexpected. This paper
Purdue - CS - 177
If you want to turnin your project from your home you can follow the followingsteps:1. Download the SSH Secure Shell Client 3.2.9. You can google it or find atftp:/ftp.tm.informatik.uni-frankfurt.de/pub/prog/SSHSecureShellClient3.2.9.exeThis program i
University of Sydney - MATH - 1011
Periodic Functions[1.2 of the Notes, Chapter 1 ofStewart is also useful]There are many examples in natureof events repeating themselves overand over again. Nature is periodic!Example 1If you plot the length of day againsttime the graph repeats its
Purdue - HIS - 306
NewFinalExam1.ComparethedifferencesbetweentheEastandWestintermsofinfluencandlandscapearchitecture.StudentResponse:EgyptianlandscapeswemadefertilebytheoverfgardenswereformalandmadelandscapebecausnonaturallandscapestoirrigationsystemswereinEgypti
Purdue - HIS - 306
History of Horticulture: Lecture 1Lecture 1Dating the Past: Geologic,Archeologic, Biologic, and HumanArcheologic,CultureDating the Past (years ago)Dating the Past (years ago)1History of Horticulture: Lecture 1Dating the Past (years ago)The Emer
Purdue - HIS - 306
History of Horticulture: Lecture 2Lecture 2Early Humans and the Prehistoric Record:HumanPlant InteractionDating the PastHuman Fossils & ToolsHominid fossils and tools date to 1.8 million yearsago.There is some evidence of tools in Europe as early
Purdue - HIS - 306
History of Horticulture: Lecture 3Lecture 3Neolithic Revolution and theDiscovery of AgricultureDating the PastThe Great Technological Discoveriesof Pre-historyThe discovery of toolsThe discovery and control of fireThe invention of agricultureThe
Purdue - HIS - 306
History of Horticulture: Lecture 4Lecture 4Geography of Plant DomesticationAlphonse de Candolle (18061893)Charles Darwin (18091882)1858 Origin of SpeciesNicholas Ivanovitch Vavilov (18871943)Alphonse de Candolle (18061893)Alphonse De Candolle as a
Purdue - HIS - 306
History of Horticulture: Lecture 5Lecture 5Centers of Origin of Crop PlantsThe eight Vavilovian Centers of Origin for crop plantsOLD WORLDI. Chinese Center: The largest independent centerwhich includes the mountainous regions of centraland western
Purdue - HIS - 306
NewFinalExam1.ComparethedifferencesbetweentheEastandWestintermsofinfluencandlandscapearchitecture.StudentResponse:EgyptianlandscapeswemadefertilebytheoverfgardenswereformalandmadelandscapebecausnonaturallandscapestoirrigationsystemswereinEgypti
Purdue - HIS - 306
Title:exam1Started:Submitted:Timespent:Totalscore:February21,20088:26AMFebruary21,20088:58AM00:31:4799/100=99% Totalscoreadjustedby0.0Maximumpossiblescore:1001.ToxicsubstancestendtobeeliminatedinStudentResponseValueCorrectAnswer1 cultiva
Purdue - HIS - 306
JumptoNavigationFrameTitle:Started:Submitted:Timespent:Totalscore:exam2March5,200810:31AMMarch5,200811:08AM00:36:5298/100=98% Totalscoreadjustedby0.0Maximumpossiblescore:1001.ComparecontributionsofDioscoridesandTheophrastestohorticulturalkS
Purdue - HIS - 306
Title:Quiz1Started:January15,20088:29PMSubmitted:January15,20088:43PMTimespent:00:13:56Totalscore:10/10=100% Totalscoreadjustedby0.0 Maximumpossiblescore:101.GiveapproximatedatefortheBronzeAgeStudentResponse1. 4,000yearsagoValueCorrectAnswe
Purdue - HIS - 306
Extra Credit AssignmentTwo famous garden scenes of Shakespeare are found in Richard II and The Winter's Tale.Choose one and delineate and discuss the horticultural knowledge revealed in these excerpts.Your submission should be at least one page in leng
Purdue - HIS - 306
ARTGiuseppeArcimboldoMichelangeloCaravaggioGeorgDionysusEhretGeorgiaOKeefeVincentvanGoghLeonardodaVinciBartolomeoMayanYumKaax,Yucatan,Chultunes.AztecsTenochtitlan,Milpas,Chinampas,MexicoCity.IncasMacchuPichu,Potatoculture,.Cuzco.GreeceRhizotomoi,Hippoc
Purdue - HIS - 306
EXAM #1Question Type #1Cultivated Food Plants Toxic Substances tend to be eliminated in Seed dormancy is lost in Self pollination tends to increase in Fruit and organ size is greater in Life span for crops grown for vegetative organs is increased i
Purdue - HIS - 306
Yourlocation:AssessmentsViewAllSubmissionsViewAttemptViewAttempt1of1Title:exam1Started:Submitted:Timespent:Totalscore:January28,20098:28AMJanuary28,20098:47AM00:18:2190/100=90% Totalscoreadjustedby0.0 Maximumpossiblescore:1001.Toxicsubstance
Purdue - HIS - 306
Yourlocation:AssessmentsViewAllSubmissionsViewAttemptViewAttempt1of1Title:exam2Started: February2,20098:20AMSubmitted: February2,20098:53AMTime00:32:52spent:Total97/100=97% Totalscoreadjustedby0.0 Maximumpossiblescore:100score:1.Comparecontri
Purdue - HORT - 306
Old World Crops: Wheat, rice, Date. Apple, citrus/ New World Crops: Peanut, cacao, maize, squash, tomato Ikebana, Bonsai, and Sakai:ikebana is a Japanese flower arrangement that is based on the symbolic use of flowers. Bonsai is specimen grown on miniatu
Purdue - HORT - 306
View Attempt 1 of 1Title:Started:Submitted:Time spent:New Final ExamDecember 8, 2010 3:02 PMDecember 8, 2010 4:15 PM01:12:34Total score:170/200 = 85% Total score adjusted by 0.0Maximum possible score: 2001.Define the following design termsSy
Purdue - HORT - 306
Title:NewFinalExamStarted:Submitted:Timespent:Totalscore:February11,20098:29AMFebruary11,20099:52AM01:23:25154/200=77% Totalscoreadjustedby0.0 Maximumpossiblescore:2001.Defendthefollowingstatementandgiveexamples.<br>Thegreatestcontributiontoho
Purdue - HORT - 306
ViewAttempt1of1Title:Quiz3Started:Submitted:Timespent:Totalscore:January15,200911:31PMJanuary15,200911:40PM00:08:5310/10=100% Totalscoreadjustedby0.0 Maximumpossiblescore:101.WhatisevidenceforplantintroductionintoEgypt?(2points)StudentRespon
Purdue - HORT - 306
Yourlocation:AssessmentsViewAllSubmissionsViewAttemptViewAttempt1of1Title:exam1Started:Submitted:Timespent:Totalscore:January28,20098:28AMJanuary28,20098:47AM00:18:2190/100=90% Totalscoreadjustedby0.0 Maximumpossiblescore:1001.Toxicsubstance
Purdue - HORT - 306
Title:Quiz1Started:January15,20088:29PMSubmitted:January15,20088:43PMTimespent:00:13:56Totalscore:10/10=100% Totalscoreadjustedby0.0 Maximumpossiblescore:101.GiveapproximatedatefortheBronzeAgeStudentResponse1. 4,000yearsagoValueCorrectAnswe
Purdue - HORT - 306
Title:Quiz2Started:Submitted:Timespent:Totalscore:January15,20088:50PMJanuary15,20089:06PM00:16:1110/10=100% Totalscoreadjustedby0.0Maximumpossiblescore:101.WheatoriginatedinStudentResponse1. Americas2.Asia3. AfricaValueCorrectFeedbac
Purdue - HORT - 306
Title:Quiz3Started:Submitted:Timespent:Totalscore:January16,20087:06PMJanuary16,20087:15PM00:09:4310/10=100% Totalscoreadjustedby0.0Maximumpossiblescore:101.WhatisevidenceforplantintroductionintoEgypt?(2points)StudentResponse:SampleCorrectAn
Purdue - HORT - 306
Title:Quiz4Started:Submitted:Timespent:Totalscore:January16,20087:16PMJanuary16,20087:33PM00:16:4510/10=100% Totalscoreadjustedby0.0Maximumpossiblescore:101.Whatisthehorticulturalsignificanceof:HangingGardensofBabylon(2points)StudentResponse