<< Chapter < Page Chapter >> Page >

Your finished subVI should behave like this one:

Coding tips

Watch the screencast video to learn how to assemble a byte at the bit level, and also how to set up the enumerated data type for a case structure.

[video] Learn how to assemble a byte at the bit level, and learn how to set up an enumerated data type for a case structure

Midi_makedtmetaevent.vi

midi_MakeDtMeta.vi creates a delta-time / meta-event pair. The subVI accepts a delta-time in ticks, a meta-event selector, text string, and tempo value (only certain meta-events require the last two inputs). The delta-time is converted into variable-length format, and the meta-event is created. Both of these values are appended to the inbound string to produce the output string. Review the module Standard MIDI Files to learn about meta-events.

Input requirements

  • string in (string type)
  • delta time (32-bit unsigned integer; defaults to 0)
  • event (enumerated data type with values Text, Copyright Notice Text, Track Name, Instrument Name, Lyric Text, Marker Text, Cue Point Text, Sequencer-Specific, End of Track, and Set Tempo; defaults to Track Name)
  • text (string type)
  • tempo (32-bit unsigned integer; defaults to 500,000)

Output requirements

  • string out (string type)

Behavior requirements

  • Convert the delta time value to VLF format using the midi_ToVLF.vi subVI you created in a previous step
  • Create a meta-event sub-string using the sequence 0xFF (indicates meta-event), meta-event type (refer to a table of meta-event type numbers), meta-event length (use midi_ToVLF.vi for this purpose), and meta-event data.
  • Append the delta-time sub-string and the MIDI message sub-string to the inbound string, and output the result

Your finished subVI should behave like this one:

Coding tips

At this point you should have enough experience to proceed without assistance!

Top-level vi application

Congratulations! You now have assembled and tested six subVIs that can form the basis of many other projects. Now use your subVIs to build an application VI (top-level VI) to demonstrate that your subVIs work properly together. Two applications that you can easily build are described next.

Sweep through notes and tones

The application block diagram pictured below produces a single-track MIDI file containing an ascending chromatic sweep over the entire range of note numbers (0 to 127). Before sounding the note, the Program Number (tone or voice selection) is set to the same value as the note number. Thus, the voice changes for each note, adding additional interest to the sound. The note duration is specified by a control whose unit is milliseconds. As an exercise, you will need to complete the grayed-out area to convert the units of“duration”from milliseconds to ticks.

Block diagram to produce a single-track MIDI file containing an ascending chromatic sweep over the entire range of note numbers (0 to 127)

Measure the velocity profile of your soundcard

The application block diagram pictured below creates a MIDI file in which the same note is played repeatedly, but the velocity varies from the maximum to the minimum value in unit steps. When you play the MIDI file, you can record the soundcard’s audio output and measure its velocity profile , i.e., the mapping between the note’s velocity value and its waveform amplitude. The Audacity sound editing application works well for this purpose; choose“Wave Out Mix”as the input device to record the soundcard’s output.

Block diagram to play a single note with velocity varied from 127 down to 0

Questions & Answers

1. Discuss the processes involved during exchange of fluids between intra and extracellular space.
Mustapha Reply
what are components of cells
ofosola Reply
twugzfisfjxxkvdsifgfuy7 it
Sami
58214993
Sami
what is a salt
John
the difference between male and female reproduction
John
what is computed
IBRAHIM Reply
what is biology
IBRAHIM
what is the full meaning of biology
IBRAHIM
what is biology
Jeneba
what is cell
Kuot
425844168
Sami
what is biology
Inenevwo
what is sexual reproductive system
James
what is cytoplasm
Emmanuel Reply
structure of an animal cell
Arrey Reply
what happens when the eustachian tube is blocked
Puseletso Reply
what's atoms
Achol Reply
discuss how the following factors such as predation risk, competition and habitat structure influence animal's foraging behavior in essay form
Burnet Reply
cell?
Kuot
location of cervical vertebra
KENNEDY Reply
What are acid
Sheriff Reply
define biology infour way
Happiness Reply
What are types of cell
Nansoh Reply
how can I get this book
Gatyin Reply
what is lump
Chineye Reply
what is cell
Maluak Reply
what is biology
Maluak
what is vertibrate
Jeneba
Got questions? Join the online conversation and get instant answers!
Jobilize.com Reply

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 -- midi for synthesis and algorithm control. OpenStax CNX. Nov 09, 2007 Download for free at http://cnx.org/content/col10487/1.2
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 -- midi for synthesis and algorithm control' conversation and receive update notifications?

Ask