Syllabus and Meeting Times

IM4420 Dynamic Web Applications

Students apply user-centered design principals, database structures and server side scripting to design and develop content for server-based dynamic delivery. Attention will be paid to design issues relating to the display of dynamic content on the screen and how that dynamic content will be delivered.

Instructor: John Keston
Meeting Times and Location:
Monday / Wednesday
Room 304, Pence Building, 5:00pm – 8:00pm

Syllabus:
IM4420 Dynamic Web Apps

Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6
Week 7 | Week 8 | Week 9 | Week 10 | Week 11

Week 1

Session 1: Welcome to Dynamic Web Applications. The goal of this class is to learn about the scope of web based applications and the technology used to engineer these tools. We will start by researching and implementing Open Source applications and then move into developing our own applications using PHP, MySQL and other technologies available to us. Throughout this process we will be reviewing PHP, MySQL and Javascript while developing new techniques. Due to the upper level nature of this course, it is strongly suggested that you spend extra time reviewing the concepts taught in the prerequisite course, IM3420 Advanced Scripting Languages. The following reading assignments are an introduction to Open Source and the Free Software Foundation. On Session 2 we will be watching a film about the history of the OS movement.

http://en.wikipedia.org/wiki/Open_source
An article about the Free Software Foundation by John Keston

Download: PHP Problem Set 1
1. All PHP problems within a “set” are due by the beginning of class on the next day that the class meets.
2. Each solution must be available via links on the OLS or comparable hosting and copied to the drop off drive.
3. Solutions to each problem set will be given during demonstrations on the day that they are due.
4. Grades will be collected during the solution demonstrations by an assigned classmate.

Session 2: Today we’ll be watching Revolution OS. “Revolution OS is a 2001 documentary which traces the history of GNU, Linux, Free Software and the Open Source movement. It features several interviews with prominent people, including Richard Stallman, Michael Tiemann, Linus Torvalds, Larry Augustin, Eric S. Raymond, Bruce Perens, Frank Hecker and Brian Behlendorf. It was directed by J.T.S. Moore.” – Wikipedia

After watching the film we will have a brief discussion about it and then begin going over the requirements for our first assignment. Our first assignment involves researching Open Source applications that use PHP and MySQL. We will compare and contrast a minimum of two OS projects.

Dynamic Web Applications – Research Project
Due: Session 1, Week 3

Write a six page double spaced research paper comparing and contrasting two Open Source web application projects. Use the resources listed to browse existing projects. Make sure that at least one of the projects you select uses PHP and MySQL. A prominent example for us is aim.aiiresources.com, which uses the popular content management system (CMS) – Joomla. Take your time and browse many examples until you find two that capture your interests. Make sure that you answer each of the following questions in your research. We will discuss your papers in class on Session 1, week 3. Note: please do not include WordPress as one of your examples because we are using it for the first project.

1. Why did you select each of your projects? What was it that attracted you to each example?

2. What sort of features are available in each project and how can they be applied as solutions for typical web based needs?

3. What are the requirements for implementing each example? What technologies are involved? Is a database required, etc.?

4 . Address the history of each project. What are the current versions? How long have the projects been active and who makes up the community surrounding them?

5. How would you use these projects? What kind of businesses or organizations could make use of these projects and how?

Delivery: Save your paper as a MLA 7 Google Document and share it with me at jck362 [ at ] gmail [ dot ] com. Name the file IM4420_OSResearch_<lastname>.

Resources:
www.freshmeat.net – The webs largest index of mostly unix and cross-platform software
www.sourceforge.net – A complete database of Open Source projects.
www.opensourcecms.com – Try before you bu… install.
CMS Matrix

Week 2

Session 1: Today will we discuss your research so far and take a look at some examples of Open Source projects that are currently operational. Our focus for the implementation project is WordPress so most of our discussion will revolve around this popular, stable and flexible platform. Here’s a few of the other examples we will be examining.

aim.aiiresources.com
www.audiocookbook.org
www.opensourcecms.com
www.cmsmatrix.org
www.thegoldenmean.com
bmwmcq.org.au
www.jazzclube.com

Session 2: Today I’ll be demonstrating the installation process of WordPress. Some of the tools we will look at for this process are SSH (Secure Shell), FTP, Dreamweaver, and phpMyAdmin (Web based MySQL database manager). I will demonstrate how to set the permissions and troubleshoot error messages that arise during the installation process. Be prepared by downloading the latest version of WordPress, and make sure that your hosting environment supports the minimum requirements (the OLS will work).

Dynamic Web Applications – Open Source Implementation Project
Due: Session 2, Week 5

The purpose of this project is to learn the ins and outs of the installation, implementation and customization of dynamic, web-based, Open Source applications. We will be implementing WordPress, which uses the LAMP (Linux, Apache, MySQL, PHP) architecture, on your own hosting environment or the OLS. After successfully implementing the software fully test the software and then customize it by changing the look and adding and removing features or functionality. Follow the outline below as a guideline for your procedure.

  1. Evaluate The OS Project Requirements
    • Check and compare the version of the server software required (PHP, MySQL, etc.)
    • Make sure your hosting platform is compatible (XP vs Linux / Apache vs IIS, etc.)
  2. Review the Installation Documentation (readme files, etc.)
  3. Download and Decompress the Software
  4. Upload the Software to the Server
  5. Setup the Database if Required
  6. Follow Installation Procedures
  7. Test the Installation
    • User Areas
      • View Content
      • Check Functionality
    • Administrative Areas
      • Add Content
      • Edit Content
      • Delete Content
  8. Add Live Content *
  9. Change the Look/Feel (re-skin/theme)
  10. Customize
    • Add Features
    • Change Features
    • Remove Features

