📄 birds.htm
字号:
<!-- This file create by Bob L. Sturm Sept 02 2003, using vi. Originally inspired by the MATLAB Auditory Demonstrations package created by Univ. of Sheffield, UK.--><HTML><HEAD> <TITLE>The Additive Synthesis Forest</TITLE> <link href="style.css" rel="stylesheet" type="text/css"></HEAD><BODY><table cellpadding=0 cellspacing=0 align=center border=0 width="100%"><tr> <td> <IMG SRC="birds_t.jpg" WIDTH=137 HEIGHT=146 > </td> <td align=center> <H1>The Additive Synthesis Forest</H1> </td></tr><tr> <td colspan=2 align=center bgcolor=black> <H6><A HREF="#introduction">Introduction</A> <A HREF="#demonstration">Demo</A> <A HREF="#investigate">Investigate</A> <A HREF="#reading">Reading</A> <A HREF="#credits">Credits</A> <A HREF="SSUM.htm">Home</A></H6> </td></tr></table><br><A NAME="introduction"></A><H2>Introduction</H2><P>This is a great demonstration of the power of additive synthesis to create veryrealistic bird calls.</p><br><A NAME="demonstration"></A><H2>The tool</H2><P>Simply press the bird buttons next to the bird name. Click on several to make acacaphonous forest! The random bird is a mixture of all the bird callswith random paramters.</p><br><CENTER><IMG SRC="birds.jpg"></CENTER><br><A NAME="investigate"></A><H2>Things to investigate</H2> <OL> <LI>Which birds sound most and least realistic? Why? <LI>Why is additive synthesis a good technique for synthesizing birdsong?</OL><A NAME="reading"></A><H2>Further reading</H2><p>The file birdsgui.m creates the interface and callbacks for each button. When aparticular button is pressed the function birdcall() is called with the birdname as the variable (<tt>help birdcall</tt>). The portion of code that matchesthe birdname is then executed. This involves defining unique amplitude andfrequency envelopes for the bird and finally a 'pscore' of the bird song. Thepscore is a cell array which contains: {begin dur freq freq_skew amp freq_envamp_env partials} where freq_env, amp_env, and partials are vectors. Each notemust have all these variables specified.</p><br><p>Once the score is created it is passed to the function synth(). This codetakes pscore and for each note it calls the function additive(), which thensynthesizes the note and returns a signal to synth(), which is added into thelarger signal. synth() then returns to birdcall() the final signal which isplayed over the speakers.</p><br><p>You are encouraged to work through the code, starting with birdcall(), toattempt to understand how it works.</p><br><A NAME="credits"></a><H2>Credits</H2><P>The original code for these birds was in Common Lisp Music, (CLM), developed atthe Center for Computer Research in Music and Acoustics (CCRMA) at StanfordUniversity. This code was translated to MATLAB by Bob L. Sturm during summer2003.<br><hr noshade><p class="credits">Produced by Dr. Jerry Gibson and Bob L. Sturm.<br>Release date: September 2, 2003<br>Copyright 2004 University of California, Santa Barbara</p></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -