Exemplo n.º 1
0
def averageAcc(OSCaddress, OSCparams):
    global jerkData, orientation, lastJerk
    jerk = sum([abs(x) for x in OSCparams])
    # ~ print("jerk", jerk)
    if jerk > jerkThreeshold :
        if jerkData is None : jerkData = []
        jerkData.append(jerk)
    else :
        if jerkData and (datetime.now() - lastJerk).total_seconds()>debounce :
            jerk = max(jerkData)
            # ~ print("max ACC :", jerk)
            jerk = (jerk-jerkThreeshold)/(maxJerk-jerkThreeshold) # map to 0~1
            corpusMix = getCorpusPercentages(jerk)
            markov.changeParameter({"potA":corpusMix[0]}) 
            markov.changeParameter({"potB":corpusMix[1]}) 
            markov.changeParameter({"potC":corpusMix[2]}) 
            corpusMix = [int(c*100) for c in corpusMix]
            print("swing detected : %.02f -> low %i, mid %i, high %i" % (jerk*100,corpusMix[0], corpusMix[1], corpusMix[2] ))
            # ~ print("X:",OSCparams[0], " Y:", OSCparams[1], "Z:", OSCparams[2],"\n")
            # ~ markov.changeParameter({"start":True})
            markov.generateText()
            jerkData = None
            lastJerk = datetime.now()
        else : return
Exemplo n.º 2
0
def generate_post_body(sub='relationships', order=15, length=500):
    ''' generate a post body given a subreddit, sample length and title length'''
    text = body_string(sub)
    post = markov.generateText(text, order, length) 
    return post + '...'
Exemplo n.º 3
0
def generate_post_title(sub='relationships', order=6, length =120):
    ''' generate a post title given a subreddit, sample length and title length'''
    text = title_string(sub)
    post = markov.generateText(text, order, length)
    return post
Exemplo n.º 4
0
 audioFiles = glob.glob(audioFolder + "/*.wav")
 audioFiles += glob.glob(audioFolder + "/*.WAV")
 print("audio files availables :", audioFiles)
 wasButtonPressed = leds.readButton()
 shutdownTimer = None
 randomWavTimer = datetime.now() + timedelta(seconds=randomInterval)
 try:
     while True:
         if debug:
             selectedFile = audioFiles[random.randint(
                 0,
                 len(audioFiles) - 1)]
             audio.play(selectedFile)
             print("playing random sample", selectedFile)
             time.sleep(10)
             markov.generateText(300)
             time.sleep(20)
         else:
             isButtonPressed = leds.readButton()
             if isButtonPressed:
                 if not wasButtonPressed:  # the button is pressed for the first time
                     print("button is pushed")
                     shutdownTimer = datetime.now() + timedelta(
                         seconds=5
                     )  #if maintained 5sec, it will shut the pi down
                     markov.generateText(300)
                 elif shutdownTimer and datetime.now() > shutdownTimer:
                     audio.isPlaying = False
                     markov.readTextToSpeech(random.choice(byeMessages))
                     time.sleep(5)
                     # exitCleanly(shutdown=True)
Exemplo n.º 5
0
    return bigram


# Function to get the 2nd order conditional data from trigram_counts data
def getTrigram(trigramFile):
    trigram = []
    with open(trigramFile, "r") as fp:
        for i in list(fp):
            tmp = i.split()
            try:
                trigram.append((int(tmp[0]), int(tmp[1]), int(tmp[2]),
                                pow(10, float(tmp[3]))))
            except:
                pass

    return trigram


vocab = fileToWords(vocabFile)
# Get all words from vocab.txt file
unigram = getUnigram(unigramFile)
# Get unigram probabilities from unigram.txt file
bigram = getBigram(bigramFile)
# Get bigram conditional probabilities from bigram.txt file
trigram = getTrigram(trigramFile)
# Get trigram conditional probabilities from trigram.txt file

markov = markov.MarkovModel(vocab, unigram, bigram, trigram)
markov.generateText()