WordPress Specific Requirements:
1. Extend your implementation by installing 3-5 WordPress plugins that fit the topic of your project.
2. Create a custom theme (you may start by modifying an existing WordPress theme).
3. Use “Template Tags” to extend your theme.

* Decide on a topic for your content. You might invite others to contribute content, or write abstracts of relevant articles.

Download: PHP Problem Set 2
1. All PHP problems within a “set” are due by the beginning of class on the next day that the class meets.
2. Answers must be available via links on the OLS or comparable hosting and copied to the drop off drive.
3. Solutions to each problem set will be given during demonstrations on the day that they are due.
4. Grades will be collected during the solution demonstrations by an assigned classmate.

Week 3

Session 1: In today’s class we will be discussing what you have written in your research papers, which are also due today. After that we will be attempting to implement examples of the Open Source project you selected for the implementation assignment. I will be checking everyone’s progress as you work. The goal is to get to a point where the installation allows your project to be functional at a default level, exactly like the demonstration on Session 2, week 2. Make sure you are prepared by knowing exactly which software you plan on working with and having all of the necessary login and password information for your web hosting servers and database available. It is also a good idea to complete steps 1, 2 and 3 in the outline for the implementation project (Session 2, week 2).

Netcraft (What’s that site running?)
Ultimate Linux Reference Guide for Newbies

Session 2: Now that we all have a good start on the Open Source Implementation project it is time to start discussing our next and final project which involves either extending an application like WordPress by writing plugins or hacking the framework, or developing a dynamic web application of your own. There are many types of applications that are acceptable for this project. Here’s a list of a few examples to get you started.

1. E-Commerce – Developing a custom e-commerce system is an excellent asset for clients and employers.
2. Dynamic Content Management – The point is to allow the customer to edit their content without help from a developer.
3. Forums / Message Boards – These tools are important to community sites and organizations.
4. News / Blogging – News sites and blogs are a large part of the content on the internet and can be quite useful tools.
5. Calendar / Event Manager – Another example of useful tools for community sites, and others.

Other examples may also be acceptable. Consult with me about your ideas regularly. Once you have decided what sort of application you’ll be developing you need to start the planning stage. Start by writing a summary of what the application will do followed by a list of features. Try to think of all the details and requirements for each of the features. Make notes of web sites that have similar tools and resources that apply to what you are building. Later we will discuss the formal requirements for the planning stage, but I want you to start thinking about your projects right away.

Download: PHP Problem Set 3
1. All PHP problems within a “set” are due by the beginning of class on the next day that the class meets.
2. Answers must be available via links on the OLS or comparable hosting and copied to the drop off drive.
3. Solutions to each problem set will be given during demonstrations on the day that they are due.
4. Grades will be collected during the solution demonstrations by an assigned classmate.

Syllabus and Meeting Times

CA2431 Audio Production

This course is a conceptual introduction to audio production techniques. Students will understand to digitize sound and apply it to their work. Students will also learn how to produce appropriate audio effects and transitions.

Instructor: John Keston

Meeting Times and Location:
Wednesday, Room 229 5:00pm – 6:00pm

Syllabus:
CA2431 Audio Production Syllabus

Glossary of Terms: ca2431glossary.doc

Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6
Week 7 | Week 8 | Week 9 | Week 10 | Week 11

Week 4

Session 1: Another aspect of using WordPress involves what are called Template Tags. We will discuss and demonstrate the use of template tags in class today. Also, planning a small scale dynamic web application can be tricky, but there are some ways to think ahead and make the process a little less daunting. Let’s use the example of a service list manager. A service list is a list of contacts for a business that require promotional material on a regular basis. Artists and record labels use service lists to inform the media about events, new releases, showings and other news. In order to create a dynamic web application to maintain a service list and record transactions a number of questions need to be answered.

  1. Do you write from the ground up or use a framework?
    1. If a framework, which one?
    2. If not, plan ahead for an extended timeline
    3. Consider security issues and cost of development cycle
  2. What features will be required? Details regarding each feature are very important in the planning stage.
  3. Is a database needed? Most often it will be needed, but in some cases it’s not necessary.
  4. Illustrate the forms and other web pages in the application. This will help you discover features and structure.
  5. Define the database schema. Think about how many tables will be needed and how the tables are joined.

Session 2: In class today we will be reviewing some SQL syntax, focusing on the DDL. I’ll be going over a few examples of CREATE TABLE statements and discussing the datatypes involved. In lab I’ll be looking at everyone’s progress so far. The Implementation Projects are due a week from today. At this stage you should be finished with steps 1 through 8 and working on steps 9 and 10. Manipulating the look/feel/design and adding/customizing features is the most time consuming aspect of this kind of development so make sure that you’re spending most of your time on these steps.

CREATE TABLE statement examples

Reading Assignments:
Explanation of Database Indexes
MySQL Documentation for the ENUM datatype
MySQL Documentation for Foreign Key Constraints

Template Tag Explanation Assignment:
In class on session 1 of week 5 please be prepared to describe the details about one of the template tags that you are using in your implementation project. Do research so that you can tell us what features the template tag has and what arguments are necessary to produce those behaviors.

