Virtual Humans Forum
Virtual Humans Forum
Home | Profile | Register | Active Topics | Members | Search | FAQ
Username:
Password:
Save Password
Forgot your Password?

Virtual Humans
Partner website:
Chatbots.org
 All Forums
 Virtual Humans
 Artificial Intelligence
 Rhythm Generator
 New Topic  Topic Locked
 Printer Friendly
Next Page
Author Previous Topic Topic Next Topic
Page: of 2

hologenicman
Moderator



USA
3323 Posts

Posted - Jan 31 2006 :  21:21:52  Show Profile  Visit hologenicman's Homepage
This is a thread to discuss different approaches to creating "Rhythm Generators".

I am presenting three different varieties of rhythm generators:

ManufacturedRhythmGenerator
TrueRhythmGenerator
FibonacciRhythmGenerator

The "manufactured" variety is what I implemented in the code posted on the software downloads section. You simply choose logical, functional units of time and break them down into logical segments for analyzing repetetive events...

The "true" variety is the method that I prefer for the most effective implementation. It utilizes all prime numbers up to a practical limit, and I will describe it a bit later.

The "Fibonacci" approach is credited to Grant and Jim for introducing me to these wonderful numbers, and it merely replaces the prime numbers in the "true" approach with the Fibonacci numbers for the same general result but utilizing fewer numbers to get the same job done. That said, I still prefer the brute force of using all the prime numbers once the hardware will allow for such abuse of resources...

OK, back to the TrueRhythmGenerator. It boils down to simplicity at it's finest... take the seconds and modulus them by the prime numbers starting with 1 and going until you reach a practical roof (such as the number of seconds in a decade). Now do the same exact thing and turn it into Hertz. That gives you Prime intervals for any time repetition allowed for by your established limits.

Doing the same for both seconds and Hertz allows for the capturing and encoding of rhythm information pertinant to all facets of life. This would even give our bots the true abillity to feel and appreciate music.

John L>
IA|AI
PS. Using the Fibonacci numbers instead of Prime nembers just reduces the number of calculations and variables to deal with while still hitting on a very good sample of non-repeating prime numbers...

http://www.mcs.surrey.ac.uk/Personal/R.Knott/Fibonacci/fibtable.html#fib100


HologenicMan
John A. Latimer
http://www.UniversalHologenics.com

"If the Human brain were so simple that we could understand it,
we would be so simple that we couldn't..."
-Emerson M Pugh-

Current project:http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=816&whichpage=1

DISCOVERY: The more I learn, the more I learn how little I know.
GOAL: There's strength in simplicity.
NOTE: Goal not always achieved.

Edited by - hologenicman on Jan 31 2006 21:29:00

GrantNZ
Dedicated Member



New Zealand
2677 Posts

Posted - Feb 01 2006 :  07:40:41  Show Profile
Heh, interesting. I didn't know that about Fibonacci numbers. It's just one of those magical sequences I suppose....

The prime numbers idea is also interesting. You're still in form!

Something sprang into mind when first reading your topic: Representation of rhythm. I've ended up brainstorming ways rhythm can be represented internally to the computer program. I believe they're all compatible with your three different generator types. I don't know scientific names for them, so I'm making up my own
  • "Ping" method: The rhythm generator creates a "ping" (i.e. generates an event) every chromatic interval. Similar to how an old clock chimes every hour, and how a cheap clock ticks every second. It's up to the AI to "feel" time based on these. (Note that it can create different types of ping for different chromatic intervals - e.g. "tick" for seconds, "chime" for hours. Or "buzz1" for 1st-prime intervals, "buzz2" for 2nd-prime intervals, etc.)

  • "Binary pulse" method: The rhythm generator generates a stable signal, which switches "off" to "on" at the chromatic interval, and back to "off" half-way to the next interval. (Again, multiple signals for multiple types of interval.)

  • "Oscillator" method: The generator provides a signal that is strongest at the interval, and fades in or out as time moves on, but eventually becomes strongest again at the next interval. Various waveforms can be used here - sine waves with intervals at peak, triangle waves, those funny saw-shaped patterns, etc. I think this is what your code does, although I can't remember what shaped wave it produces....

