Theo Verelst Diary Page

Latest: March 11 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

March 11, 2001

Doing some homework with the gnu compiler installation makes for possibility progress, quite some effictive improvements were done.

Graphics and sounds

Whats the attractiveness of the idea of multimedia? I never gave itmuch thinking space, a movie is sound and picture, preferably of ggod quality, you can't take a movie theater with you, and it doesn't have fast forward and backwinding buttons, cd aren't tapes because you can't record them and they have random access and cd quality. Mpegs are fun because your computer can suddenly play music, but adds not that much to the idea of playing music in general from some carier, but the internet is considerable resource, and the idea of controlling music by software add possibilities.

For me, multimedia, with formerly a 10k$ home studio setup with synths and sequencers was not much of a solid term, not so strong or meaningfull, the essence of things didn't change, my idea of multimedia was to see if I could hook up a smpte unit with realtime sequencer response and synth playing to a video cutting table, which is fun enough. Get that in a good software package, with a good digitiser, processing facilities, all that, that is interesting, as is a good functioning sequencer and sound generator and processing tools, when they are indeed good.

And a little pda with m own music in it in high enough quality, that's like a walkman, does it give me radio orleans yet? Thats sort of my idea about it, practically, though without question various developments deserve to be taken seriously, I don't find the idea of a dvd very challenging, except its a disc with a lot more storage, obviously being marketed to give various manufacturers a piece of the turnover cake.

In other words, multimedia isn't content enough term, but the idea of using modern means of carrying visual and audio materials has been and is a quite major part of my life, and important, and wanted.

In the past, I've been into graphics, and of course audio as hobby for decades in many forms, and I'm sure both were considerable parts of my motivation for choices in study and professional possibilities.

For what reason exactly I don't know, but satisfaction of making something with a pleasing and not readily available result probably is part of it.

A good computer system, and the right software on it can be quite powerfull in various areas, and in my case that means a development environment rather than fashionable software package a or b, usually, though there is quite some desirable enough software.

As is credible from the emergin popularity of linux, a system that can be developed on in a good enough multitasking and file system environment, and with a powerfull and standard enough C compiler has major advantages, unless of course one can simply buy or find all the right parts. The idea of a development environment doesn't necessarily fit a consumer computer setup, but for me it is of essence even to feel a bit at home at it.

I installed some upgrades to the first gnu compiler version, and some extension, such as the grx graphics library, which I got to work enough after not that much adapting of sources and installation stuff. After trying some of the graphics examples, I found out I can push my card to at least a relatively stunning 640x480 with 256 colours, which should actually be enough to display some lighting effects on, on windows 95 or so machines this is rediculous, there's maybe up to 4 times higher resolution in full colour, at which point it starts to work almost as profi enough to satisfy, assuming one can afford a high resolution 19' monitor, maybe 2, but for some purposes, a minimum has to be there, and currently, at least 256 gray values are viewable, which was more than I thought.

The compiler and the graphics lib are not up to every standard, I should get version 2 rather, but at least I can take most program sources I made earlier or got somewhere, type gcc, and they compile, in short enough time, a bit faster would be nice but it isn't the worst to wait 15s until a graphics containing source is compiled, and I'm not that much into using large C++ files, so very great efforts of the compiler aren't asked currently. I did install the ++ extension, though, and it does correctly compile various programs, which is never bad, maybe I'll play around with it a bit.

Not so much playing around, I did some graphics lets say research software, to get an idea of what can be put together smoothly enough. I made a 256 x 256 gray-level window, with 256 shades of grey, like black and white TV, and after testing wether 2d graphics primitives work ok onit, I did some fundamental 3 dimensional programming.

First, I defined a matching Z buffer, with integer resolution, and make some polygons by drawing them pixel for pixel with a z buffering and simple shading macro, which indicates that such unoptimized method at least gets a fully filled picture in the order of a second, which at least is good enough for using seriously.