Week 5

Session 1: Today we will use phpMyAdmin to start analyzing the WordPress database schema. How do the tables included interact? What sort of data is stored and how can we access it in ways distinct from the WordPress framework? How would we write a plugin to access data differently? These are some of the questions we’ll be going over as well as an exercise in using the DML to retrieve data from WordPress in our own format.

Web Applications Final Project Plan Requirements
(In progress)

1. Title Page (include TOC, etc.)
2. Project Overview
3. Feature List (w/Brief Descriptions for each Feature)
4. Database Flowchart / Schema
5. Wireframes (make sure forms are included)

Also: Template Tag Explanation Assignment Due Today

Session 2: Today we will be presenting our Open Source Implementation Projects. Presenting your project is required and worth a minimum of one half of one grade point. As you present, discuss why you selected the software you used, how you customized the features and what you did to change the visual nature of the front end.

The following code example displays a tag cloud in your sidebar and then prevents tag with only one topic from being show in the cloud.

<?php
    $defaults = array('smallest' => 11, 'largest' => 27, 'unit' => 'px', 'number' => 100, 
                      'format' => 'array', 'orderby' => 'name', 'order' => 'ASC');
    $tags_array = wp_tag_cloud($defaults);
    //print_r($tags_array);    
    $needle = ' topics';
    foreach( $tags_array as $tag ) {
        if ( stristr($tag,$needle) ) {
            echo( $tag." " );
        }
    }
?>

Week 6

Session 1: PHP has become one of the most popular ways to do server side scripting for web applications. The reasons include that it’s Open Source, easy to learn, flexible, operates on most OSes, interfaces with most popular database platforms, very stable, portable, and get’s updated and improved regularly. But, as we have learned, development from the ground up can be daunting. So what if you have a custom project that needs to be fully developed without using an existing code base? There are ways to get a jump start on this process. “CodeIgnitor is a powerful PHP framework with a very small footprint, built for PHP coders who need a simple and elegant toolkit to create full-featured web applications.” (codeignitor.com) Let take a brief look at CodeIgnitor and then continue learning about plugin development for WordPress.

WordPress Plugin Developer Resources:
Writing a WordPress Plugin
Your First WordPress Plugin (Video)

Session 2: Today we will analyze some examples that are further developed. We will look at a working version of these examples and then take a quick look at some of the source code, paying particular attention to new functions and techniques.

Due on Week 7 Session 2
WordPress Plugin Exercise:
1. Write a WordPress plugin to display the “age” of a post
2. Display the days, hours, and minutes in a human readable form
3. Try using the template tag the_time()
4. Try also using the WordPress function human_time_diff()

Week 7

Session 1: I have another example to show from the Service List Manager project. This tool is nearly complete, so I’ll also be discussing what sort of finishing touches that might be applied to this kind of application. Also, let’s continue looking at your source code examples. I would like everyone to show at least one example before week 10.

Final Project Schedule:
Session 2, Week 7 – Final project concept presentations (explain to class your concept)
Session 1, Week 8 – Final project development plans due (paper copies of finished devplans)
Session 2, Week 8 – First of three progress reports (show code, get feedback, etc.)
Session 1, Week 9 – Second progress report
Session 1, Week 10 – Discuss take home final essay questions
Session 1, Week 10 – Third progress report
Week 11 – Final presentations

Session 2: Template engines are another tool to help build complex web based applications. Usually the purpose of a template engine is to help separate the presentation layer from the logic, or back-end. One example of an Open Source templates engine project is Smarty. Here’s a brief description from their website:

Although Smarty is known as a “Template Engine”, it would be more accurately described as a “Template/Presentation Framework.” That is, it provides the programmer and template designer with a wealth of tools to automate tasks commonly dealt with at the presentation layer of an application. I stress the word Framework because Smarty is not a simple tag-replacing template engine. Although it can be used for such a simple purpose, its focus is on quick and painless development and deployment of your application, while maintaining high-performance, scalability, security and future growth.

Week 8

Session 1: AJAX (Asynchronous Javascript and XML) is an excellent technique to extend the function of web based applications beyond the traditional methods. Without AJAX dynamic content is delivered to the browser by either displaying a new page or re-rendering the whole existing page. This approach has several limitations that are solved by using AJAX. For example, as new content becomes available for the page, portions of the screen can be changed without completely refreshing the browser. Advanced AJAX techniques are currently in use to create online applications that behave almost exactly like locally installed software. Google Spreadsheets are a good example of this. Google Spreadsheets work in a very similar fashion to Excel and allow importing and exporting in XLS or CSV format. Thus an online application can have the advantage of access on any computer with internet access and still behave like traditional, locally installed software.

There are hundreds of AJAX resources and tutorials available online as well as books. Here’s a list of some of the more popular online resources available:
JQuery
MooTools
ajaxwith.com
The AJAX Revolution
Round-up of 30 AJAX Tutorials
Getting Started with AJAX in jQuery

Session 2:
Steal This Film is a documentation of events during the Spring of 2006 regarding actions taken by the MPAA against the Swedish Bittorrent tracker site The Pirate Bay. The film highlights the futility of action by the MPAA and RIAA against file sharing, and also provides an insight into how the application Bittorrent works as well as torrent tracking database and search site tools. The film can be downloaded (without violation of any copyright laws) from stealthisfilm.com.

Week 9

