Close

A few "notes", just In case you never "noticed."

A project log for Narcissus 12.0

This project will explore a number of issues that are involved in creating a personality for an interactive chat-bot or actual robot.

glgormanglgorman 06/13/2024 at 00:530 Comments

Turning audio into sheet music is one of my persistent passions. Experimenting with different polyphase filter tree topologies is always an adventure. 64? 128? 256? How many sub-bands? Sampling window size? That's another secret. Bessel, Butterworth or Gaussian window pre-processing, or a simple comb filter? That would be telling.

I've seen the comments in another forum that "if you are teaching magic, you are exposing magic!" And a LOT of people don't like that. But too bad! Maybe I should try decoding a certain famous Beatles chord. Not that it hasn't been done before. Yet in the meantime rtcp and llama integration is also a work in progress.  Actually, this is a VERY old project - just doing some updates, therefore.  Mainly what I am doing with this right now, then is fixing a lot of bugs, and doing a massive amount of project integration.  Wouldn't it be interesting to get LLAMA working on the one hand, and to try training it - or at least a version of Mega Hal on some MIDI data derived from real music? O.K. that is one thing, but another is just simply getting over a dozen or so projects, with names like DDE, Frame-Lisp, Rubidium, Debug-Terminal, Euclid, Construction, and so on - to "talk to each other" so to speak - with a much higher level of project integration that spans multiple projects than anything ever tried before.

Of course - who remembers this code snippet, from the original UCSD Pascal Compiler?

IDENTIFIER = RECORD
    NAME: ALPHA; LLINK, RLINK: CTP;
            IDTYPE: STP; NEXT: CTP;
            CASE KLASS: IDCLASS OF
              KONST: (VALUES: VALU);
           FORMALVARS,
               ACTUALVARS: (VLEV: LEVRANGE;
                   VADDR: ADDRRANGE;
              CASE BOOLEAN OF
                   TRUE: (PUBLIC: BOOLEAN));
                   FIELD: (FLDADDR: ADDRRANGE;
                      CASE FISPACKD: BOOLEAN OF
                        TRUE: (FLDRBIT,FLDWIDTH: BITRANGE));
             PROC,
             FUNC:  (CASE PFDECKIND: DECLKIND OF
                 SPECIAL:  (KEY: INTEGER);
                  STANDARD: (CSPNUM: INTEGER);
                  DECLARED: (PFLEV: LEVRANGE;
               PFNAME: PROCRANGE;
             PFSEG: SEGRANGE;
                CASE PFKIND: IDKIND OF
                 ACTUAL: (LOCALLC: ADDRRANGE;
                  FORWDECL: BOOLEAN;
                  EXTURNAL: BOOLEAN;
                  INSCOPE: BOOLEAN;
                  CASE BOOLEAN OF
                 TRUE: (IMPORTED:BOOLEAN))));
               MODULE: (SEGID: INTEGER)
END;

That is, of course how the compiler keeps track of identifiers, while compiling another program of course, or even if it is compiling itself.  Something is needed therefore, that goes beyond what people are doing with JSON, or other languages like RUBY or Python that allow creation of new data structures at run-time, which in principle is a form of "reflection".  That doesn't mean that our computers are actually self-aware, of course, but remember what I said earlier about Narcissus, who turned to stone after staring at his own reflection, or else there was also "Echo" who pined away for the love of Narcissus, that is, until only her voice remained.  All very cool.

So I was also checking out the download of the latest Ruby and Ruby on Rails distros, and it occurred to me that maybe I could add some Ruby integration as if maybe Ruby could just somehow be dropped into my framework - and then maybe, well things could get wild; because then I could pull in all of the Rails stuff, and maybe have "Ruby going off the rails - as it were."

And yet I still want to do something that works like SHRDLU, and then all of this needs to work with real physical robots.

Discussions