Theo Verelst Diary Page

Latest: Februari 27 2001

I've decided after good example to write some diary pages with toughts and events.

Oh, in case anybody fails to understand, I'd like to remind them that these pages are copyrighted, and that everything found here may not be redistributed in any other way then over this direct link without my prior consent. That includes family, christianity, and other cheats. The simple reason is that it may well be that some people have been ill informed because they've spread illegal 'copies' of my materials even with modifications. Apart from my moral judgement, that is illegal, and will be treated as such by me. Make as many references to these pages as you like, make hardcopies, but only of the whole page, including the html-references, and without changing a iota or tittel...

And if not? I won't hesitate to use legal means to correct wrong that may be done otherwise. And I am serious. I usually am. I'm not sure I could get 'attempt to grave emotional assault' out of it, but infrigement on copyright rules is serious enough. And Jesus called upon us to respect the authorities of state, so christians would of course never do such a thing. Lying, imagine that.

Previous Diary Entries

February 27, 2001

I got csound running! ANd I even did the dx thing, see below to check some wave files with samples. What about the IT world?

Microsoft nazism?

Strong terminology not originating with me, a few years ago I read an article about someone having been kicked out of the little blueish alledgedly for 'not being enough of a nazi', which of course is at least not nice, though I don't doubt that one got paid enough till that point, the idea of being forced to become somewhat like a nazi to make software seems at least odd.

I knew someone that moved to microsoft after graduating, and saying I'd acuse that one of nazism would not have made sense at the time, and of course there are many errors to be found in any big company, but there are ligitemate questions about the whereabouts of such a firm, especially when it conscerns core workers.

Who are the core workers inthat respect? The ones that know about the allseeing eye on their many dollar bills and get the highest freemason positions in their local lodge, going for the global one? That know hoe to buy and sell with the mark of the beast? Or something equally dramatic and utterly undesirable?

Or is everyone out to beat gates proving their OO system is the best partial ripoff of long existing technology, or the marketing guys claiming they in the end ran and therefore must run things into an incredible blaze of glory for their lifetime in the job?

Who defined all the modes of operation in such a business, why was and is it so successfull, what is all that shit about being forced to split it up for not enabling 2d party netscape to have a fair market share on their operating system? I yesterday read about the trail proceedings, and when I do, it seems like distributing some kind of pie on the basis of superficially and at second look undiscernable argument basis. Why would a market be 'fair', and if it is, who is the good and honoerable player in these matters as they developed?

I completely remember a very early, recogniseable, and at least truly innovative product I used and made use of: the trs80 Basic ROM and bios functions. That was at something that clearly had a purpose, to make the damn machine work, to do computations, read programs and data from cassette, play games, make a midi sequencer (years later), generate samples, do homework assignments, make difference equation update based graphical satelite/earth simulations to find out a decrease in velocity during a circular orbit would not lead to spiraling down but to an elliptical new orbit, such things.

Without the basic interpreter fitting in that ROM and working right, no such things would have happened, and I'd probably have been into more assembly, and not all these subjects. Lots of people woult probably not have entered the microprocessor era without the radio shack deal and that rom, etc.

Clearly, nowadays simular reasoning holds about the world of PC's, OS-es, and programs, and no doubt interesting and fun enough work is done, but deciding on the market shares as part of a legal gouvernmental involvement, and such a major player being appearently held to be seriously wrong somehow is at least remarkable.

Maybe the end of computer programming is in sight, and the early adopter trhough milk cow phases are now being multinationalized into the likes of shell promoting solar energy, simply to secure their future existence?


Some may know, csound is a collection of programs made for software synthesis of music, basically it covers most known methods of synthesis and sound processing, mainly being limited in the sense that it in early stages mainly operated off-line, and that inessence the making of sounds and music is based on entering text like in a programming language, and not like playing an instrument.