Session 1: As we near the end of the quarter, let’s continue to look at examples of source code from your projects. One other issue surrounding web applications and the web in general is how to find image, audio and other types of media to include in our works. We are all familiar with Corbis and the like for photography, but where can we go for free audio content, free images, film and so on? Here’s a list of resources for finding free media files to use in your own work:

Creative Commons – This portal to free media provides a license to protect free content from being commercialized.
The Freesound Project – This excellent library offers over 1 terabyte of sounds (not songs) licensed under Creative Commons.
ccMixter – A community music site featuring remixes also licensed under Creative Commons.
archive.org – Internet digital library formed in 1996. Content includes film, music, images and more.
The Prelinger Archives – Over 1,000 public domain films from the worlds of government and advertising.

Session 2: Fine tuning the source code in your applications typically happens in the development stage, however sometimes (either due to a lack of planning, or unrealistic deadlines) the priority is to make it work and fix it later if there’s time and a budget. Today I’ll show you a couple examples of how I have fine tuned my project. Most of these examples do not change the functionality, but shorten the code or make it more efficient.

Week 10

Session 1: Today we will be discussing and distributing the take home final essay questions. Although the curriculum in our program focuses heavily on the technical aspects of interactive media design and development, it is important to examine the purpose and direction of this technology. These final essay questions focus on the impact of web applications on you and your community as well as society at large. Draw on your experiences implementing Open Source applications, developing your own tools, and from the films and reading assignments in class to form your answers. Please write a minimum of one double spaced page per question. Due on Session 2 week 11.

1. Web applications have a significant impact on the way we lead our lives today. Social networks like Twitter, Facebook, and Myspace along with e-commerce sites like eBay, Amazon and iTunes have changed the way our society operates. Beyond email and instant messaging, how have web applications effected your day to day activities? Are these effects on our lives positive or negative and in what way?

2. If you had the means to create any kind of web enabled, interactive application that doesn’t currently exist what would it do? How would it improve your personal life, workflow, art, or community?

3. Out of all the web applications we have looked at in this class, what do you find the most functional and well developed? What makes this application stand out? What purpose does it serve and how do organizations and individuals use this software?

4. What role do you think Open Source software and Open Content will play in the future? Will sites like Wikipedia play a role or are they too unreliable to be taken seriously? Will Open Source software be viable or are we better off using propriety software?

Session 2: Final project progress reports are scheduled for today.

Week 11

Session 1: Final work day. Early presentations will be accepted today as well.

Session 2: Final presentations. Take home final essay questions due.

Week 1

Session 1: Today we’ll discuss a few principals of sound itself. Sound is made up of high and low pressure waves that travel through matter. We can perceive sound traveling through air at frequencies ranging from roughly 20hz to 20khz, and are able to record it using microphones and analog or digital recording media.

What’s the difference between analog and digital recording? Analog recording translates the sound waves into an analog electronic signal which is then stored on magnetically sensitive tape. Digital recording samples the sound at intervals in time. The rate of these intervals is called the sampling rate and is indicated in Hertz or KiloHertz. The faster the rate, the higher the recording quality. The sampling bit depth indicates the resolution of the sample, or how the amplitude of the sampled sound wave is divided. CDs use 16 bit resolution and a sampling rate of 44.1Khz (KiloHertz). The information is then stored on some type of digital media such as a hard drive in a computer, a CD, or a DAT (Digital Audio Tape) cassette.

Please bring a set of closed ear headphones and a CD which contains some audio to sample from for our in class exercise week 1, session 2. The assignment will involve basic Pro Tools techniques including sampling and signal processing.

Required Reading:
Recording Technology History
Digital Audio Basics
Reading:
Real World Digital Audio, Chapter 1 – Understanding Digital Sound

Files:
Sine wave files

Vi Hart video on sound:
http://www.youtube.com/user/Vihart#p/u/1/i_0DXxNeaQ0

Session 2: Today we will be sampling from a cd of your choice and then using DSP to loop and manipulate a small segment of a piece of digital audio from your CD. Use iTunes convert a track from your CD into a .wav file, then import the audio into Pro Tools. I will be demonstrating this process in the lab.

Once you’ve converted your track, use Pro Tools to select a reagion or loop of audio that you want to work with. Apply pitch shifting and at least two more kinds of processing in order to come up with a new and completely different sounding loop. When you’re happy with the results bounce the audio to a new file and copy the loop to the drop off drive in the “John Keston” folder under “ca2431” in a directory named . We will listen to the loops in class on so make sure you have finished before Session 1, Week 2.

DSP or Digital Signal Processing is the manipulation digital audio without converting it to analog. There are many different types of DSP. Each type is essentially a different algorithm with a set of user adjustable parameters used to manipulate digital audio. Some examples of DSP include level or volume adjustments, equalization or filtering, panning, looping, delay or echo, reverberation, time compression or expansion, and pitch shifting.

Pro Tools 7 Quick Keys for Macintosh

A note about Pro Tools Documents:
Pro Tools documents are called sessions. Each session is a folder that contains the Pro Tools file with a .PTF extension, and various other files and folders necessary to open the session. These include the “Audio Files” folder that contains all of the imported and recorded sounds in your project. It is critical that you backup the entire Pro Tools session folder on an external volume to preserve your project for editing or re-rendering (bouncing).

