15. Web Audio API
・音声を処理、合成するためのWebアプリケーション向けHTML5
JavaScript API
・音源を「再生」するのではなく「音源」として解釈し、ピッチの
調整、フィルター、PANNING等が可能。
・音波から作りこむような仕様の為、シンセサイザーの基礎知識が
無いとハードルが高い
・ラップライブラリが出てきて使いやすくなった
https://github.com/goldfire/howler.js/tree/2.0
Ⓒ Classmethod, Inc.
15
21. Cognito 認証
var AWS = require('aws-sdk');
var awsRegion = "us-east-1";
var cognitoParams = {
AccountId: "XXXXXXXXXXXX",
RoleArn: "arn:aws:iam::XXXXXXXXXXXX:role/Cognito_demo09_DefaultRole",
IdentityPoolId: "us-east-1:XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
};
AWS.config.region = awsRegion;
AWS.config.credentials = new AWS.CognitoIdentityCredentials(cognitoParams);
AWS.config.credentials.get(function(err) {
…………後略
Ⓒ Classmethod, Inc.
21
22. Lambda
var aws = require('aws-sdk');
var kinesis = new aws.Kinesis({region:'us-east-1'});
var sqs = new aws.SQS({region:'us-east-1'});
exports.handler = function(event, context) {
for(i = 0; i < event.Records.length; ++i) {
encodedPayload = event.Records[i].kinesis.data;
payload = [ごにょごにょと変換処理]
}
var params = {
MessageBody: payload,
QueueUrl: 'https://sqs.us-east-1.amazonaws.com/xxxxxxxxxx/Demono9',
DelaySeconds: 0,
};
sqs.sendMessage(params, function(err, data) {
…………後略
Ⓒ Classmethod, Inc.
22
23. howler.js
// Setup the sounds to be used.
var sound1 = new Howl({
src: ['Presto.m4a'],
html5: false
});
var playing = false;
// Define the tests to run.
var id;
var webaudio = [
function(fn) {
sound1.once('play', function() {
//label.innerHTML = 'PLAYING';
playing = true;
setTimeout(fn, 20000);
});
id = sound1.play();
sound1.pos(0,0,0);
…………後略
Ⓒ Classmethod, Inc.
23
24. LeapJS
// Main Leap Loop
Leap.loop(options, function(frame) {
// Showcase some new V2 features
for (var i = 0, len = frame.hands.length; i < len; i++) {
hand = frame.hands[i];
for (var j = 0, len2 = hand.fingers.length; j < len2; j++) {
finger = hand.fingers[j];
if (i == 0 && j == 2 && playing){
x = Math.sin(finger.dipPosition[0] / 250);
y = -Math.cos(finger.dipPosition[0] / 250);
if (x > 1){
x = 1
}
if (y < -1){
y = -1;
}
sound1.pos(x,0,y);
start.style.marginLeft = Math.round(finger.dipPosition[0] * 3) + 'px';
sound1.volume(finger.dipPosition[1] / 400);
…………後略
Ⓒ Classmethod, Inc.
24