<< Chapter < Page Chapter >> Page >

Midi for synthesis and algorithm control

  • MIDI Messages -- Basic MIDI messages include those that produce sound, select voices, and vary a sound in progress, such as pitch bending.In this module, learn about the most common types of MIDI messages at the byte level, including: Note-On, Note-Off, Program Change, Control Change, Bank Select, Pitch Wheel, and Syste-Exclusive. The General MIDI (GM) standard sound set is also introduced.
  • Standard MIDI Files -- A complete musical performance can be recorded by sequencing software, which saves individual MIDI messages generated by asynthesizer and measures the time interval between them. The messages and timing information is stored in a standard MIDI file, a binary-format file designed to maximize flexibility and minimize file size. In this module, learn how tounderstand the structure of a standard MIDI file at the byte level.
  • Useful MIDI Software Utilities -- Freeware MIDI-related software utilities abound on the Internet; especially useful utilities are introduced here.Each section includes a screencast video to illustrate how to use the utility.
  • Mini-Project: Parse and Analyze a Standard MIDI File -- This mini-project develops your ability to interpret the binary file listing of a standard MIDI file.First parse the file into its component elements (headers, MIDI messages, meta-events, and delta-times), then analyze your results.
  • Mini-Project: Create Standard MIDI Files with LabVIEW -- In this project, create your own LabVIEW application that can produce a standard MIDI file.First develop a library of utility subVIs that produce the various components of the file (header chunk, track chunks, MIDI messages, meta-events, and delta times), as well as a subVI to writethe finished binary file. Next, combine these into a a top-level VI (application) that creates a complete MIDI file based on an algorithm of your choosing.
  • LabVIEW Application: MIDI JamSession -- MIDI_JamSession is a LabVIEW application VI that reads a standard MIDI file (.mid format) and renders it to audio usingsubVIs called virtual musical instruments (VMIs) that you design.

Tremolo and vibrato effects (low-frequency modulation)

  • Tremolo Effect -- Tremolo is a type of low-frequency amplitude modulation. Learn about the vibraphone, a mallet-type percussion instrumentthat can create tremolo, experiment with the tremolo effect using an interactive LabVIEW VI, and learn how to model the tremolo effect mathematically.
  • Mini-Project: Vibraphone Virtual Musical Instrument (VMI) in LabVIEW -- The vibraphone percussion instrument can be well-modeled by a sinusoidal oscillator, an attack-decay envelope with a shortattack and a long decay, and a low-frequency sinusoidal amplitude modulation. In this mini-project, develop code to model the vibraphone as a LabVIEW "virtual musical instrument" (VMI) that can be "played" by a MIDI music file.
  • Vibrato Effect -- Vibrato is a type of low-frequency frequency modulation. Learn about vibrato produced by the singing voice and musical instruments,experiment with the vibrato effect using an interactive LabVIEW VI, and learn how to model the vibrato effect mathematically.
  • Mini-Project: "The Whistler" virtual musical instrument (VMI) in LabVIEW -- An individual who can whistle with vibrato can be well-modeled by a sinusoidal oscillator, an attack-sustain-release envelopewith a moderate attack and release time, and a low-frequency sinusoidal frequency modulation. In this mini-project, develop code to model the whistler as a LabVIEW "virtual musical instrument" (VMI) to be "played" by a MIDI file.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Musical signal processing with labview (all modules). OpenStax CNX. Jan 05, 2010 Download for free at http://cnx.org/content/col10507/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Musical signal processing with labview (all modules)' conversation and receive update notifications?

Ask