If you do not have access to an external volume you can backup your project on a network drive, however, this will probably fail due to long file names in your “Audio Files” folder. DO NOT rename these files! To work around this problem, first create an archive (.zip) of your session folder and then copy it to the network drive location. An easy way to create the .zip file on the Mac is to right+click the folder and choose “Compress my_session”. Remember that all students have access to the network drive, so only use this method if you have no alternative.

Week 2

Miles Davis - In a Silent WaySession 1: Listening assignment. In class today we’ll listen to a selection from Miles Davis “In a Silent Way”. The track is called “Shhh/Peaceful” and is one of the recording industries first examples of looping. In 1969 digital recording was science fiction, so to accomplish looping the producer had to literally cut and paste sections of pre-recorded analog tape together and then play them on reel-to-reel tape machines. The results from this experiment were far reaching and today looping is used extensively in the recording industry.

Our next assignment is to create sound effects. Stock sound effects are available in the LRC, but even with a vast library of recordings available, often recording your own sounds gives your productions more character. This assignment will have two parts. The first part is to create five sound effects by manipulating audio that you have available to you. Use DSP to modify the sounds so that they become something of your own. Keep the original sounds so that you can demonstrate how you changed what you started with.

Assignment 1: SFX Project Requirements

Search the sound effects available in the LRC.

Generally online resources are not acceptable for this project, but a new online resource called Freesound offers high quality sound effects uploaded by registered users. This online community licenses the content under Creative Commons, making the sounds legally available for most uses.

Reading:
Real World Digital Audio, Chapter 7 – Processing and Effects

A note about rendering audio from Pro Tools: Most of the assignments for this class require that you turn in a stereo interleaved wave format file at a sample rate of 44.1kHz and bit depth of 16bit, the same as a standard audio CD. To render audio in this format from the Pro Tools menu choose “File” > “Bounce” > “Audio”. Next, in the dialogue box choose “WAV” under “File Format”, “44.1kHz” under “Sample Rate”, “16 bit” under “Resolution”, and “Stereo Interleaved” under “Format”. Finally press “Bounce” to name and render the audio. It is important to understand that selecting a range in the “Edit” view before bouncing will only render that range. If you want to render the entire file, don’t select anything. Muting and soloing tracks is also reflected in the bounced audio.

Session 2: What are dynamic microphones and how do they differ from condenser mics? How do you choose the right mic for the right situation? How do microphone polar patterns effect he response of the mic? These are some of the questions we’ll be answering during lecture. After lecture we will be demonstrating the audio qualities of some of the different microphones that are available in the Cage by making some test recordings using the Pro Tools system. For your own purposes portable field recorders are available to check out from the E-Cage.

Knowing about the different types of microphones and how to use them is crucial to engineering high quality audio recordings. Dynamic microphones such as the Shure SM57 are very durable and excellent for recording loud signals such as close miked drums, guitar amps and so on. More sensitive condenser mics such as the Shure KSM32 or AKG c4000b are excellent for capturing the nuances in voices and quieter acoustic sounds.

Now that you have a basic understanding of microphones it’s time to start experimenting with them. This brings us to part two of our sound effects assignment. Record at least five unique sound effects using at least two different microphones. Be creative. You can use your own voice to create effects. Shutting doors, stomping on floors, breaking glass or hammering on pots and pans are a few examples of creating sound effects. Please have both parts of the assignment finished by the beginning of class on Session 1, Week 4 and we’ll listen to what you’ve created.

Reading:
Real World Digital Audio, Chapter 6 – Recording Instruments and Sound
Microphone Reading Assignment

Week 3

Session 1: We will be discussing the proper use of mixers and recording devices. How to adjust signal levels, prevent clipping, reduce noise, microphone inputs, equalization, solo/mute, and auxiliary sends will be some of the the topics we’ll be discussing.

Note:
To record your sounds outside of the building for your projects you will need to use the Fostex FR-2LE or a DAT recorder (both available in the Cage). Using the Fostex FR-2LE is the preferred method. For instructions on using the device click here.

For the DAT recorder buy a DAT tape and checkout the DAT field recorder with microphone(s). DAT tapes can be purchased at Guitar Center or the Supply Store.

Recording with the TASCAM DA-P1 DAT recorders (decks):
1. Insert DAT tape into the recorder and make sure the write protect tab is enabled (closed position)
2. Connect your microphone(s) to the XLR inputs in the DAT recorder
a. Use the left channel for mono recording
b. Use both channels for stereo recordings
3. Set the ANALOG INPUT switch to the MIC position
4. Set the INPUT switch to ANALOG
5. Enable the PHANTOM power when using condersor microphones
6. Press the RECORD button to arm the DAT deck for recording
7. Adjust the input levels until you have a strong signal without clipping
8. Press and HOLD the RECORD button and PLAY to start recording

Transfering your recording to Pro Tools via SPDIF and the MBox:
1. Connect the DIGITAL OUT from the DAT recorder to the SPDIF in on the MBox
2. Start a new session in Pro Tools
3. Create a new stereo or mono track for your recording
4. MBox 1 (light blue model): Under the “Setups” menu choose “Hardware Setup” and switch the inputs from “Analog” to “SPDIF”
5. MBox 2 (dark blue model): Change the track I/O to S/PDIF (L Mono) or S/PDIF (L/R Stereo). The I/O view can be enabled under View > Edit Window > I/O.
6. Press the “R” (record arm) button on your track
7. Press PLAY on the DAT recorder to monitor the input in Pro Tools
8. Press “Record” and then “Play” on the transport in Pro Tools to start transfering your recordings

