-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathabout.html
More file actions
78 lines (71 loc) · 4.07 KB
/
about.html
File metadata and controls
78 lines (71 loc) · 4.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<title>libmapper: a library for connecting things</title>
<link rel="icon" type="image/x-icon" href="/images/favicon.ico">
<link rel="stylesheet" href="stylesheets/styles.css">
<link rel="stylesheet" href="stylesheets/pygment_trac.css">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<script type="text/javascript" src="./javascripts/jquery-3.5.1.min.js"></script>
</head>
<body>
<div class="wrapper">
<div id="header">
</div>
<section>
<h2>What is libmapper?</h2>
<p>libmapper is an open-source, cross-platform software library for declaring data signals
on a shared network and enabling arbitrary connections to be made between them.
libmapper creates a distributed mapping system/network, with no central points of
failure, the potential for tight collaboration and easy parallelization of media
synthesis. The main focus of libmapper development is to provide tools for creating and
using systems for interactive control of media synthesis.</p>
<h2>Motivation</h2>
<p>Open Sound Control (OSC) has been adopted by the academic and experimental-music
communities for interactive media programming due to its flexibility in representing
control data, strong semantics/human-readability, precise time-tagging, etc.
Unfortunately, different projects utilizing OSC are rarely protocol-compatible. Many
proposals have been made for creating standardized address-spaces/schemas to enable
intercommunication, but we believe this is the wrong approach since it destroys the most
powerful and useful aspect of OSC – the flexibility it allows for each
user/designer/programmer to represent control signals and structures according to their
specific needs or desires.</p>
<p>libmapper takes a different approach: instead of enforcing preset schemas we provide
simple, distributed discovery and description; instead of address standardization we
provide automatic translation; instead of normalization we provide automatic scaling...
but that’s not all!</p>
<p>In addition to the flexibility of data-representation provided by Open Sound Control,
libmapper provides:</p>
<ul>
<li>automatic negotiation for resources (e.g. ports, unique names)</li>
<li>automatic peer discovery</li>
<li>a semantic abstraction of the networking layer (make connections between devices and
signals by name rather than having to manually set namespaces/IP addresses/ports</li>
<li>description, including extensible properties as key-value pairs</li>
<li>automatic translation of OSC addresses between peers</li>
<li>automatic type coercion & linear scaling between peers</li>
<li>arbitrary signal processing within connections, including FIR and IIR filtering</li>
<li>remote connection management for persistence, automatic recovery, session management,
saving and loading mapping configurations</li>
<li>the ability to query or stream the current value of remote destinations, enabling the
use of supervised machine learning techniques for mapping</li>
<li>a powerful abstraction of signal “instances”, supporting arbitrary interconnection of
polyphonic media synthesizers, multitouch interfaces, tangible interfaces,
computer-vision blob-tracking algorithms, etc.</li>
</ul>
<p>libmapper creates a distributed mapping system/network, with no central points of
failure, the potential for tight collaboration and easy parallelization of media
synthesis.</p>
</section>
</div>
</body>
<script>
window.onload = function() {
$("#header").load("./sidebar.html");
};
</script>
</html>