To get some more gradual shading examples, I added a sphere, by parameterizing in polar coordinates and equally divided parameter space, and shading based on the angle between the viewing direction. As I did many years ago, I started by taking the eyepoint at infinity, which virtually means a flat projection of the object space unto the viewing window. I made the view polygons intersect the sphere, and added another, also partially intersecting, which gives a good enough picture, indicating the principles work.

Having quite an interest in playing good enough sounds, and now a compiler that does most jobs as it should, I looked at the 10,000 DX7 sounds I got stored, and the csound converter. I adapted the converter source to my needs, to make just a sample for one central note and automatically preparing the csound input file for that idea. Also I made a program to extract the names of all sounds in a bank, and list them in a straight output list.

A little script I used to make a list of the names of ALL 10k sounds as a text files, including the bank and slot name and number, which can be used with a wordprocessor or 'grep' to look for certain sounds. I also sorted the list, which seems now to make me run out of disc space, but at least a major portion is also sorted, which is fun enough. Additionally, I made the csound extractor exctract one sound on request, so now it is a few lines of commands to get any sound from any bank extracted, put into csound, rendered into a small sample, and sent into my synth computer sys.

So seriously, any sound can be made audible in maybe 20 seconds, depending a bit, and of course the ideas ache a bit to automate this whole thing. It doesn't work perfect, maybe sometimes because I reduce sampling rates quite a bit, sometimes maybe the csound emulation isn't perfect, or the playing style must be found, including the right velocity and note values, but most sounds are quite rewarding, and the idea of filling a sampler with some more memory with a good multisample automatically and having some good enough access to all these sounds is appealing.

I did a database for these type of sounds in the past which was well programmed and with very well thought of concepts in it, maybe I'll do a part of it again, though it would make more sense to do such things in less anchient software version.

Then again, a set of good C functions is timeless, I straight away could compile some software I did when I had access to windows machines, for instance for intersection between plana and vector, rotations, such things, they of course can be used straight away again. The database stuff could be done as cshell scripts easily enough, though a bat file can't without some additional work, I'll see.

Conclusion being I'll do programming for results I can't otherwise get, sticking preferably to code I can use again in better dressed environments and computers that can break the upper speed limits instead of being in danger of getting near the lower ones.

Lets see, what was a major motivation again, ah, to at least make clear who have been the lying and unrightfully scheming parties in my former university environment, so at least doing the same things partially again will make for enough contentwise proof. They may not like that I gathered, but I take no risc with the real issue, I'm not the one who failed my official job getting people away from tax paid for positions that are supposed to be educational for students, not their more than well paid enough professors, getting them somewhere instead of raising them up with nothing worth it.

The microcomputer is ticking, can be seriously developed on, has a bus that by only wideing it by repetition would be up to more than an official project goal some people never got a working prototype for, and costs maybe a few hundred instead of half a million and more to prototype, leaving my claims on how to tackle such problems most probably the most reliable ones, doubtlessly against their will.

My software for various tasks works again, and starts to do enough to make clear that it is likely that I did actually produce what I did, and that was good and well up to the task of continuing science with it instead of filling drawers with never to be read again thesisis or making paper after paper with content they may like at brusselles or the politbureau just the same.

At least it is good for credibility, and some modules and ideas are in short enough time even commerically valid and fun enough, though the idea of selling a product that runs in a dis window is limited, but programming decent should make contemporary versions not so hard, and what the heck, there are command line utilities that are way more pofessional, usefull, well spread and desired than many wonferfull or standard gui ones.

So if linux is free, is there a point of wanting it outside hobbies ? I've been paid as a consultant before, and I saw in Linux magazine they did various articles on the subject, though I didn't see much happen in perceivable form in the area until recently I saw a company (not so near) asking for linux experts for consultancy type of work, which in certain subject areas should be good, and could be quite well paid.

What's bad about this:

