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
9.
AiTree of Ghost AI Mind-Modules