Well, this may have been of no use whatsoever, but I thought I'd throw the ideas in just in case

BTW (By the way), (and this really is off-topic, sorry ) I remember you were originally going to use Hal's standard database relevance searches to pick a response based on tags etc. That idea's scrapped now, correct? Have you had any thoughts on a replacement system?
Go to Top of Page

hologenicman
Moderator



USA
3323 Posts

Posted - Feb 01 2006 :  22:36:18  Show Profile  Visit hologenicman's Homepage
quote:
"Ping" method: The rhythm generator creates a "ping" (i.e. generates an event) every chromatic interval. Similar to how an old clock chimes every hour, and how a cheap clock ticks every second. It's up to the AI to "feel" time based on these. (Note that it can create different types of ping for different chromatic intervals - e.g. "tick" for seconds, "chime" for hours. Or "buzz1" for 1st-prime intervals, "buzz2" for 2nd-prime intervals, etc.)

"Binary pulse" method: The rhythm generator generates a stable signal, which switches "off" to "on" at the chromatic interval, and back to "off" half-way to the next interval. (Again, multiple signals for multiple types of interval.)

"Oscillator" method: The generator provides a signal that is strongest at the interval, and fades in or out as time moves on, but eventually becomes strongest again at the next interval. Various waveforms can be used here - sine waves with intervals at peak, triangle waves, those funny saw-shaped patterns, etc. I think this is what your code does, although I can't remember what shaped wave it produces....


Grant, you've summed up the situation perfectly. As for my existing code, I use a sinusoidal wave in the circadian and Biorhythm routines. I believe I use a modified sawtooth in the "manufactured" rhythm generation for months, days, minutes, etc. that build from zero to their max and then drop off to zero again...

(relevant ATTACKtime, no SUSTAINtime, no DECAYtime)

quote:
I remember you were originally going to use Hal's standard database relevance searches to pick a response based on tags etc. That idea's scrapped now, correct? Have you had any thoughts on a replacement system?

Yup, the use of existing NLP for association is entirely scrapped. In it's place will be either a learned association engine or the Hologenic Brain.

The HOlogenic Brain will be a project in and of itself so I will probably put that off till later.

The learned association engine takes your advice to do the sequential segmentation and reassemble according to matching leading and trailing characters. As you stated this would seem to resemble language but not quite be language unless you trained it... Well that training is the entirety of the "learned association enging". It'll merely take feedback form interaction to determine if the assembly process is going well or not. Throw in a few feedback loops and error checking with matchihg the user sentences and you get an entirely new approach to creating a language association engine...

I should probably start a thread to let this crucial engine be developed on its own merits...

John L>
IA|AI

HologenicMan
John A. Latimer
http://www.UniversalHologenics.com

"If the Human brain were so simple that we could understand it,
we would be so simple that we couldn't..."
-Emerson M Pugh-

Current project:http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=816&whichpage=1

DISCOVERY: The more I learn, the more I learn how little I know.
GOAL: There's strength in simplicity.
NOTE: Goal not always achieved.

Edited by - hologenicman on Feb 02 2006 00:30:55
Go to Top of Page

GrantNZ
Dedicated Member



New Zealand
2677 Posts

Posted - Feb 02 2006 :  06:56:34  Show Profile
Ok, thanks for answering that I'll wait patiently!
Go to Top of Page

Bex
Curious Member



United Kingdom
3 Posts

Posted - Feb 06 2006 :  16:06:05  Show Profile
hmm, sorry but i dont understand the idea of using a rhythm generator to allow bots to enjoy music. Even if the bot has the ability to feel the the rhythm, how will it know whether the music is good? the bot cannot develop its own taste, the taste in music must be pre proggrammed, the same with the note range and other key fetures of the music.
Go to Top of Page

hologenicman
Moderator



USA
3323 Posts