SPECTRUM 2 bank\BANK0042.DX7 15 18
VH JUMP 2  bank\BANK0042.DX7 09 19
ANLOG SQR1 bank\BANK0042.DX7 02 20
ANLOGLEAD1 bank\BANK0042.DX7 10 21
DIGI-LEAD1 bank\BANK0042.DX7 10 22
DIGI-LEAD7 bank\BANK0042.DX7 17 23
  WHY 2    bank\BANK0042.DX7 16 24
STEINWAY43 bank\BANK0042.DX7 09 25
SIMMONS MF bank\BANK0042.DX7 28 26
CHILD      bank\BANK0042.DX7 18 27
BRS-STG-DB bank\BANK0042.DX7 02 28
SUPRSTR LO bank\BANK0042.DX7 02 29
VICS ROADS bank\BANK0042.DX7 11 30
BC SAX 5   bank\BANK0042.DX7 17 31
piklw  bank\BANK0043.DX7 05 00
FLUTE   2  bank\BANK0043.DX7 18 01
OBOE       bank\BANK0043.DX7 03 02
CLARINET   bank\BANK0043.DX7 17 03
BASSOON    bank\BANK0043.DX7 02 04
PAN FLUTE  bank\BANK0043.DX7 03 05
LEAD BRASS bank\BANK0043.DX7 18 06
HORNS      bank\BANK0043.DX7 18 07
SOLO TBONE bank\BANK0043.DX7 08 08
BRASS BC   bank\BANK0043.DX7 22 09
BRASS 5THS bank\BANK0043.DX7 02 10
SYNTHBRASS bank\BANK0043.DX7 22 11
STRG QRT 1 bank\BANK0043.DX7 02 12
STRG ENS 2 bank\BANK0043.DX7 09 13
VIOLA SECN bank\BANK0043.DX7 15 14
STRGS LOW  bank\BANK0043.DX7 02 15
HIGH STRGS bank\BANK0043.DX7 02 16
PIZZ STGS  bank\BANK0043.DX7 02 17

SPECTRUM 2 bank\BANK0042.DX7 15 18
SPECTRUM 2 bank\DX75.DX7 15 14
SPECTRUM 2 bank\DX89.DX7 15 18
SPI EFX  1 bank\ORTEGA18.DX7 16 08
SPI EFX  2 bank\ORTEGA18.DX7 11 09
SPIRITS-1. bank\DXOC13.DX7 01 07
SPIRO    1 bank\DX120.DX7 09 27
SPIRO    3 bank\DXMIK2.DX7 16 20
SPIT TPT   bank\DX137.DX7 22 20
SPITVALVE  bank\BRASS2.DX7 22 10
SPL-STRNG  bank\NEWSND.DX7 13 06
SPL-STRNG  bank\ORTEGA19.DX7 13 29
SPLAT BRS5 bank\BRASS1.DX7 18 22
SPLAT BRS5 bank\BRASS2.DX7 18 11
SPLAT BRS5 bank\CHURCH.DX7 18 17
SPLAT BRS5 bank\DX53.DX7 18 24
SPLAT BRS5 bank\ORTEGA17.DX7 18 14
SPLIT      bank\GUITAR2.DX7 04 19
SPLIT     bank\DX86.DX7 04 01
SPLIT 5523 bank\DXOC29.DX7 20 00
SPLIT GRAN bank\ATSU_5.DX7 03 26
SPLIT I.O. bank\DXOC28.DX7 20 15
SPLIT KBD  bank\DXOC21.DX7 07 19
SPLIT PIAN bank\ATSU_5.DX7 01 27
SPLITVOICE bank\DXOC28.DX7 03 14
SPLT BS  1 bank\ORTEGA16.DX7 16 11
SPLT-KYBRD bank\DXMIK2.DX7 03 22
SPLURGE    bank\DXOC21.DX7 01 07
SQUAR WAVE bank\ORTEGA18.DX7 05 28
SQUARE SY1 bank\DXOC19.DX7 05 28
SQUEEZYVOX bank\DXOC20.DX7 03 08

I'll see if I put some sound samples up, made like this:

c:\csound\dx\banks> grep steinway names.txt
B.STEINWAY bank\DX75.DX7 07 30

HISTEINWAY bank\DX135.DX7 28 01

LOSTEINWAY bank\DX135.DX7 03 00

STEINWAY   bank\DX101.DX7 15 09

STEINWAY   bank\DXOC20.DX7 13 17

STEINWAY 5 bank\DX79.DX7 16 09

STEINWAY 6 bank\DX101.DX7 16 11

STEINWAY 6 bank\DX76.DX7 16 19

STEINWAY 6 bank\DX88.DX7 16 23

STEINWAY 7 bank\DX88.DX7 16 15

STEINWAY 8 bank\DX88.DX7 16 02

STEINWAY 8 bank\DX9.DX7 16 01

STEINWAY16 bank\DX89.DX7 16 26

STEINWAY20 bank\DX76.DX7 16 05

STEINWAY20 bank\DX79.DX7 16 14

STEINWAY25 bank\DX77.DX7 16 04

STEINWAY26 bank\DX77.DX7 16 05

STEINWAY27 bank\DX77.DX7 16 06

STEINWAY28 bank\DX135.DX7 16 07

STEINWAY28 bank\DX77.DX7 16 07

STEINWAY31 bank\DX77.DX7 11 03

STEINWAY32 bank\DX138.DX7 11 00

STEINWAY35 bank\DX90.DX7 15 12

STEINWAY35 bank\DX92.DX7 15 07

STEINWAY36 bank\DX90.DX7 15 13

STEINWAY36 bank\DX92.DX7 15 08

STEINWAY37 bank\DX90.DX7 09 26

STEINWAY37 bank\DX92.DX7 09 09

STEINWAY38 bank\DX90.DX7 09 27

STEINWAY38 bank\DX92.DX7 09 10

STEINWAY39 bank\DX92.DX7 15 11

STEINWAY41 bank\DX92.DX7 15 12

STEINWAY42 bank\DX92.DX7 15 13

STEINWAY43 bank\BANK0042.DX7 09 25

STEINWAY43 bank\DX89.DX7 09 25

STEINWAY43 bank\DX92.DX7 09 14


STEINWAY44 bank\DX75.DX7 09 28

STEINWAY44 bank\DX88.DX7 09 24

STEINWAY44 bank\DX92.DX7 09 15

STEINWAY45 bank\DX92.DX7 28 17

STEINWAY46 bank\DX92.DX7 28 18

STEINWAY47 bank\DX92.DX7 28 19

STEINWAY48 bank\DX92.DX7 09 20
c:\csound\dx\banks> ..\dx72csnd dx101.dx7 9
C:\CSOUND\DX\BANK>..\..\csound -hgcd -o stein.wa ..\nd715.orc dxpatch.sco
orchname:  ..\nd715.orc
scorename: dxpatch.sco
sorting score ...
        ... done
orch compiler:
319 lines read
        instr   1
MIT Csound:  486, v3.31.12
orch now loaded
displays suppressed
audio buffered in 1024 sample-frame blocks
SFDIR undefined.  using current directory
writing 1024-byte blks of signed chars to stein.wa
ftable 1:
ftable 2:
ftable 3:
ftable 4:
ftable 5:
ftable 6:
ftable 7:
ftable 8:
ftable 9:
ftable 10:
ftable 11:
ftable 12:
ftable 13:
ftable 14:
ftable 15:
ftable 16:
ftable 17:
new alloc for instr 1:
B  0.000 ..  1.200 T  3.600 TT  3.600 M:   3212.7
end of score.              overall amps:   3212.7
           overall samples out of range:        0
0 errors in performance
36 1024-byte soundblks of signed chars written to stein.wa
C:\CSOUND\DX\BANK> out stein.wa
Read 36000 bytes
strobe set to 0
data prepared, sending

0 0 sent 3584 bytes

1 3584 sent 3584 bytes
Followed by editing of the dxpatch.sco files to adjust note and velocity values, and again outputting the sample data to the microcomputer.