Session 2: Let’s start working on our next assignment which involves multitracking. Please mix 5 or more tracks of audio in Pro Tools utilizing the techniques we discussed in class. Avoid clipping and keep noise to a minimum. When looping try to find “zero crossings” within the wave to avoid pops. Use equalization to “place” individual tracks within the mix. Use several sound sources, such as dialogue or vocals recorded with microphones, sound effects from the sound effects collection in the library, sounds effects (Foley) recorded with microphones and/or musical instruments. Follow the link below to download the project requirement details in MS Word format.

Assignment 2: Multitrack Project Requirements

Plugins/Inserts: So far we have been applying DSP with the Audio Suite menu in Pro Tools. This method manipulates the selected audio and creates a new waveform which replaces the original audio on the track. This technique is know as destructive editing. The advantage to apply effects this way is that the processing happens only once and does not continually tax the CPU of your computer. The disadvantage is that the processing is destructive; unless you undo or revert to the original, you cannot easily return to the previous state or adjust the effect once it’s applied. This is why it is much better to use non-destructive DSP plugins (or inserts) in your projects. Inserts are processed in real-time so that you can make adjustments to the effect as you listen to the track, temporarily disable (bipass) the effect, or remove the effect comletely without having to revert to the original audio.

TDM – Time Division Multiplexing
RTAS – Real-time Audio Suite

Reading:
What is a Software Plugin?
Video on how to create Aux Sends in Pro Tools

Finally, when working on projects with multiple tracks it is critical that you set up a master fader in order to be able to visualize how the tracks levels are interacting. Each additional track that plays simultaneously increases the overall levels of the project. A master fader will illustrate the combined levels in the project so you can avoid clipping while keeping your levels as high as possible to prevent excessive noise.

Week 4

Session 1: Both parts of your sound effects assignment are due today. Please make sure that all your sounds are copied to the drop off drive so we can listen to them in the studio. We’ll be listening to your sound effects in class. Also, keep working on your multi tracking project. The most important thing is that your five tracks work well together. This project will be due before class two weeks from today on Session 1, Week 6. Mix down your project and save it as a .WAV file (44khz, 16bit) and copy the file to the drop off drive. We’ll listen to them in class on Session 1, Week 6. Also, today I would like to listen to how everyone’s doing on their projects so far and give you all some feedback, so please be prepared to show me your work in lab.

Finally let’s take a careful look at Equalization in Pro Tools. Equalization, or EQ, is critical when mixing multiple tracks of audio together. Layering sounds with similar frequencies can often cause a “muddy” mix unless each track is taylored with EQ to work well together. The following article has an excellent explanation of a few different types of eq filtering.

http://en.wikipedia.org/wiki/Equalization_filter

Session 2: Check out these links to other digital audio software programs. In this class we’ll be focusing on just a few examples (Sound Forge, Vegas, Pro Tools and Reason), but there are dozens of excellent and innovative applications for creating music, manipulating audio or generating new sounds never heard before.

Digital Audio Production Software
Pro Tools – www.avid.com
Sonar – www.cakewalk.com
CuBase – www.steinberg.net
Logic – www.apple.com/logic
Digital Performer – www.motu.com

Soft Synths
Reaktor – www.native-instruments.com
Absynth – www.native-instruments.com
B4 – www.native-instruments.com
Kontakt – www.native-instruments.com
Reason – www.propellerheads.se

Odd stuff
Ableton LIVE – www.ableton.com
Recycle – www.propellerheads.se

Writing Assignment: Write a one page paper on an audio production application that we will not necessarily use in this class. Discuss what makes the software unique and how you and professionals in the industry might use the software in projects. This paper will be due on Session 2 of Week 5.

Week 5

Session 1: Today we’ll be watching an episode of Cowboy Bebop as a listening exercise and inspiration for the Animatic Project, which we’ll be discussing next class. While watching, pay particular attention to the audio that has been meticulously produced for this series. Not only is the music superb, but also the sound design is of outstanding cinematic standards. Be prepared to discuss specific examples from the audio after watching the episode. While watching and listening please answer the questions on the document linked below and turn it in after the exercise has been completed.

Animation Listening Exercise

FYI: The entire Cowboy Bebop series is available in the library. Directed by Watanabe Shinichirou and music by Yoko Kanno (her music compositions are excellent, and make the series for me). Here’s a few links to peak your interest:

http://www.cowboybebop.org/english/ – The official Cowboy Bebop: The Movie site.
http://www.cowboybebop.org/english/door/interview/index.html – Interview with the director.
http://www.ex.org/4.5/16-interview_kanno1.html – An excellent interview with Kanno Yoko.

Multitrack Project Milestone:
1. Show that you have a minimum of three tracks in your Pro Tools document
2. Illustrate the use of a master fader
3. Demonstrate the use of inserts on one or more tracks
4. Enable at least one example of automation in your work in progress

Session 2: Starting next week I’ll be demonstrating more techniques in both ProTools and Reason. Here are the requirements for the final Project options. The final project involves combining visual imagery with sound. One of the key competencies is synchronizing the sound with the visuals or vice versa. Typically if you are creating animation you will record the sound first. For video, you generally need to replace the existing sound. You piece can be an animatic created from storyboards, an interactive piece, video, or animation. Another acceptable method is to create a derivative work fropm footage in the public domain. A vast amount of archival footage can be viewed and downloaded from archive.org.