Posted - Feb 06 2006 :  21:21:56  Show Profile  Visit hologenicman's Homepage
quote:
hmm, sorry but i dont understand the idea of using a rhythm generator to allow bots to enjoy music. Even if the bot has the ability to feel the the rhythm, how will it know whether the music is good? the bot cannot develop its own taste, the taste in music must be pre proggrammed, the same with the note range and other key fetures of the music.

Bex,
GREAT question. I'm starting a new thread to answer it and accept discussion...

http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=105

John L>
IA|AI

HologenicMan
John A. Latimer
http://www.UniversalHologenics.com

"If the Human brain were so simple that we could understand it,
we would be so simple that we couldn't..."
-Emerson M Pugh-

Current project:http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=816&whichpage=1

DISCOVERY: The more I learn, the more I learn how little I know.
GOAL: There's strength in simplicity.
NOTE: Goal not always achieved.

Edited by - hologenicman on Feb 06 2006 21:27:45
Go to Top of Page

hologenicman
Moderator



USA
3323 Posts

Posted - Sep 05 2006 :  22:35:35  Show Profile  Visit hologenicman's Homepage
Hey there,

Here is some recent work on Whole and Fractional Rhythm periods that utilize Functional multiplexing(minutes, hours, days, etc.), Prime factors, and exponential Primes:

quote:
Here's the Whole Rhythm prime factors with the added Squares, Cubes, Fifth's, Seventh's, Eleventh's, etc...

quote:

Multi-plexed Prime factors for Whole Functional Rhythm Periods:


2
3
4*
5
7
8**
9*
11
13
16*
17
19
23
25*
27**
29
31
32***
36*
37
41
43
47
49*
53
59
61 - Seconds (1+ Minute) / Reptitiious Rhythms - RR


2
3
4*
5
7
8**
9*
11
13
16*
17
19
23
25*
27**
29
31
32***
36*
37
41
43
47
49*
53
59
61 - Minutes (1+ Hour) / Short-term Rhythms - STR


2
3
4*
5
7
8**
9*
11
13 - Hours (1+ Tidal Cycle)
16*
17
19
23
25*
27**
29 - Hours (1+ Day) / Circadian Rhythms - CR



2
3
4*
5
7 - Days (Week)
8**
9*
11
13
16*
17
19
23
25*
27**
29 - Days (1+ Lunar Cycle)
31 - Days (1+ Month)
32***
36*
37 Social Rhythms - SR



41
43
47
49*
53
59
61
64*
67
71
73
79
81*
83
89
97 - Days (1+ Season)
100*
101
103
107
109
113
121*
125**
127
128****
131
137
139
144*
149
151
157
163
167
169*
173
179
181
191 - Days (.5+ Years)
193
196*
197
199
211
216**
223
225*
227
229
233
239
241
243***
251
256*
257
263
269
271
277
281
283
289*
293
307
311
313
317
324*
331
337
346**
347
349
353
359
361*
367 - Days (1+ Year) / Long-term Rhythms - LTR


2
3
4*
5
7
8**
9*
11 - Years (1+ Decade) / Historic Rhythms - HR


2
3
4*
5
7
8**
9*
11 - Decades (1+ Century) / Archival Rhythms - AR


2
3
4*
5
7
8**
9*
11 - Centuries (1+ Millenia) / God Rhythms - GR

quote:

Here's the Fractional Rhythm prime factors with the added Squares, Cubes, Fifth's, Seventh's, Eleventh's, etc...

1*
2
3
4*
5
7
8**
9*
11
13
16*
17
19
23 - Hertz-20Hz (1+ SLF)

1*
2
3
4*
5
7
8**
9*
11 - SLF-200Hz (1+ LF)

1*
2
3
4*
5
7
8**
9*
11 LF-2KHz (1+ HF)

1*
2
3
4*
5
7
8**
9*
11 HF-20KHz (1+ VHF)

1*
2
3
4*
5
7
8**
9*
11 VHF-200KHz (1+ UHF)


