There are two established methods by which one can learn to play a musical instrument: through self–study or a personal instructor. Employing the former is convenient, but more challenging. One studies at home, but forfeits the personal attention that an instructor provides. Conversely, the latter approach, while less convenient, makes the pedagogical experience more rewarding: by working closely with the instructor, the student is given the important personal attention he or she needs. I propose a third alternative, encompassing the advantages of each of the previously mentioned methods in a near–real time didactic method: teaching and learning to play a musical instrument via the Internet using MIDI, Musical Instrument Digital Interface. By combining MIDI–equipped instruments, specially–designed software, and a computer connected to the Internet, a student and an instructor can simulate a typical student–teacher environment, regardless of distance. This new approach to musical instruction, which is a vast departure from commonplace educational techniques, is perhaps the next logical progression in musical pedagogy.
Entire Research Paper, as of 6 August
2005 (pdf)
Screenshots
Presentation (ppt)
swing box.Synopsis of paper here.
Keywords: Remote Musical Collaboration, MIDI, Latency,
Multichannel.
The authors discuss a research project titled Distributed
Immersive Performance, or DIP, whose goal is to allow
"musicians to collaborate synchronously over
distance." The authors made their first attempt at
remote musical collaboration in 2002 with the aide of a
software package capable of "multichannel audio
streaming" and "low–latency." Their
experiments yielded delays on the order of "0ms to over
300ms." In another experiment, in which two musicians
each played MIDI pianos that were miked for audio in the same
room, a 50ms delay forced the musicians to be
"conscious" of latency, and anything beyond
50ms was intolerable in performance situations.
In addition to software that was specially–designed for
this project, high–end equipment was also needed.
Keywords: Java, Remote Application, Computational
Music, Algorithmic Composition.
The authors discuss the implementation of an online
Java–based, MIDI–driven application titled
Rabisco, whose GUI is based on a two–dimensional
tablet upon which, with a mouse, a user may "draw"
sound. The authors chose Java in both the network and MIDI
components of their programs, because of Java's seamless
Internet integration and its MIDI Sound Framework, which
has capabilities for the use of MIDI on a hardware platform
that may not have a MIDI–compatible sound card
installed.
Keywords: Internet2, Networked Audio,
High–bandwidth Data Distribution, Congestion Control,
Layered Coding...
The authors discuss a recording session in which the musicians
were located in California while the engineers were in Canada.
The authors used high–end audio equipment and the
specialized, high–speed Internet2 network.
"Special thread scheduling techniques" were
incorporated into the software in order to reduce latency
over the network, and uncompressed Pulse Code Modulation
(PCM) audio pushed the authors's software structure to its
limit.
The authors also discuss the problems inherent in the TCP
protocol for their purposes, making a compelling case for why
they chose to use UDP as the transport protocol for MIDI
data instead.
Keywords:MIDI, Ethernet, Network...
The authors discuss the implementation of a hardware device
known as MIDINet that enables computers fitted with said
device to transmit MIDI data over an Ethernet connection.
(ELABORATE MORE.)
Keywords: Transis, TransMIDI, MusicWeb...
The authors discuss the problems associated with the
transmission of audio files over the Internet. To capture
musical expression, they opt for MIDI because it is
"compact and sufficiently powerful for a wide variety
of musical applciations". (More elaboration pending.)
Keywords:...
Synposis here.
Keywords: Max, MSP, Jitter.
The author discusses the development of a Web site, Quintet.net, that creates an
online virtual space for "intermedial composition and
performance on local networks as well as the Internet."
The five main components, hence the title, to Mr Hajdu's
Quintet.net are Client (players), Conductor (performance
director), Listener (audience), Server (central hub), and
Viewer (as an extra "visual later").
The Client component of the program converts audio via a
"pitch tracker" into MIDI messages (presumably
because of its small size in comparison to audio data), and
these are the data that flow across the netowork, local or
remote. In dealing with network delays, the author
incorporates a [constant] buffer with relation to network
congestion into Quintet.net that keeps events at a constant
delay.
Keywords:...
Synopsis here.
Keywords: OpenSound Control, OSC, Networking,
Client/Server Communication...
The authors discuss in detail the implementation of OpenSound
Control, a protocol used in the transmission of multimedia
data across the Internet. Packets comprise the basic
data unit of the protocol, which is
"transport–independent", i.e., irrespective
of protocol type, e.g., TCP, UDP, etc. As of 2003, OSC was
"tied" primarily to the UDP protocol, having been
used in its inaugural implementation with MAX/MSP.
(In future implementations of this research project, OSC will
replace TCP or UDP as the data transmission protocol.)
Keywords: Max, MSP, ECMAScript, Javascript, Java,
OpenSound Control, OSC, Cycling '74.
The author discusses a mixed–media artistic work titled
Telemusic #1 in which members of the Internet community
visited a Web site, Telemusic, whose interface
allowed users to participate blindly alongside others on a
Web–based musical composition. From the outset, the
author was conscious of adhering to "open" and
"established standards" for this project, which led
him to use Java, JavaScript (ECMAScript), and UC Berkeley
CNMAT's OpenSoundControl (OSC) for Cycling '74's MAX. In
2000, the fruition of Mr. Young's labor was put into
practice at the Telemusic Web site where visitors were
capable of triggering samples and other audio processing
effects from their computers. A stereo audio feed was looped
back to the user for monitoring purposes.
Keywords: Ethernet, MIDI, TCP (Transmission Control
Protocol), UDP (User Datagram Protocol) , IP (Internet
Protocol), OTUDP (Open Transport UDP), OSC (OpenSound
Control), CNMAT (Center for New Music and Audio Technologies),
UC, Berkeley.
The authors discuss their intent to enable "remote
instruction of Master Classes," using MIDI grand pianos,
in which capturing musical gesture was crucial. They discuss
the choice of employing UDP instead of TCP for their research,
because of the former's "nominal" overhead and the
latter's edemic nature to re-tranmit data, causing
"music to stop" along the Internet path. Messrs
Young and Fujinaga also discuss the inadequacies of Java for
their project, opting instead to use Opcode's Max
environment. (Note: the authors published their findings in
1999, a time when Java's Media Framework and audio API's were
not as advanced as today's JavaSound API. Further, in May
2000, Cycling '74 acquired the exlusive publishing rights to
Max.) At the time of publication, Young and Fujinaga were
still in the process of testing, refining, and optimizing
their system.
Keywords:RTCP, RTP, Internet Stream Protocol,
Resrource Reservation Protocol, Clock Drift, UDP, MIDI...
Synopsis here.
Java Sound Resources.org
The Java Sound Programmer Guide
Java Music Projects
Understanding and Using Java MIDI audio
Understanding and Using Java MIDI Audio (pdf)
javax.sound.midi Examples from The Java Developers Almanac 1.4
E-mail: rvanegas .:at:. hunter .:dot:. cuny .:dot:. edu
Fingerprint: 9899 C32A 4E19 2E61 F4C8 B17D C500 5E91 0E46 549C
Public Key
Summer Support: Summer Research Institute, Graduate College,
University of Arizona.
Perennial Support: McNair Special Programs, Hunter College
Summer Mentor: Dr John Hartman,
Department of Computer Science,
University of Arizona