Option 1: Final Animatic Project
Description:
The Final Animatic is a two minute visual piece without a second project and intended for longer more complicated animated sequences or visuals (video, interactive, etc.).
Due: Session 1, Week 11
Points: 50

1. Minimum length is 2:00. If working in groups of two 4:00.
2. A minimum of 8 panels if creating animatic (16 if paired) are required. Other visuals are acceptable including flash animation, slide shows, video, etc.
3. Use ProTools LE (with mBox) or ProTools 24 (in 007) to produce your audio.
4. Use foley techniques to records 50% of your Sound Effects.
5. A one page script is required which includes dialogue and, more importantly, sound design notes.
6. Compile your project in one of the following accepted formats: .mov, .mpeg, .avi, or .swf
7. A minimum of 10 tracks of audio in ProTools is required.
8. Include 2 screenshots of your ProTools work in progress with your project (command+shift+3 creates a screenshot on the desktop).
9 . Try to maintain the highest possible audio quality. For MP3s do not compress your audio any more than 44.1khz and 128Kbps. Wave files should be rendered as 44.1k 16bit.
10. Copy your project with screen shots to the student drive in room 009 before it is due.
11. Use mastering techniques to finalize your mix.
12. 5% of grade is awarded for presenting your work in class.

Option 2: Combined Final Animatic Project
Description:
The Combined Final Animatic is a one minute visual piece and a second project without visuals. This is intended to satisfy those of you who wish to try your hand at some music or experimentation with Reason.
Due: Session 2, Week 11
Points: 50

1. Minimum length is 1:00. If working in groups of two 2:00.
2. A minimum of 6 panels if creating animatic (12 if paired) are required. Other visuals are acceptable including flash animation, slide shows, video, etc.
3. Use ProTools LE (with mBox) or ProTools 24 (in 007) to produce your audio.
4. Use foley techniques to records 50% of your Sound Effects.
5. A one page script is required which includes dialogue and, more importantly, sound design notes.
6. Compile your project in one of the following accepted formats: .mov, .mpeg, .avi, or .swf
7. A minimum of 10 tracks of audio in ProTools is required.
8. Include 2 screenshots of your ProTools work in progress with your project (command+shift+3 creates a screenshot on the desktop).
9. produce a 2nd non-visual audio piece, the minimum length for the 2nd project is 3 minutes (without visuals).
10 . Try to maintain the highest possible audio quality. For MP3s do not compress your audio any more than 44.1khz and 128Kbps. Wave files should be rendered as 44.1k 16bit.
11. Copy your project with screen shots to the student drive in room 009 before it is due.
12. Use mastering techniques to finalize your mix.
13. 5% of grade is awarded for presenting your projects in class.

Week 6

Session 1: Let’s listen to and discuss the multitrack project. Explain what you learned in the process of combining several tracks of audio. What sort of difficulties did you encounter and how did you use signal processing to improve the quality of your project?

If you’re in the animation program your “Animatic Project” may involve synchronizing lip movements with dialogue. This article is an excellent introduction to basic lip sync positions and techniques used to make an animated character appear to speak pre-recorded dialog.

Lip Sync Animation
Lip-Synching for Character Animation

If you are planning on using Flash there are several ways to make sure your sound is Synchronized properly. The best way is to enable “Stream” on the first keyframe of your sound layer. This may cuase Flash to drop frames, but the synchronization will be maintained. The following link has details on how to maintain the synchronization of audio in Flash.

What are some ways to synch audio in Flash?

Session 2: Today we’ll be taking the Audio Production Midterm Quiz. The quiz is worth 15 points toward your grade. Midterm grades are due this week and will be based on the following: the loop exercise, the SFX project, the audio software essay, the multi-track project, and listening exercises.

Reading:
Wikipedia MIDI Resources
Real World Digital Audio Chapter 8 MIDI: Notes, Rhythms, and Physical Control

Week 7

Session 1: MIDI stands for Musical Instrument Digital Interface, but is used for much more than connecting instruments and computers. MIDI has far exceeded its expectations at it’s conception. Today we’ll discuss a little about the history of MIDI and how we can make use of this technology in our projects.

Isao Tomita surrounded by pre-MIDI era modular synthesizers

After the MIDI discussion, we’ll take an introductory look at Propellerheads‘ suite of virtual intruments, Reason. Reason is a virtual studio rack with broad variety of instruments, processors, and sequencing tools. It also includes a massive sound bank including everything from orchestral sounds to synthesized effects.

Reading:
http://en.wikipedia.org/wiki/Propellerheads_Reason

Session 2: Today I’ll be demonstrating how to import MIDI files into Reason and setup the MIDI tracks to play specific virtual instruments. Using this technique it is possible to produce your own music starting with a pre-built MIDI file by selecting the instrument sounds you prefer and manipulating the tempo, processing, and textures of the piece. The demo introduces a 15 point Reason project due Session 1, Week 9. The steps for the exercise follow:

1. Open Reason and add a 14:2 channel mixer device to the rack (Create > Mixer).

    Picture 1

2. Import a .mid file into Reason (File > Import > MIDI File). Use www.classicalarchives.com or www.creativecommons.org to find a MIDI file use can use for this exercise. Other sites, like mididb.com have many files available as well.
3. A Combinator is automatically created for each track in the MIDI file.

    Picture 2

