Example #1
0
    def get(self):
        filename = self.get_argument("filename", None)
        f1, f2 = features.strip(filename)
        feature_names = ['amp1mean','amp1std','amp1skew','amp1kurt',
                         'amp1dmean','amp1dstd','amp1dskew','amp1dkurt',
                         'amp10mean','amp10std','amp10skew','amp10kurt',
                         'amp10dmean','amp10dstd','amp10dskew','amp10dkurt',
                         'amp100mean','amp100std','amp100skew','amp100kurt',
                         'amp100dmean','amp100dstd','amp100dskew','amp100dkurt',
                         'amp1000mean','amp1000std','amp1000skew','amp1000kurt',
                         'amp1000dmean','amp1000dstd','amp1000dskew','amp1000dkurt',
                         'power1','power2','power3','power4','power5',
                         'power6','power7','power8','power9','power10']
        f1_json = zip(feature_names, f1)
        f2_json = zip(feature_names, f2)
        json_dict = tornado.escape.json_encode(dict(f1=dict(f1_json), f2=dict(f2_json)))

        # Sooooo not the best - or even a good - way to do this, but it is "A" way...
        f = open("input.json", "w")
        f.write(json_dict)
        f.close()
        run_bash("""java  -classpath .:lib/NeticaJ.jar:lib/jackson-all-1.9.7.jar -Djava.library.path=lib NetworkFeed""")
        o = open("output.json", "r")
        json_output = o.read()
        o.close()

        print json_output

        self.write (json_output)
Example #2
0
def main():
    print "Beginning feature strip"
    song_count = dict()
    db = MySQLdb.connect(host="localhost", user="******", passwd="", db="genrebot")
    cursor = db.cursor()
    basepath = "/Users/Atta/Desktop/songs/"
    directory = os.listdir(basepath)
    for genre in directory:
        print "---NOW STARTING {0} SONGS---".format(genre.upper())
        # Get the id in the db for the genre
        cursor.execute("""Select id from Genres where name = %s""", (genre))
        song_count[genre] = 0
        genre_id = cursor.fetchone()[0]
        genre_path = os.path.join(basepath, genre)
        genre_dir = os.listdir(genre_path)
        for song in genre_dir:
            # Remove the .DS_Store file and our special output.wav file, Quick and Dirty style
            if (song != ".DS_Store" and song != "output.wav"):
                song_count[genre] += 1 
                print "Current Song is: " + os.path.join(genre_path, song)
                f1, f2 = features.strip(os.path.join(genre_path, song), genre_path)
                # Add ALL the features to the database!
                cursor.execute("INSERT INTO features (title,genre,amp1mean,amp1std,amp1skew,amp1kurt,amp1dmean,amp1dstd,amp1dskew,"
                                  "amp1dkurt,amp10mean,amp10std,amp10skew,amp10kurt,amp10dmean,amp10dstd,amp10dskew,"
                                  "amp10dkurt,amp100mean,amp100std,amp100skew,amp100kurt,amp100dmean,amp100dstd,"
                                  "amp100dskew,amp100dkurt,amp1000mean,amp1000std,amp1000skew,amp1000kurt,amp1000dmean,"
                                  "amp1000dstd,amp1000dskew,amp1000dkurt,power1,power2,power3,power4,power5,power6,power7,power8,power9,power10)"
                                "VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",
                                (song, genre_id) + tuple(f1))
                cursor.execute("INSERT INTO features (title,genre,amp1mean,amp1std,amp1skew,amp1kurt,amp1dmean,amp1dstd,amp1dskew,"
                                  "amp1dkurt,amp10mean,amp10std,amp10skew,amp10kurt,amp10dmean,amp10dstd,amp10dskew,"
                                  "amp10dkurt,amp100mean,amp100std,amp100skew,amp100kurt,amp100dmean,amp100dstd,"
                                  "amp100dskew,amp100dkurt,amp1000mean,amp1000std,amp1000skew,amp1000kurt,amp1000dmean,"
                                  "amp1000dstd,amp1000dskew,amp1000dkurt,power1,power2,power3,power4,power5,power6,power7,power8,power9,power10)"
                                "VALUES (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s)",
                                (song, genre_id) + tuple(f2))
                print "Finished!"
    print "All done!"
    print "Total Song Counts:"
    for genre in song_count:
        print "{0} Songs: {1}".format(genre.upper(), song_count[genre])