Give me a hollar if this gets anyone thinking...

John L>
IA|AI

HologenicMan
John A. Latimer
http://www.UniversalHologenics.com

"If the Human brain were so simple that we could understand it,
we would be so simple that we couldn't..."
-Emerson M Pugh-

Current project:http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=816&whichpage=1

DISCOVERY: The more I learn, the more I learn how little I know.
GOAL: There's strength in simplicity.
NOTE: Goal not always achieved.
Go to Top of Page

laackejim
Committed Member



USA
3274 Posts

Posted - Sep 07 2006 :  03:40:02  Show Profile
quote:
Originally posted by hologenicman

Hey there,

Give me a hollar if this gets anyone thinking...

John L>
IA|AI



Okay John, this doesn't qualify as a holler because I am coming up with anything. I am lost. I thought I understood the rhythm idea for the circadian rhythms and how that would fit. I thought through the prime numbers etc but at this point I am lost as to function and purpose of the rhythm generator. There are things I recognize from music but ?

Do not take special time from your brain work or more importantly your family to explain to me right now. I will continue to think and if you have a spare hour, get me on straightened out again.

Uncle Jim (e=mc2)
Go to Top of Page

hologenicman
Moderator



USA
3323 Posts

Posted - Sep 07 2006 :  04:19:26  Show Profile  Visit hologenicman's Homepage
quote:
There are things I recognize from music but ?

Jim, this is increadibly funny.

I just sat down at my computer to write a post here about how an understanding of music is the key to understanding the function and application of the numbers in a rhythm engine, and low and behold, I see your post saying the exact very thing.

I am VERY impressed. That is a nice ending to a VERY long day for me...

Anyway, The whole and fractional numbers can be looked at as you would consider the rhythms and frequencies in an orchestra performance.

The Super Low Frequencies(20Hz to 0Hz) and the Repetitious Rhythms(Seconds) and the Short-term Rhythms(Minutes) are just for detecting repeating periods of time. I imagine that you could think of a REALLY big drum machine with a button for each of the numbers presented. Think of it as a keyboard scale for rhythms, except that it detects the rhythms rather than creates them.

Now there are lots of different instruments in the orchestra, but they all interact with this huge rhythm scale.

The funniest thing that I can use as an example is an episode of I Love Lucy or some such show where the actor was a musician in an orchestra and needed to practice. The actor's instrument was the triangle so when the actor began to practice, he just stood there, and stood there, and stood there, until he finally struck his triangle.

Funny scene, but on my rhythm scale, the triangle strike would have corresponded to a specific rhythm "period".

Now, look at the fractional rhythms of Low Frequency(20Hz-200Hz), High Frequency(200Hz-2KHz), Very High Frequency(2KHz-20KHz) and think of these as the pitches that the instruments will be playing at the various rhythm interval periods.

The software does not actually operate at these frequencies, but rather registers the occurrences of these pitches as they occur at intervals. Fast fourrier transform can provide the spectrum of pitches so that the application can register their occurences over rhythm intervals of time...

I realize that this analogy has stayed with sound and music thus far, but it is a small leap of faith/understanding to replace the orchestral instruments with application processes such as key strokes, mouse movements, mouse clicks, camera video movements, animation motions, etc.

Ultimately, each of us is an orchestra of rhythms and pitches. Some combinations produce cacophony, and others produce harmony... now the challenge is to utilize this fact of life in our creation of virtual humans.

John L>
IA|AI



HologenicMan
John A. Latimer
http://www.UniversalHologenics.com

"If the Human brain were so simple that we could understand it,
we would be so simple that we couldn't..."
-Emerson M Pugh-

Current project:http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=816&whichpage=1

DISCOVERY: The more I learn, the more I learn how little I know.
GOAL: There's strength in simplicity.
NOTE: Goal not always achieved.
Go to Top of Page

laackejim
Committed Member



USA
3274 Posts

Posted - Sep 07 2006 :  06:19:24  Show Profile
quote:
Originally posted by hologenicman


