22.09.2015 Views

of Microprocessors

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

Musical-Applications-of-Microprocessors-2ed-Chamberlin-H-1987

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

332 MUSICAL ApPLICATIONS OF MICROPROCESSORS<br />

number generator is used to select the next note based on the specified<br />

probabilities. The character <strong>of</strong> the music generated thus depends on the table<br />

entries and the number <strong>of</strong> prior notes considered.<br />

One method for filling the table is analysis <strong>of</strong> existing music. For<br />

example, one might perform a statistical analysis <strong>of</strong>all four note sequences in<br />

the most popular Bach organ fugues. The data obtained could be compiled<br />

into a table like the one just described. There would probably be numerous<br />

combinations that did not occur in the music analyzed, so one might have to<br />

add a "back-tracking" capability to the program. One problem with extending<br />

the technique to consider longer sequences <strong>of</strong> notes is the tremendous<br />

increase in table size. The analysis <strong>of</strong> most conventional music, however,<br />

would result in a large proportion <strong>of</strong> empty (zero probability) table entries.<br />

Thus, it may be more compact to formulate the data into a set <strong>of</strong> rules.<br />

Besides memory savings, it is usually easier to experiment with the rules than<br />

thousands <strong>of</strong> probability table entries.<br />

The results <strong>of</strong> such efforts have been mildly successful in producing<br />

interesting sequences. Pieces produced by analyzing Bach's music, for example,<br />

may sound Bach-like for a shorr run <strong>of</strong> a few notes. However, after<br />

listening for awhile, it becomes apparent that the music is just drifting<br />

aimlessly and getting nowhere. Overanalysis is likely to result in whole<br />

phrases from the analyzed material appearing in the output.<br />

Analog Feedback Techniques<br />

Another method <strong>of</strong> producing sequences is to use the principle <strong>of</strong><br />

feedback. The sequences produced, while definitely not random, are complex<br />

and <strong>of</strong>ten unpredictable. The basic idea is to set up a collection <strong>of</strong> devices or<br />

modules, each <strong>of</strong> which has an input, an output, and performs some processing<br />

function. The modules are strung together and the output <strong>of</strong> the last<br />

module is fed back into the input <strong>of</strong> the first. Multiple-feedback paths can<br />

also exist. A simple sequence, even a single event, is then fed into the chain<br />

and gets processed over and over changing some on each trip. With multiple<br />

feedback paths, the sequence may be split and duplicated on each evolution.<br />

One <strong>of</strong> the simplest setups is a series <strong>of</strong>SAH modules, all driven by the<br />

same trigger as in Fig. 10-8. A multiple-input VeA is used to selectively<br />

mix an input from outside and one or more feedback loops. With only the<br />

input enabled, the final output from the system is simply a delayed, sampled<br />

version <strong>of</strong> the input. Outputs taken from intermediate states would be<br />

identical but with differing delays. This might be useful in creating sequence<br />

echo effects or even have a sequence playa "round" with itself.<br />

With the end-around feedback path enabled, many possibilities exist.<br />

One could, for example, fill the SAH chain with a short sequence <strong>of</strong> notes<br />

(five SAHs could hold a five-note sequence), disable the input, and recircu-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!