pmy@vivaldi.acc.virginia.edu (Pete Yadlowsky) (02/08/90)
...the release of LPC, a NeXT adaptation of Paul Lansky's linear predictive analysis and pitch tracking programs. LPC reads a NeXT or CSound-NeXT format soundfile and produces a data file which codes the sound in terms of its time-varying formant characteristics and the RMS levels of a residual excitation signal. To resynthesize the audio signal, this LPC-derived dynamic filter is excited with a spectrally rich driver, such as white noise or a pulse train, though many interesting effects can be produced with other types of signals. Also, there is a pitch tracking utility which produces data that may be merged with the LP analysis data. This pitch information may then be used to control the pitch of the driving signal during resynthesis. CSound (Barry Vercoe's software synthesis system) provides signal modification units which read LPC analysis files and resonate specified signals through the LP-encoded filters. CSound has also been ported to the NeXT. The next release of CSound-NeXT (sigh) will have hooks for launching and communicating with LPC-NeXT, thus adding another application to the CSound-NeXT integrated tool set. Due out shortly. CSound-NeXT and LPC-NeXT are both NeXTStep applications, meaning that their front ends are built on the NeXT graphic user interface for clear, intuitive interaction. For a detailed explanation of the workings of linear predictive analysis, try "Computer Music" by Dodge and Jerse. Hal Chamberlin's "Musical Applications of Microprocessors" also has a few paragraphs on this. ftp: uvaarpa.acc.virginia.edu:/pub/next/Apps/LPC.tar.Z uvaarpa.acc.virginia.edu:/pub/next/source/LPC-source.tar.Z Piece-wise uuencoded mailings can be arranged for those who do not have ftp access. Pete Yadlowsky Academic Computing Center University of Virginia pmy@Virginia.EDU -- Peter M. Yadlowsky | "Pay no attention to that man Academic Computing Center | behind the curtain!" University of Virginia | pmy@Virginia.EDU |
pmy@jeeves.acc.Virginia.EDU (Pete Yadlowsky) (02/08/90)
...the release of LPC, a NeXT adaptation of Paul Lansky's linear predictive analysis and pitch tracking programs. LPC reads a NeXT or CSound-NeXT format soundfile and produces a data file which codes the sound in terms of its time-varying formant characteristics and the RMS levels of a residual excitation signal. To resynthesize the audio signal, this LPC-derived dynamic filter is excited with a spectrally rich driver, such as white noise or a pulse train, though many interesting effects can be produced with other types of signals. Also, there is a pitch tracking utility which produces data that may be merged with the LP analysis data. This pitch information may then be used to control the pitch of the driving signal during resynthesis. CSound (Barry Vercoe's software synthesis system) provides signal modification units which read LPC analysis files and resonate specified signals through the LP-encoded filters. CSound has also been ported to the NeXT. The next release of CSound-NeXT (sigh) will have hooks for launching and communicating with LPC-NeXT, thus adding another application to the CSound-NeXT integrated tool set. Due out shortly. CSound-NeXT and LPC-NeXT are both NeXTStep applications, meaning that their front ends are built on the NeXT graphic user interface for clear, intuitive interaction. For a detailed explanation of the workings of linear predictive analysis, try "Computer Music" by Dodge and Jerse. Hal Chamberlin's "Musical Applications of Microprocessors" also has a few paragraphs on this. ftp: uvaarpa.acc.virginia.edu:/pub/next/Apps/LPC.tar.Z uvaarpa.acc.virginia.edu:/pub/next/source/LPC-source.tar.Z Piece-wise uuencoded mailings can be arranged for those who do not have ftp access. Pete Yadlowsky Academic Computing Center University of Virginia pmy@Virginia.EDU Peter M. Yadlowsky | "Pay no attention to that man Academic Computing Center | behind the curtain!" University of Virginia | pmy@Virginia.EDU |
pmy@vivaldi.acc.virginia.edu (Pete Yadlowsky) (11/03/90)
...CSound-NeXT v2.0, a NeXT interface to Barry Vercoe's csound digital synthesis software. This is a much-improved and expanded release. Where to begin... Net-Sound --------- NeXTStep makes for a lovely work environment, but cranking out a long csound score on a huge orchestra of complicated instruments can easily take days and days. Wouldn't it be nice if you could hitch up that MondoMips, Inc. mainframe down the hall to do the crunching? Now you can. The new csound interface allows you to specify a favorite compute server. When csound is run over the net, the remote server takes the data it needs from the local NeXT host and returns a soundfile. Also, csound's progress report is sent back over the net to appear in a scrolling text window on your NeXT. All of this is transparent to the user, and, except for the speed improvement, you'll forget the net is involved at all. Of course, this assumes a few things about the remote server: - it must understand the `rsh' (remote shell) command - the user must have an equivalent account on the server - permissions must be set properly (e.g. the local host is named in /etc/hosts.equiv or the equivalent) - csound must be installed on the server This last requirement is the stickiest, because the csound you install on the compute server needs to have net hooks in it. As far as I know, my version of the source is the only one that supports this. Unfortunately (and rightly), I'm not at liberty to distribute this source because to do so would confound efforts going on at MIT (home of csound) to bring the source and its many variations under some kind of control. I'm presently trying to coordinate my efforts with those at MIT, and hopefully the net-code will be integrated into the standard release. In the meantime, though, I've made available sets of csound binaries for the IBM RS6000 series and DECstation machines. Score Preprocessing ------------------- The new interface supports three types of scorefiles: csound standard numeric scores (.sco), SCOT (Score Translator) scores (.scot), and general format scores (.score). Files of the latter score format are the most flexible, because they may contain anything at all...a Lisp program, MIDI data, anything. When csound is run with a scorefile with a `.score' suffix, the scorefile is first pushed through a user-specified application designed to produce standard numeric score data, which is then passed on to csound. Such an application should expect two arguments: the name of the .score file and that of the .sco file to be written. By default, the filter application is `cp'; that is, the .score file is simply copied to the .sco file. The user specifies a custom filter via the NeXT defaults database: dwrite CSound ScoreProcess MyFavoriteScoringProgram The scoring program may be an application, a shell script, whatever, as long as it properly handles the aforementioned two arguments. The resulting .sco file is left in the current project directory for further editing, if desired. Speaking of scorefiles, you may now have as many score (and orchestra) files in a project directory as you like. When you `Play' a scorefile (invoke csound on it), a panel pops up to request an orchestra file to use with it (defaults to .orc file of same name), unless there's only one .orc file, in which case no panel appears. Multi-session csound -------------------- In previous versions of the interface, you could run only one csound job at a time, and the interface itself was locked up while csound was running. Now you can run multiple jobs, and each one gets its own scrolling text window in which the session's progress is displayed. Also, if you decide to abort a csound run, simply click its window's close button. The session is killed and the window is deleted. This is especially useful with the networking capability mentioned above; you could be running several jobs simultaneously on different compute servers, all from the comfort and safety of your NeXT (don't be a net pig, now :-) . Plot window ----------- Csound supports the plotting of wave tables created by the various GEN routines. On machines that can do it, these plots are drawn in one or more windows on the screen. Machines that do not support graphics get their plots drawn in ascii in the progress report. Well, there is now csound graphics support for the NeXT. If wave tables are generated and table displays are enabled, a scrolling window will pop up on your NeXT and annotated wave plots will be drawn in this window. When csound is finished, it will wait until the user closes the plot window before finally terminating. Note that the plot window is displayed only when running csound on the local NeXT, and not across the net. Miscellany ---------- - improved help panel, stays up until explicitly closed, text is organized to look more or less like it does in the manual - supports 8-bit mulaw soundfiles as well as 16-bit linear and float - cleaner, more consistent interface - edit functions (copy, paste) enabled for grabbing text (I know, should have been there from the start) That about covers it, I think. anon ftp: uvaarpa.acc.virginia.edu:/pub/next/Apps -- Peter M. Yadlowsky | "You know - when I talk to people, I try to Academic Computing Center | look more intelligent than I actually am. University of Virginia | Seems to work." pmy@Virginia.EDU | - LA