4. Create instruments for each of the Combinators by pressing “show devices”.

    Picture 3

  • Right+click on the black rectangle in the Combinator and select an output device
  • Devices that produce pitched instrument sounds include: Subtractor, Maelstrom, Thor, NN-19, NN-XT
  • These devices produce percussive sounds or loops: Redrum (drum computer) and Dr. Rex (loop player)
  • Most other devices are processors of some sort (reverb, compression, etc.)
  • The Matrix is a pattern sequencer

5. Try applying processing as axillary sends.

  • Right+click on the mixer
  • Choose a processor such as the RV7000 for reverb
  • Picture 5

  • Turn up Aux 1 on the mixer for each track you’d like to process
  • Picture 6

6. Also try adjusting the tempo, transposing notes, and applying automation.
7. When you’re happy with your mix, render your document to an audio file named midi_exercise1.wav and copy it to the drop off under John Keston/ca2431/<your name>.

  • Choose File > Export Song as Audio File
  • Choose Reason WAVE File under Format
  • Choose 44,100Hz and 16bit

Week 8

Session 1: Remember to give me paper copies of your scripts today, and in the lab, let’s continue working on the animatic project. Today in lecture we will be viewing the audio production special features for the Lord of the Rings series. These documentaries offer us a glimpse into the world of high budget film audio effects and Foley techniques.

This week I’ll be demonstrating how to use the equipment in the recording studio as well as discussing concepts such as Foley. Check out this website for a list of Foley articles and descriptions of some techniques. http://www.filmsound.org/foley/

Don’t forget to create at least 50% of your sound effects using field recordings, sound design, and/or Foley techniques. The following reading assignments will help you get a clear idea about the process of Foley, and how you can create your own Foley for your project.

What is Foley?
Foley Artist Share Their Secrets
Interview with Dustin DuPilka

Session 2: We’ll be covering audio compression today in our group lessons. Audio compression (not to be confused with file compression) is a way to automatically adjust the dynamics of sound. Mixing multiple tracks of audio can often become difficult when some of the audio has varying or inconsistent levels. Audio compression can help resolve these difficulties. It as also widely over-used, especially in the mastering process resulting in the “loudness wars“. Please look at the following articles regarding compression for more information:

http://en.wikipedia.org/wiki/Audio_level_compression
The Death of Dynamic Range (Atricle on the so called “Loudness Wars”)

Week 9

Session 1: Home recording technology has advanced rapidly over the last few years, making it possible to produce music in your bedroom that’s as high quality (fidelity wise) as any professionally produced music or audio at a fraction of the cost. We’ll be discussing some of the principals of home recording which allow you to cost effectively produce high fidelity audio without having to spend big bucks in a recording studio.

We will also talk about some of the hardware available for home studios. Professional quality audio is currently produced in inexpensive home studios around the world. Professional quality sound cards are available for as little as $129 (see http://www.m-audio.com/). With an inexpensive mixer and some reference monitors you can be on the way to building a “bedroom studio” of your own.

Session 2: How do you import movies into Pro Tools? How do you then display the movie? How do you get the audio from the QuickTime movie onto a track in Pro Tools? This is very important when producing audio for video. These are some of the things we’ll be going over today.

Final Project Milestone #1
Also, today I’ll be asking each of you to demonstrate that you are making progress on the final project. The following is a list of what I am expecting you to illustrate to me during our scheduled lab time today.

1. Show an example of the visuals that you are using for your final project.
2. Open and play a Pro Tools document that includes at least one track of audio.
3. Make sure that you have a master fader applied to your document.

Week 10

Session 1: Reason 2.5 allows you to stack high quality virtual instruments and effects in a virtual “rack” like you’d see in a recording studio. The instruments can be controlled by a MIDI keyboard, or triggered by built in step sequencers. Both of these methods have been demonstrated in class.

The sound quality is fantastic, and the software with a decent computer could take the place of thousands of dollars worth of studio equipment (see www.propellerheads.se for more information). Although Reason has amazing capabilities, you shouldn’t rely on using it exclusively for your final projects. Reason does not allow you send MIDI to external devices, or directly record audio input. Today during the group lessons we’ll experiment with Reason and Rewire within Pro Tools.

Session 2: Mastering is something that ideally is done by a seasoned professional, however, it’s not always possible to afford to pay an experienced mastering engineer. We’ll discuss some of the basics of mastering in class, such as sequencing, sweetening, and loudness. For more information please see the article linked below.

Audio Mastering

In order to complete your final projects you will be required to mix down and render your audio to a two track master. This master will most likely be a .wav or .aiff file which can be transferred to either CD or DVD. This process used to be completely manual, but today we have the aid of computer automation allowing us to produce much more precise mixes in a fraction of the time.

Final Project Milestone #2
Also, today I’ll be asking each of you to illustrate your progress on the final project. The following is a list of what I am expecting you to show me during our scheduled lab time today.

1. Show an example of the visuals and sound combined for your final project.
2. Open and play a Pro Tools document that includes several tracks of audio for the final.
3. Show one example of automation in your document.
4. Demonstrate the use of inserts in your Pro Tools document.

Week 11

Session 1: Let’s begin our final project presentations. Make sure you are prepared by having your project copied to the student drive on the Mac in room 009. Also, be ready to explain your mixing techniques and describe what sort of processing you used to fine tune your audio.

Session 2: On the last day of class we will be continuing our final project presentations. Thanks for your participation. I hope you enjoyed the class as much as I did. Keep your ears open and have a great break!