npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

myow

v0.1.7

Published

Myow is an easy way to use machine learning with the Myo, as an input device for Wekinator.

Downloads

16

Readme

myow

Myow (probably pronounced meow) is a command-line tool used to hook up the Myo armband as an input to Wekinator.

There is nothing complicated going on here. Wekinator expects incoming data on a specified OSC port. The Myo broadcasts websocket events with data from its sensors. Myow simply listens for the websocket data using myo.js and translates them to appropriate OSC messages using osc.js.

Basic instructions below, and checkout the basic tutorial.

Installation

Install the package globally via npm:

$ npm install -g myow

Usage

Note: myow requires Myo Connect to be running.

Look at the help output:

$ myow --help

  Usage: myow [options] [input]

  Send data from Myo to Wekinator.

  Input value can be one of [accelerometer|orientation|gyroscope|emg|imu] (default: imu)

  Options:

    -h, --help         output usage information
    -V, --version      output the version number
    --outhost [value]  The host on which to send OSC data (default: 127.0.0.1)
    --outport [n]      The port on which to send OSC data (default: 6448)
    --inhost [value]   The host on which to receive OSC data, if --receive-osc argument is present (default: 127.0.0.1)
    --inport [n]       The port on which to receive OSC data, if --receive-osc argument is present (default: 12000)
    -r, --receive-osc  If present, listen for OSC messages on --inport
    -l, --log          Log osc in/out to console.
    --login            Log osc input only to console.
    --logout           Log osc output only to console.

The [input] value lets us specify what stream of data to pass along to Wekinator. By default, it will use imu, which is a 10-dimensional vector composed of accelerometer, gyroscope, and orientation data. You can narrow down that data stream by specifying accelerometer, gyroscope, or orientation as the input. If you wish to use raw 8-dimensional EMG data, use emg as the input.

If you're not using the default hosts/ports in Wekinator, you can use the optional arguments to set custom values.

Examples

Start sending OSC messages containing all imu (inertial measurement unit) data to /wek/inputs using the default ports with no input/output logging:

$ myow

The imu data looks like: [ -0.52392578125, -0.0126953125, 0.76611328125, 8.1875, 81.1875, 3.0625, 0.59625244140625, -0.19793701171875, 0.16851806640625, 0.75946044921875 ]

Maybe we only want to use orientation data and log all outgoing OSC messages:

$myow -l orientation

Then we'll be sending only the last four elements of the imu data along: [0.59625244140625, -0.19793701171875, 0.16851806640625, 0.75946044921875 ]

Logging OSC messages

It can be helpful to inspect the stream of messages that are being sent and received via OSC. You can use --login, --logout, and -l to view input, output, and both message types, respectively.

By default myow will not listen for incoming OSC messages, so as not to interfere with any other applications you have set up to handle output from Wekinator. If you with to inspect what Wekinator is sending out, you can tell myow to receive OSC using the -r flag.

$ myow --login -r orientation