octal-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Octal-dev] Plugin Comments


From: Neil Nelson
Subject: [Octal-dev] Plugin Comments
Date: Sat, 17 Jun 2000 19:36:13 -0700

After reviewing Dave O'Toole's good work at www.gnu.org/software/octal/
some ideas came to mind.  But note that the following issues may be seen
as surrounding the current design purpose of Octal such that I am not
suggesting a change in coding direction and have attempted to identify
current code sources that may possibly be bundled with Octal with
hopefully little additional work (likely by myself).  Or it may be the
case that I have finally caught up to the basic idea and the appropriate
response to this post would be "Duh?"

Octal, by rough impression, obtains functions similar to that of an active,
dynamic mixer, which, by saying, is not meant to minimize its larger, more
comprehensive purposes, but in rough generalization, it takes a potentially
large number of sound sources, sound files, and combines them with
possibly additional effects or processing into an audio ready output.  Any
general purpose sound management software of sufficient capabilities will
almost necessarily include this mixer kind of functioning.  Even, e.g., the
physical arrangement of an orchestra and its operation could include a
similar description.

But beyond the apparent intended functional area of Octal, the user would,
say, naturally be required to obtain sound source files to be processed by
Octal and provide effects processing that would extend Octal (though I expect
some basic effects will be included--volume control and channel mixing are,
on one level, effects) such that the Octal function should be seen within
a larger sound/music creation context.

Sound sources (instruments, notes):  In briefly searching
the web this morning, I did not see a good library of, say, high-quality
open-source sound files, although in the past I have seen several commercial
compilations and one or two of those this morning.  (As an aside, the
current debate on copyright issues for music will eventually be in favor
of the copyright holder though enforcement will be difficult.  This makes
my several hundred CD library useless for the current purpose.  Though
perhaps the essential sound signature/formant of an instrument, such as a
violin, could not be copyrighted such that copyrighted recordings could be
analyzed for these essential signatures, but some discussion and research
may be in order.)

How are Octal users obtaining (or intend to obtain) their sound source
files?

The raw sound-files or instrument/note formants may then be made more
flexible by providing a range of notes/source-files such as a scale perhaps
additionally modified by the change in sound obtained through the method
of instrument playing.  This may result in a large number of source files
for a particular instrument or some dynamic method of applying the pitch
and playing method from an instrument formant description.  As previously
discussed, Fourier analysis is useful in this area, with a very good FFT
utility available at www.fftw.org.  (FFTW comes with the RH Linux
distribution and provides the spectrum analysis for the Extace Waveform
Display under the Multimedia area of Gnome.  See footnote #1 for the FFTW
copyright.)

Stephan Sprenger's guide to pitch scaling is at

   www.dspdimension.com/html/pscalestft.html

that contains the pitch scaling code.  That copyright is in footnote #2.

The code for identifying instrument formants should be similar to
Sprenger's code, though not simple, and is an area I am working on.
A similar-to-formant discussion is at

   cnmat.CNMAT.Berkeley.EDU/~alan/MS-html/MSv2_ToC.html.

In the area of effects, filters would be a good place to start.
Code for different types of filters may be found at

   www-users.cs.york.ac.uk/~fisher/mkfilter/

Because the code allows one to design filters according to various
specifications, it is likely that a general filter function can be
coded with moderate ease from the download-able filter creation
programs such that the user could select a filter or some dynamic
filter effect at run time.  The filters copyright is in footnote #3
and is apparently retained by Dr. Anthony J. Fisher as no specific
copyright mention is given, but I suspect an inquiry to Dr. Fisher
might obtain a similar free-use with proper source notification.

Then additionally we could employ many different sound effects such
as those contained in the SoX (Sound eXchange) software at (copyright
in footnote #4):

   home.sprynet.com/~cbagwell/sox.html

As copied from the README file: The sound effects include:

  o Channel Averaging
  o Band-pass filter
  o Chorus effect
  o Add an echo
  o Add a sequence of echos
  o Apply a flanger effect
  o Apply a high-pass filter
  o Apply a low-pass filter
  o Add masking noise to a signal
  o Apply a phaser effect
  o Convert from stereo to mono
  o Apply a reverb effect
  o Reverse the sound samples (to search for Satanic messages ;-)
  o Convert from mono to stereo
  o Add the world-famous Fender Vibro-Champ effect

Many of these effects are trivial, but the idea is that, say, a
drop-down menu of different effects might be provided for a track.

Other potential effects such as volume compressor, limiter, expander
can be seen (not the code, only their mention) listed in commercial
products at

   www.cdRecordingSoftware.com
   www.synthzone.com/digaudio.htm

Looking at these large number of commercial packages provides many
ideas.  My opinion is that open-source software is the future and so
although looking at these many commercial packages might bruise
our development egos, that small ego bruising makes little
difference in the long run.

There appear to be several people in the discussion group, including
myself, that could provide some coding ability such that small coding
tasks--as in providing some of the easy sound effects not
dramatically affecting the primary code (plugins)--could be easily
handled by someone other than Dave O'Toole but coordinated carefully
with him.  Later, those interested in a particular GUI may provide
that specific capability.  Additionally, in downloading and compiling
several packages such as SoX over the recent period, much work--in
many cases boilerplate methods were used--can be seen in the
configuration files toward allowing the code to be ported to different
platforms.


------------------------------
Footnote #1: FFTW Copyright
 * Copyright (c) 1997-1999 Massachusetts Institute of Technology
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.

Footnote #2: Pitch Scaling Copyright
   * COPYRIGHT 1999 Stephan M. Sprenger <address@hidden>
   *
   *
                              The Wide Open License (WOL)

   *
   * Permission to use, copy, modify, distribute and sell this software and its
   * documentation for any purpose is hereby granted without fee, provided that
   * the above copyright notice and this license appear in all source copies.
   * THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT EXPRESS OR IMPLIED WARRANTY OF
   * ANY KIND. See http://www.dspguru.com/wol.htm for more information.

Footnote #3: Filters Copyright
 Dr. Anthony J. Fisher
 Dept of Computer Science
 The University of York
 York YO1 5DD, U.K.
 address@hidden

Footnote #4: SoX Copyright
 Sound Tools may be used for any purpose.  Source
 distributions must include the copyright notices.  Binary
 distributions must include acknowledgements to the creators.
 Files are copyright by their respective authors.
------------

Neil Nelson



reply via email to

[Prev in Thread] Current Thread [Next in Thread]