Until no so long ago, the whole deal was so, that one would sit down with a program editor (reminds me that I should get one, because the ones I have do not have the right combination of features: good fonts, infinite size files and fast scrolling, good nouse behaviour and shortcuts for often used functions, auto identing C style, good and settable defaults, low loading and multiple window overhead, good and smooth search and replace options (where is that incremental tree search from me?) maybe VI under dos wouldn't be the worst in comparison, even..., at least it would allow auto inclusion of tool output and work on any vt100), and do a lot of illegible typing, start a scientific style program, let it run the punch card equivalent file, with until the output deck is finished to be inserted into the Sound Reader, and be played as audio.

In short, an input file contains information about the orchestra wanted, that is the instruments, defined in a mathematical, programming like style, and another contains the score, a machine readable collection of lines defining note events for a piece of music for each instrument.

The result is like with other such packages (like I mentioned spice, the well know electronic circuit simulator before) quite powerfull, that means it can do quite a lot, except it is of high threashold to use: learing the langauges for the orchestra and instrument definitions takes considerable skills and knowledge, though learning from example is quite possible. There are newer versions with user interfaces and real time midi input, so as long as processor power permits real time playing is possible, preferably running on linux (or unix) because of the process switch times, inducing response delay on for instance windows. I can't try them now, I guess they are a lot more fun to use, especially when one wants to make music, not learn another programming style.

For me, the package may prove to be quite fun and usefull, and since the latest version even seems to directly read midi files, there whould be not so much problem getting some decent musical scores together as test cases without tons characters having to be typed, too.

I've tried a few examples I had, one doesn't operate yet, I think because in an earlier attempt I erased some essential inforation trying to trim the memory use in a file as utter means of trying to get that version to work. But some others do work, one with a drum track as demonstration of noise instruments I think, and one quie interesting one, where I've made use of a program to extract DX7 sounds from actual DX7 sound back files, convert them into csound generators, and run a score file to generate samples with I guess quite realistic DX7 FM sound simulations.

So I tried the demo score after having converted a sound, and voila, a DX1 simulation (a few DX7 voices in ensemble) on a little sequence of chromatic type playing can produce a sample with quite nice dx sounds come to live.

I currently have to listen to it by using a little utility I made to enter small enough chuncks of the output wav file into my microcomputer programmed as sample replay unit, and cycle through the sections by hand, which apart from a little delay every short time interval gives a good impression of the sound. Major fun to hear dx-ish sounds coming from it, especially since the idea of a 'lead dx1' sound comes across in this setup, quite some livelyness and thickness there is in this type of sound being put to use.

A few parts of the sample rendered from the short sequence are good as samples for playing on the keyboard instead of just playing back at equal pitch, too. I got at least one top sound, I think there are deliberate harmonic intervals (I don't think normal half note ones) in the sequence, which when repeatedly transposed with such a sound, and then doubled by my detuned sample replay oscilators become realy quite alive, and would make it as fusion solo sound on stage for sure.

Examples sound files:

A dx sample with one voice
A dx sample with one 5 voices
a simple synthetic drum sample

The 5 voice DX sound is not as it is in the example I used as basis, I addded two loud low notes with a bit detune, and played around with different velocities (how hard the virtual key is virtually pushed down) settings, so I'm not sure it sounds very optimal as a sample of what the instrument does, the way I play it back it has great sound motions in it, though that is with double oscilators and variable playback rate.

I don't think I'll go into the csound files needed for these instruments, especially the DX stuff is quite complicated, the conversion program takes one 150 parameter chuck out of a 4 k sound bank file, unravels the format into the right bit fields, and then automatically generates csound oscilators and lookup tables with the righ connections for the FM algorithm in question (on out of 32 possible combinations of 6 operators driving eachother in some constellation),which is like a five page text file or so.

When I get the convert program to compile properly (which should be quite possible, but the compiler I have seems not to agree with large structs with unions with bit field defintions on a byte basis instead of ints), and works right in other cases too, it may be of considerable interest to get those 10.000 web available dx7 sounds in some zip file, and try wether I can find some of my favorites, and get them in the sample replayer.

Not that rendering the sounds over csound is snappy, maybe half a minute for the 5 voice example, depending on sampling rate, which is doable, but not like click and try, but the idea of also being able to either do the csound job myself or making scripts to do automatic multi sample generating is interesting for when the machine (dsp) power is available to do some things like it in real time. I saw csound also has PM and FM algorithms built in, though I didn't check out their extend and power.

Lots of interesting effects and processing modules are available in csound, from chorus and reverb (not sure how good) to pitch tracking, harmonic analysis and interpolated harmonics resynthesis, and the fashionable effects based on short length fourier analysis such as time stretching. I didn't try them yet, maybe they are slow, but having them to experiment with is a good idea.

I'l probably deliver on my promise to supply the wave and synth lab pages with example samples, and maybe I'll get some software package together, the compiler and I are in a quarrel to get some things going that let me have at least sufficient dos based graphics resolution screens, the basic interactions and file access (works fine enough), so I can get some stuff like the interpolating fourier/sample synthesis and filter simulation program into a more decent up to date executable program. When it ends up working on normal windows machines (being put in older screen mode and started in dos mode), I'll make it a downloadable demo, and maybe make a product of it and more. Generating wav files should be easy enough when the latest compiler can be used, so it should have enough value, especially with good materials supplied with it.

I can see a line here with putting sound patches on the web for trying and being able to get them in downloaded software with variations, and maybe even with web interface, that should be good for interest.

Development as it should

Comparing with what there is is not a good way to define one's activities in software or anything, but when it is clearly enough to be defined what is desirable, it is possible to say positively definate things in distinction sense.

Then by and large, DOS sucks bad, as is common knowledge. But of course it is there, and can work as well for various purposes, even as development shell. But vanilla, it is only for the real needy. Running the bash shell from gnu/cygnus would make it better, and with all the cygwin development tools, things would even be up to serious development, I've done a complete make of both mesa (opengl) libs and examples and an advanced enough directX application on the basis of it, which is not effortless, but the latest (pentium) version is quite capable of at least making its appeal work in practice make-ing large and complicated enough packages and getting them to actually work, and even efficiently.

Linux too would have such capability, the version I tried wasn't realy a breeze or effortless, but it did do basic compilation and making stuff right, and of course a serious unix like file system is worth quite something, that is a major improvement.