Skip to content

Instantly share code, notes, and snippets.

@ksasao
ksasao / TweLiteTestForm.cs
Last active August 29, 2015 14:01
socket.io 経由で TWE-Lite DIP のデータを取得して、MIDI ファイルを再生するサンプル。app.js と index.html を同じフォルダに置いて node app.js で起動して http://localhost:3000 を叩くとブラウザで動作を確認できます。SocketIO4Net.Client を利用した Windows Forms 版クライアントも追加。ブラウザは Internet Explorer を想定 (.mid のURLを指定すると自動で Windows Media Player を起動して演奏するため)。MIDIファイルは http://mpga.jp/data/ofuro.mid からどうぞ。ポケットミク用です。ライセンスは WTFP…
using SocketIOClient;
using System;
using System.Windows.Forms;
namespace SocketIOCs
{
public partial class Form1 : Form
{
// nuget で SocketIO4Net.Client を追加
Client sc = new Client(@"http://localhost:3000");
@ksasao
ksasao / CascadeClassifier.h
Last active August 29, 2015 14:01
C# から 顔認識によく用いられる OpenCV 2.4 の CascadeClassifier をつかうための C++/CLI のコード。System.Drawing の Bitmap が利用可能です。C++/CLI のプロジェクトを作ったら、まず System::Drawing の参照設定を行い、その後 nuget で OpenCV を追加してください。逆だとうまく参照設定できないようです (Visual Studio 2012, 2013)。このコードで作成した DLL のほかに、opencv_core24x.dll, opencv_highgui24x.dll, opencv_imgproc24x.dll, opencv_objdetect24x.dll だけあればうごきます。
#pragma once
#include <opencv2/opencv.hpp>
using namespace System;
using namespace System::Drawing;
using namespace System::Collections::Generic;
namespace OpenCv {
@ksasao
ksasao / kanmusuface.xml
Created June 20, 2014 15:14
艦娘の顔を検出するための学習データです。このデータだけでは艦娘の名前を特定(認識)することはできません。OpenCV の CascadeClassifier 互換です。ライセンスは WTFPL です。
<?xml version="1.0"?>
<opencv_storage>
<cascade>
<stageType>BOOST</stageType>
<featureType>HAAR</featureType>
<height>24</height>
<width>24</width>
<stageParams>
<boostType>GAB</boostType>
<minHitRate>9.9500000476837158e-001</minHitRate>
@ksasao
ksasao / gist:9a078c7cd950b11bb21e
Last active August 29, 2015 14:04
MicroView で画像を表示するためのサンプルコードです。画像データの形式は https://github.com/geekammo/MicroView-Arduino-Library/blob/master/MicroView.cpp 等を参照してください。ライセンスは WTFPL です。
#include <MicroView.h>
static uint8_t buffer [384] = {3,140,33,148,0,218,34,148,106,18,128,42,192,202,22,160,22,104,22,160,216,2,160,22,108,128,30,224,22,72,178,4,234,20,138,0,126,0,14,160,222,24,82,206,40,34,84,150,0,168,0,134,56,198,40,66,158,32,24,226,2,0,106,244,0,0,254,128,0,127,128,42,245,0,96,60,163,158,216,64,93,91,80,215,29,184,226,1,156,98,168,69,218,37,218,37,194,60,64,60,195,216,46,11,175,47,46,105,11,212,157,176,98,48,24,205,70,168,2,73,144,34,0,90,163,20,64,30,0,128,30,229,24,193,22,104,253,8,224,251,253,126,255,4,127,253,163,255,0,239,255,254,253,254,253,243,238,221,191,109,127,243,220,255,223,255,196,4,255,241,235,127,0,254,254,252,251,0,136,119,136,83,172,0,1,64,191,0,131,236,129,16,0,74,48,67,28,226,10,168,99,140,63,239,255,119,255,223,254,236,253,254,190,255,239,255,255,254,239,127,251,127,127,127,127,254,125,127,223,253,255,239,254,222,254,246,127,239,253,255,135,240,63,12,227,26,128,2,16,100,3,12,0,255,247,127,0,37,144,165,136,80,39,24,42,71,184,193,3,15,31,63,62,111,255,255,223,253,247,
@ksasao
ksasao / playmovie
Last active August 29, 2015 14:04
MicroView で動画を表示するためのサンプルコードです。実行結果 https://twitter.com/ksasao/status/492722427005513729 。ソースコ0ード中には動画データは含まれていません。画像データの形式は https://github.com/geekammo/MicroView-Arduino-Library/blob/master/MicroView.cpp 等を参照してください。動画対応するため、プログラム領域 (Flash Memory) にデータを格納しています。ライセンスは WTFPL です。
#include <MicroView.h>
#include <avr/pgmspace.h>
const int IMAGES = 50;
PROGMEM const prog_uchar movie[384*IMAGES] = {
// put image data here...
};
uint8_t buf[384];
@ksasao
ksasao / gist:e336f88e1d029aa573e0
Last active July 18, 2020 23:30
Vuzix M100 v1.0.8 Voice Recognition sample. License: WTFPL.
// <uses-permission android:name="android.permission.RECORD_AUDIO"/>
package jp.mpga.voicerecognitionsample;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.speech.RecognitionListener;
import android.speech.RecognizerIntent;
@ksasao
ksasao / EdgeJsTest.cs
Last active July 2, 2017 11:11
Edge.js ( https://github.com/tjanczuk/edge ) をつかって C# で Node.js の HTTPサーバをホストするサンプルコード。nuget で Edge.js をインストールしてください。.NET Framework 4.5 または Mono 3.4.0 が必要です。License: WTFPL 実行結果: https://twitter.com/ksasao/status/546691740199960576
using EdgeJs;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace EdgeJsTest
{
class Program
{
public static async void Start()
@ksasao
ksasao / PepperTalk.py
Last active August 29, 2015 14:13
Windowsのコマンドプロンプトから文字列を入力してPepperにしゃべらせるサンプル。Pepper用のPythonライブラリについては http://qiita.com/Atelier-Akihabara/items/3289e60985586b8da709 を参照。License: WTFPL
# -*- coding: utf-8 -*-
from naoqi import ALProxy
animSpeech = ALProxy('ALAnimatedSpeech', "192.168.1.10", 9559)
while 1:
data = raw_input()
p = unicode(data, 'shift-jis').encode('utf-8')
sentence = "\RSPD="+ str( 100 ) + "\ "
sentence += "\VCT="+ str( 120 ) + "\ "
sentence += str(p)
@ksasao
ksasao / PepperTalkOnce.py
Created January 17, 2015 08:13
PowerPoint 2013 のノート部分をPepperさんに読み上げてもらう最小限のコード。License: WTFPL
# -*- coding: utf-8 -*-
import sys
from naoqi import ALProxy
data = sys.argv[1]
animSpeech = ALProxy('ALAnimatedSpeech', "192.168.1.10", 9559)
p = unicode(data, 'shift-jis').encode('utf-8')
sentence = "\RSPD="+ str( 100 ) + "\ "
@ksasao
ksasao / PepperTalkOnce.py
Last active March 12, 2019 11:59
PowerPoint 2013 のノート部分をPepperさんに読み上げてもらう最小限のコード。C#のコードは Visual Studio 2013 のテンプレートから PowerPoint 2013 アドオン を選択して作成し、下記のコードに置き換える。Pythonのコードは Windows上に配置しPowerPointアドインから呼び出す。UTF-8 で保存すること。別途 Python NAOqi SDK をコミュニティサイトからダウンロードする。参考画像 https://twitter.com/ksasao/status/556364972574265346 License: WTFPL
# -*- coding: utf-8 -*-
import sys
from naoqi import ALProxy
data = sys.argv[1]
animSpeech = ALProxy('ALAnimatedSpeech', "(PepperのIPアドレス)", 9559)
p = unicode(data, 'shift-jis').encode('utf-8')
sentence = "\RSPD="+ str( 100 ) + "\ "