Ultimately, each of us is an orchestra of rhythms and pitches. Some combinations produce cacophony, and others produce harmony... now the challenge is to utilize this fact of life in our creation of virtual humans.

John L>
IA|AI


Okay, I got it (I think) I also think I am about to disappoint you. Which I don't want to do but --poop here goes.
1) it is a more comfortable thing to tell time intervals by flow rather than explicit counts. it is more comfortable because it is in the background AND it is "fuzzy" in that it is not precise, but it is accurate.
2)individual pieces can be timed independently and it won't make any difference where the process enters the timing cycle, because the position is inherent in the rising or falling of the rhythm.
3) once an individual human is identified as the current user the rhythm of response compared to his/her "normal" rhythm is a clue to emotional or physical condition.
4) rhythm of response, combined with word pattern of response is a clue to whether the user is who they claim to be.
5) the kind of entity being dealt with can be matched with a rhythm and the time sense of the interaction can be synced. This last has been a worry of mine whenever you mention time as a measure for the Vh. There is simply NO correspondence in time reference in common between human and virtual human. Without this "flavor" or background melody, there is no possibility of real understanding. So this "music" now becomes the time referent that provides the background context for understanding.

Close?

I do grasp the metaphor of "Some combinations produce cacophony, and others produce harmony... " My metaphor is different but similar in that it involves a conceptual translation to something that is sensory. Mine is sound (not music), color, texture and shape

I know, I am nowhere near synced with the metaphor of the universal symphony or the contata of life. I am just too techy. But I do recognize the rhythm of life here in the desert, it is quite a complex and beautiful composition. Punctuated with eagle and hawk cries, Sandhill crane disagreements and the steady whisper or sometimes loud and emphatic statement of the mountain wind. all Flavored with the scent of juniper and sage. and with just enough sharp edges to remind you that all life here is earned and cannot be taken for granted.

How to make a metaphorical translation that fits everyone, that would be the real challenge.

Uncle Jim (e=mc2)

Edited by - laackejim on Sep 07 2006 07:05:18
Go to Top of Page

hologenicman
Moderator



USA
3323 Posts

Posted - Sep 07 2006 :  06:56:18  Show Profile  Visit hologenicman's Homepage
Bingo!

Correct on all counts...

Only one tiny technical correction:
quote:
the position is inherent in the rising or falling of the rhythm.


Except in the special cases of Bio Rhythms and possibly Circadian Rhythms, the number values produced for each of the rhythm periods are generated by using the Modulus of the period.

Since the Modulus is merely the remainder of the division, the value will rise from zero toward the period value and then drop suddenly back to zero. This produces a "saw-toothed" pattern for each of the rhythm period values, and as such there is only a "rising" of the rhythm.

Again, on the other hand, I have worked the Biorhythms and circadian rhythms as sinusoidal to intentionally allow for both the rising AND falling of the values...

John L>
IA|AI



HologenicMan
John A. Latimer
http://www.UniversalHologenics.com

"If the Human brain were so simple that we could understand it,
we would be so simple that we couldn't..."
-Emerson M Pugh-

Current project:http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=816&whichpage=1

DISCOVERY: The more I learn, the more I learn how little I know.
GOAL: There's strength in simplicity.
NOTE: Goal not always achieved.

Edited by - hologenicman on Sep 07 2006 07:01:54
Go to Top of Page

hologenicman
Moderator



USA
3323 Posts

Posted - Sep 07 2006 :  07:08:35  Show Profile  Visit hologenicman's Homepage
Now, we've covered the use of the Rhythm generator for input, but the same concepts are applied for the purposes of producing viable(living) output.

The same rhythms observed from the application's environment can be implemented by the application in it's output.

This is the key to breathing life into the virtual human's interactivity...

John L>
IA|AI

HologenicMan
John A. Latimer
http://www.UniversalHologenics.com

"If the Human brain were so simple that we could understand it,
we would be so simple that we couldn't..."
-Emerson M Pugh-

Current project:http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=816&whichpage=1

