AudListen Module of the

English and Russian bilingual ghost.pl AI in Perl

Mens Latina in Latin -- MindForth for robots


1. Diagram of Chapter 2 AudListen AI Mind-Module


  /^^^^^^^^^^^\                        _____      /^^^^^^^^^^^\
 /visual memory\    | | |             /New- \    / AudListen   \
|   _______     |   | | |    _____   (Concept)--|-------------\ |
|  /old    \    |   | | |   /Old- \   \_____/   |  AudRecog   | |
| / image   \---|-----+ |  (Concept)----|-------|----------\  | |
| \ recog   /   |  a|C|f|   \_____/-----|-------|-------\  |  | |
|  \_______/    |  b|O|i|        |______V       |  c    |  |  | |
|               |  s|N|b|       /EnParser\      |   a   |  |  | |
|               |  t|C|e|       \________/      |    t  |  |  | |
|               |  r|E|r|   ________|______     |     s-/  |  | |
|               |  a|P|s|  /               \    |  e       |  | |
|               |  c|T| | (   InStantiate   )   |   a      |  | |
|   _______     |  t| | |  \_______________/    |    t-----/  | |
|  /new    \    |   |_|_|  / _____      _____   |  f          | |
| / percept \   |  /     \/ / En  \    / En  \  |   i         | |
| \ engram  /---|--\ Psy /-/ Nouns \--/ Verbs \ |    s        | |
|  \_______/    |   \___/  \_______/  \_______/ |     h-------/ |


2. Purpose of AudListen for the Ghost in the Machine

AudListen listens for auditory input.


3. Algorithm of the AudListen mind-module

3.A. Listening for input

In Perl and in Forth, the AI Mind simply provides a brief but recurring window of opportunity for human input. In JavaScript, the capture of keyboard characters is event-driven whenever the human user presses a key.

3.B. Looping through sufficient time for a human being to enter a communication.

The AI must wait enough time for user input that the user will be relaxed and unhurried in entering input. If there is no input, or if the user fails to press the "Enter" key, the AudInput module must shift attention away from AudListen to engage in internal thought.

3.C. Backspacing repeatedly to provide an exciting, jittery prompt for the user.

In Perl and especially in Forth, the AudListen module alternates between the presentation of a blank-space prompt and a backspace, so that the human user sees a jumping, jittery prompt inviting the typing in of user input.


4. Code of AudListen() from ghost327.pl AI source code in Perl


sub AudListen() {  # http://ai.neocities.org/AudListen.html
    my $unk = "";  # 2017-03-25:
    for ($attn = 0; $attn < 3000; $attn++ )  {  # 2017-03-27: start input wait-loop
      use Term::ReadKey;    # 2017-03-23: PBlackBook p. 543
      ReadMode('cbreak');   # 2017-03-23: PBlackBook p. 543
      if (defined ($unk = ReadKey(-1)) ) {  # 2017-03-25: PerlBlackBook 543
        $doa = $unk;  # 2017-03-25: only for early exit from AudInput
        if ($unk eq chr(48)) { $hap=10; TacRecog(); $unk = ""; }  # 2019-11-04:
        if ($unk eq chr(49)) { $hap=1; TacRecog(); $unk = ""; }  # 2019-11-02:
        if ($unk eq chr(50)) { $hap=2; TacRecog(); $unk = ""; }  # 2019-11-02:
        if ($unk eq chr(51)) { $hap=3; TacRecog(); $unk = ""; }  # 2019-11-02:
        if ($unk eq chr(52)) { $hap=4; TacRecog(); $unk = ""; }  # 2019-11-04:
        if ($unk eq chr(53)) { $hap=5; TacRecog(); $unk = ""; }  # 2019-11-04:
        if ($unk eq chr(54)) { $hap=6; TacRecog(); $unk = ""; }  # 2019-11-04:
        if ($unk eq chr(55)) { $hap=7; TacRecog(); $unk = ""; }  # 2019-11-04:
        if ($unk eq chr(56)) { $hap=8; TacRecog(); $unk = ""; }  # 2019-11-04:
        if ($unk eq chr(57)) { $hap=9; TacRecog(); $unk = ""; }  # 2019-11-04:
        $unk = uc $unk;  # 2017-03-31: change to uppercase (uc)  
        $pho = $unk; last;  # 2017-03-25:
      } else {      # 2017-03-25:
        print chr 8; # 2017-03-29: ASCII BACKSPACE-8
      }  # 2017-03-25  
      ReadMode('normal');  # PBlackBook p. 543
    }  # 2017-03-23: end of input waiting loop.
} # 2019-11-04: AudListen returns to AudInput()


5. Variables for the AudListen AI Mind-Module

$attn -- AudListen loop counter.

$doa (dead on arrival)-- flag for exiting from the AudInput() loop.

$hap -- is the "haptic" identifier of a unit of tactile sensation through which the Ghost AI may touch and feel something in the external world. In the early fleshing-out of the TacRecog mind-module, the value carried by the "hap" variable allows the Ghost AI to feel pressure on the various keys in the numeric keypad of a computer. Whereas the AI "hears" but does not otherwise "feel" the character keystrokes of the English or Russian language, numeric keystrokes are actually felt as a contact made with the extrnal world impinging on the incipient consciousness of the Ghost in the Machine.

$pho -- a "phoneme" or character of auditory input.

$unk -- all-purpose $unk (unknown) for troubleshooting


6. Troubleshooting and Debugging the AudListen Module

6.1.a. Symptom: (Something goes wrong.)
6.1.b. Solution: (AI Mind Maintainer devises solution.)


7. Future Development of the AudListen Mind-Module

AudListen needs to be implemented in robots.

For security purposes, an AI Mind could be assigned to listen for particular noises or sounds at a large multitude of listening points spread across an entire property or installation, letting the event of a noise "awaken" the AI to investigate the source of the noise.

An AI could be devoted or employed in Search for Extraterrestrial Intelligence (SETI) to detect other AI entities across the universe.

An AI could be designed to listen for extremely low frequencies (ELF).

Roadmap to Artificial Intelligence


8. Resources for the AudListen AI Mind-Module


Please see

http://mind.sourceforge.net/listen.html

arrayForth 3 User's Manual:
http://www.greenarraychips.com/home/documents/greg/DB013-181226-aFUSER.pdf



9. AiTree of Ghost AI Mind-Modules


https://m.media-amazon.com/images/I/51fCt9yasXL.jpg -- cover image of "Artificial Intelligence in Ancient Latin"
https://www.metrofarecomic.com/post/109206873347/latin -- cartoon image for Chapter 43




Website Counter