• Geometry 3D
  • Printing
  • Images
  • Audio
  • Films

  • Regions
  • Bundles
  • Matrices
  • Fonts
  • Text


The main class in the Audio portion of the Guildhall architecture is the TSound class. It maintains an internal, editable form of sound data that provides for multiple tracks (mono and stereo only as of August 2021) and multiple data formats (8 bit and 16 bit as of August 2021). It can read its data from aif and wav files and can write aif files.

TSound has methods to play, stop, pause, resume, and rewind its encapsulated sound. It can report the sound's duration, whether it is currently playing, and how far it is towards completion. It can set the volume of playback.

In terms of editing, currently it can create a new sound from a portion of an existing sound, or it can trim a sound based on a selection. There is room for other processing effects but I have not yet added any.

TSound provides several static member functions that locate and play short UI sounds, name Alert, Thwack, Thunk, and Tick. I'll add more as the need arises, because they're quite handy. Another static member function, Speak, takes as input a string and then calls upon the host system's text to speech service. It has proved invaluable for certain types of debugging where screen output is not feasible.

There are three different players available for TSound objects. One is available on the desktop, the Player applet. Another is available from within the Tome applet so sound can be played on a Tome page. The third is the incomplete but somewhat functional sound editing applet Acoustiq.

Lofty Plans

I want a MIDI class to go with TSound. I doubt I'll call it TMIDI. Too many capital letters. Maybe I'll call it TNotes or TTones or maybe even TMusic. And I'll develop a MIDI player and notation editor if I ever get to the point of being able to play MIDI using host services and some editable internal data structure. The notation editors I've used previously have been powerful but also cumbersome. I have some ideas I want to experiment with to see if I can streamline the process, at least for the way I think about notation. Truly, it's a lofty plan.

Constructible Audio Classes



Copyright © 1981-2021 Arthur W Cabral. All Rights Reserved. All referenced trademarks are the property of their respective owners. This site does not use cookies. This site does not collect visitor information. The ISP hosting this site collects statistics regarding visitors to this site as part of the normal operation of the website. We do not currently examine those statistics. If that changes, this notice will change.