DISCOVERY: The more I learn, the more I learn how little I know.
GOAL: There's strength in simplicity.
NOTE: Goal not always achieved.
Go to Top of Page

laackejim
Committed Member



USA
3274 Posts

Posted - Sep 07 2006 :  07:12:10  Show Profile
quote:
Originally posted by hologenicman

Bingo!

Correct on all counts...

Only one tiny technical correction:
quote:
the position is inherent in the rising or falling of the rhythm.


Except in the special cases of Bio Rhythms and possibly Circadian Rhythms, the number values produced for each of the rhythm periods are generated by using the Modulus of the period.

Since the Modulus is merely the remainder of the division, the value will rise from zero toward the period value and then drop suddenly back to zero. This produces a "saw-toothed" pattern for each of the rhythm period values, and as such there is only a "rising" of the rhythm.

Again, on the other hand, I have worked the Biorhythms and circadian rhythms as sinusoidal to intentionally allow for both the rising AND falling of the values...

John L>
IA|AI





I edited my original post a little.

Thanks John, that is a relief. Now, the sawtooth pattern (a relatively common pattern in nature by the way) Does contain the position information. Since there is no information in a single "note", at least two notes (no matter what the wave form) must be held to contain information. The instant drop from peak to bottom is identified in the two adjacent notes and therefore it has as much information as the sine wave concerning position.

Gad can I be a pain. I think I caught it from Grant.

Uncle Jim (e=mc2)

Edited by - laackejim on Sep 07 2006 07:19:41
Go to Top of Page

laackejim
Committed Member



USA
3274 Posts

Posted - Sep 07 2006 :  07:18:28  Show Profile
quote:
Originally posted by hologenicman

The same rhythms observed from the application's environment can be implemented by the application in it's output.

This is the key to breathing life into the virtual human's interactivity...



That Dear Hologen is a given.

Uncle Jim (e=mc2)
Go to Top of Page

hologenicman
Moderator



USA
3323 Posts

Posted - Sep 07 2006 :  07:22:00  Show Profile  Visit hologenicman's Homepage
quote:
I do grasp the metaphor of "Some combinations produce cacophony, and others produce harmony... " My metaphor is different but similar in that it involves a conceptual translation to something that is sensory. Mine is sound (not music), color, texture and shape

If you extend the symphony analogy to cover the rhythms of life, you can see that the Circadian rhythms(hours for days) apply to the daily morning chirping of the birds, the afternoon activities of the prairy dogs, and the evening songs of some other critters.

These are like the actor waiting 24 hours before striking his triangle for his symphony practice session.

We become accustomed to the recurring cycle of these events, and we miss them when they do not recurr as expected.

This analogy extends further to our Friday night rituals and Monday morning recoveries...

I can keep going, but I'm sure you see how these rhythms extend to annual events such as Christmas and so on...

John L>
IA|AI

HologenicMan
John A. Latimer
http://www.UniversalHologenics.com

"If the Human brain were so simple that we could understand it,
we would be so simple that we couldn't..."
-Emerson M Pugh-

Current project:http://www.vrconsulting.it/vhf/topic.asp?TOPIC_ID=816&whichpage=1

DISCOVERY: The more I learn, the more I learn how little I know.
GOAL: There's strength in simplicity.
NOTE: Goal not always achieved.

Edited by - hologenicman on Sep 07 2006 07:22:28
Go to Top of Page

laackejim
Committed Member



USA
3274 Posts

Posted - Sep 07 2006 :  07:27:53  Show Profile
quote:
Originally posted by hologenicman

[I can keep going, but I'm sure you see how these rhythms extend to annual events such as Christmas and so on...

John L>
IA|AI




Uncle Jim (e=mc2)
Go to Top of Page
Page: of 2 Previous Topic Topic Next Topic  
Next Page
 New Topic  Topic Locked
 Printer Friendly
Jump To:
Virtual Humans Forum © V.R.Consulting Go To Top Of Page
This page was generated in 0.26 seconds. Snitz Forums 2000