documentation
Assignment 3
You may wish to have multiple "delread~" objects reading from the same "delwrite~" buffer.
2) Construct a graphical interface for your audio engine. Use the assumption that someone else is going to operate the patch in performance.
Question: Are there any artifacts or interuptions in the signal when the delay is adjusted? If so, why? See the "vd~" object for more information and a potential solution.
Secure shell access, remote login
Secure Shell Access
Command line access via a Unix terminal/shell is the most reliable, powerful method of accessing the Digital Music Studios. With it users can login and use the functionality and processing power of the CDMS computers remotely.
To login, open a terminal shell (on Mac, Applications --> Terminal; on Windows use Cygwin; on Linux or other Unix just open a standard xterm). Then at the command prompt type:
ssh REMOTE_MACHINE_NAME
...where REMOTE_MACHINE_NAME is the name of the machine you wish to access, for example digital.music.cornell.edu. If you use a different username on your local system than the one on the system you are logging into, you will also need to specify your remote username :
ssh USERNAME@REMOTE_MACHINE_NAME
CEMC systems are named by room as follows:
b27.music.cornell.edu
b25b.music.cornell.edu
b25c.music.cornell.edu
b25d.music.cornell.edu
digital.music.cornell.edu (server system)
On CEMC systems, convenient command shortcuts are also available using a standard syntax:
sshb27 (same as ssh b27.music.cornell.edu)
sshb (same as ssh devel.music.cornell.edu)
sshb (same as ssh b25d.music.cornell.edu)
sshc (same as ssh b25c.music.cornell.edu)
sshd (same as ssh b25d.music.cornell.edu)
sshdig (same as ssh digital.music.cornell.edu)
When logging in from the outside you will be prompted for your password. Enter it and you will be logged in immediately. Logins from within the studios are governed by secure authorized keys meaning your account will automatically be verified when a remote shell is requested and you will not have to type your password. This will become important later on as we seek to run remote processes inline with local programs.
You may also wish to create password keys between systems, enabling passwordless movement among studio systems. To set this up, type “cornellkeygen” and follow the directions entering no passphrase.
Secure Shell Copying
To copy files to and from local or remote computers, use the scp (secure copy) command. The syntax is identical to ordinary copying with cp.
scp FILE_TO_COPY [MORE_FILES_TO_COPY] DESTINATION
Unlike cp, the file to copy and/or their destination may be a remote computer. The user must specify the remote machine name and directory as a prefix. So for example, to copy a local file named myfile to my remote home directory ("/home/kevinernste") on digital.music.cornell.edu, I would type:
scp myfile digital.music.cornell.edu:/home/kevinernste/
Note the colon ":" between the machine name and the directory in the destination argument. This syntax should be followed carefully.
As with cp (and other Unix commands), all unix "wildcards" will work, so:
scp * digital.music.cornell.edu:/home/kevinernste/
...will copy all files in the current directory to the destination directory on b27. To copy directories and subdirectories, just add "-r" (for “recursive), so:
scp -r * digital.music.cornell.edu:/home/kevinernste/
GUI SSH tools
If you wish, there are also several graphical SSH/SCP/SFTP clients available. Most limited to simple file copying, but some include terminal shell functions as well. To peruse the list of clients available for your operating system of choice, please visit openssh.com and follow the links in the left-hand panel.
Assignment 2, Due Tuesday September 22nd
2. Using the samples you created in #1 in addition to samples from the CEMC soundfile library (/snd/sflib) or other legal sources (freesound, for example), create a short "mix" or "study". This little "piece" should be no longer than 1 minute (2 max!) should suffice. Be creative. You may wish to use the pieces played and discussed in class as models.
Related resources:
NOTE: If you have difficulty exporting from Cubase, "Unexpected Error" or otherwise, please double check the Cubase export procedure found in the FAQ:
Assignment 1, Due Thursday September 10th
Please turn in your finished assignment in on the network drive (linked on the Desktop in all studios). Please name the file in a way that makes it's ownership obvious to the TA. I recommend the following file naming scheme assuming I am turning in a soundfile titled "Yokel Vocal":
1421-assign1-kme32-yokel_vocal.wav
coursenumber-assignmentnumber-netid-title_of_track.wav
You may wish to consult the following tutorials during your exploration of Audacity and in its use for this assignment:
Assignments
Basic Unix Commands
Note: All unix commands take the basic form:
command file (where “file” is the file to execute “command” upon)
Or more generically:
command argument1 argument2 [argument3]
ls lists current directory contents
ls -l long listing (owner, permissions, size, etc) – add “-h” for human readable sizes
ls -a list all, including those files that start with a dot (.).
pwd print working directory
mkdir [directory name] create a subdirectory
cd change working directory
- cd [directory name]
- cd .. moves up 1 directory level
- cd - toggles back to previous directory
cp copy a file
- cp [filename1] [filename2] (-R does recursive copy of all subdirectiries)
mv move (or rename) a file
- mv [filename1] [filename2]
less view a file one page at a time, advance pages with SPACE
less [filename] or less [filename]
rm remove (delete) a file (Note: there is no “undo”)
- rm [filename] (-r does recursive removal...useful, but be CAREFUL)
rmdir [directory name] note: the directory has to be empty
cat view the contents of a file (or better, “output” its contents), concatinate
> redirect output to a new file
cat [file1] [file2] > [newfile]
>> adds or “appends” to an existing file
cat [file1] [file2] [file3] >> temp_file
| Pipe, allows you to pass the results (stdout) of a command to another command
- ls | more
history shown a list of previously executed commands (-h for no command numbers)
!! run previous command in history (also “up-arrow”) number in history
!# run command from “history” where “#” is the command number
* wild card used to stand for “all”
- ls *.txt list all files with the extension .txt
Soundfile directory commands (SFDIR)
lsf lists current soundfile directory contents
lsf -l long listing (owner, permissions, size, etc)s
pwdsf print working directory
mkdirsf [directory name] create a subdirectory
cdsf change working directory
- cdsf [directory name]
- cdsf .. moves up 1 directory level (or “../../” for up two, etc)
- cdsf - toggles to previous directory (like “Back” in a browser)
cpsf copy a file
cpsf [filename1] [filename2] (-R does recursive copy of all subdirectiries)
mvsf move (and/or rename) a file
- mvsf [filename1] [filename2]
rmsf remove (erase) a file
- rmsf [filename] (-r does recursive removal...useful, but be CAREFUL)
rmdirsf [directory name] note: the directory has to be empty
play (p) play a soundfile or soundfiles in your current working directory
- p soundfile1.wav [soundfile-n.wav]
sfinfo view information about a soundfile in your current directory
- sfinfo soundfile1.wav [soundfile-n.wav]
playsflib(psfl) play a soundfile from the soundfile directories
- psfl fl.c4.wav
findsflib search the soundfile directory by character string
- findsflib character_string
findsflib -p search the soundfile directory by character string and play them as they are found
- findsflib -p character_string
CEMC specific commands (more to come)
lsex list available tutorial examples
getex obtain a copy of a tutorial example
- getex tutorial1 > mytutorial1
lstp list available templates (blank examples)
gettp obtain a copy of a template (blank examples)
cemchelp view available help files and read file designated by argument
cs shortcut to “csound”
- cs orc sout (compile files “orc” and “sout” with Csound
ssgdig shortcut for ssh access to "digital.music.cornell.edu"
ssgdev shortcut for ssh access to "devel.music.cornell.edu"