-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.html
161 lines (152 loc) · 9.54 KB
/
index.html
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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
---
layout: default
---
{% include header.html %}
<hr class="secondary"> <!-- add a line-->
<!-- ABOUT -->
<section class="bg-primary" id="about">
<div class="container">
<div class="col-lg-12 col-lg-offset-0 text-justify">
<h2 class="section-heading">About the EVERTims project</h2>
<!-- <hr class="light"> -->
<!-- add a line-->
<br>
<p class="text-faded">EVERTims is an open source framework for 3D models auralization, providing real-time feed-back on the would be acoustics of any given room during its creation.
<p>
<p class="text-faded">
The framework is based on three components: a <a class="text-faded link-on-primary-bg" href="https://www.blender.org/">Blender</a> add-on, a C++ raytracing client and a <a class="text-faded link-on-primary-bg" href="https://www.juce.com/">JUCE</a> auralization engine. While designing the 3D room model in Blender, the add-on continuously uploads geometry and materials details to the raytracing client. Based on these information, the client simulates how acoustic waves propagates there, from sources to listeners objects positioned in the Blender scene. The results of this simulation are then sent to the auralization engine that reconstructs the Ambisonic sound field as experienced at any given listener's position for binaural listening. The framework also takes advantage of the Blender Game Engine to support in-game auralization for a final interactive exploration of the designed model.
</p>
<div class="hidden-xs">
<img src="{{ site.baseurl }}/img/architecture-framework.png" class="img-responsive" alt="">
</div>
<p class="text-faded">
EVERTims was originally developed as a collaboration between <a class="text-faded link-on-primary-bg" href="https://www.limsi.fr/fr/recherche/aa/menuitem-aa-themes-fr/aa-item-theme-sonespace">LIMSI/CNRS</a> and the <a class="text-faded link-on-primary-bg" href="https://mediatech.aalto.fi/en/">TKK/Department of Media Technology</a>. It has now become a joint effort between researchers there and at the <a class="text-faded link-on-primary-bg" href="http://www.ircam.fr/">IRCAM</a> institute.
</p>
<div class="col-xs-12 text-center">
<h4 class="section-heading">Demo Reel</h4>
</div>
<div class="embed-responsive embed-responsive-16by9 col-xs-12">
<iframe class="embed-responsive-item" style="border: 2px solid #b4b4b4;" src="https://www.youtube.com/embed/3ioee0xmOlY" frameborder="0" allowfullscreen></iframe>
</div>
<h2 class="section-heading"> </h2>
<div class="col-xs-12 text-center">
<h4 class="section-heading">Sneak peek on v0.3 updates</h4>
</div>
<div class="embed-responsive embed-responsive-16by9 col-xs-12">
<iframe class="embed-responsive-item" style="border: 2px solid #b4b4b4;" src="https://www.youtube.com/embed/EJ-GHdC7-eo" frameborder="0" allowfullscreen></iframe>
</div>
</div>
</div>
</section>
<!-- FRAMEWORK FEATURES -->
<section class="bg-secondary" id="feature-raytracing">
<div class="container">
<div class="row">
<div class="col-xs-9 text-left text-justify">
<h2 class="section-heading">Raytracing Client</h2>
<p>
The raytracing client is a C++ real-time beam tracing standalone, based on the EVERT library that provides a beam-tree for any given source / geometry configuration which maximum depth depends on a required reflection order. It uses an iterative refinement procedure: whenever a change of geometry or sound source position occurs, an approximate beam-tree is constructed up to the minimum (parametrized) allowed reflection order. The paths visible by the listener are then sent to the auralization engine while the system continues to compute the solution up to the next reflection order until the chosen maximum order is reached.
</p>
</div>
<div class="col-xs-3 text-center">
<h2 class="section-heading"> </h2>
<img src="{{ site.baseurl }}/img/front-illustration-raytracing.png" class="img-responsive" alt="">
</div>
</div>
</div>
</section>
<section class="bg-primary" id="feature-auralization">
<div class="container">
<div class="row">
<div class="col-xs-3 text-center">
<img src="{{ site.baseurl }}/img/front-illustration-auralization.png" class="img-responsive" alt="">
</div>
<div class="col-xs-9 text-right text-justify">
<h2 class="section-heading">Auralization Engine</h2>
<p>
The auralization engine also comes as a C++ standalone, developed with the JUCE framework. From the raytracing client, it receives direction of arrivals and paths length for each beam (impinging the listener), along with octave band absorption coefficients relative to the materials on which the beam bounced during its propagation. To each beam is associated a new audio stream, tapped-out of a delay line (further delayed and attenuated as the aforementioned path length grows) and encoded on a set of Ambisonic channels (with spherical harmonics weights issued from its direction of arrival) before being summed with its peers. Octave band filters are applied prior to the Ambisonic encoding to account for beam-specific absorption. The resulting Ambisonic field is then decoded on a set of virtual speaker for binaural listening.
</p>
</div>
</div>
</div>
</section>
<section class="bg-secondary" id="feature-visualization">
<div class="container">
<div class="row">
<div class="col-xs-9 text-left text-justify">
<h2 class="section-heading">Blender Add-on</h2>
<p>The framework uses Blender as its main interface. The EVERTims add-on sits on Blender tool-shelf, allowing to define 3D objects as EVERTims elements (room, source, listener, etc.) and launch both raytracing client and auralization engine (as python subprocesses). Any user modification on room's mesh and material triggers automatic uploads to the raytracing client, as do sources and listeners re-locations and re-orientations. The add-on seamlessly runs in the Game Engine to provide real-time auralization during the final exploration of the virtual model.</p>
</div>
<div class="col-xs-3 text-center">
<h2 class="section-heading"> </h2>
<img src="{{ site.baseurl }}/img/front-illustration-blender-addon.png" class="img-responsive" alt="">
</div>
</div>
</div>
</section>
<!-- GETTING STARTED -->
{% include getting-started.html %}
<!-- GALLERY -->
<section class="bg-secondary" id="gallery">
<div class="container">
<div class="row">
<div class="col-lg-12 col-lg-offset-0 text-center">
<h2 class="section-heading">Gallery</h2>
<!-- <hr class="light"> -->
<p>Other used it, have a look at their projects</p>
</div>
</div>
</div>
<div class="container-fluid">
<div class="row no-gutter">
<div class="col-sm-4">
<a href="{{ site.baseurl }}/pages/building.html" class="portfolio-box">
<img src="{{ site.baseurl }}/img/project-preview-1.png" class="img-responsive" alt="">
<div class="portfolio-box-caption">
<div class="portfolio-box-caption-content">
<div class="project-category text-faded">
Project
</div>
<div class="project-name">
work in progress..
</div>
</div>
</div>
</a>
</div>
<div class="col-sm-4">
<a href="{{ site.baseurl }}/pages/building.html" class="portfolio-box">
<img src="{{ site.baseurl }}/img/project-preview-2.png" class="img-responsive" alt="">
<div class="portfolio-box-caption">
<div class="portfolio-box-caption-content">
<div class="project-category text-faded">
Project
</div>
<div class="project-name">
work in progress..
</div>
</div>
</div>
</a>
</div>
<div class="col-sm-4">
<a href="{{ site.baseurl }}/pages/building.html" class="portfolio-box">
<img src="{{ site.baseurl }}/img/project-preview-3.png" class="img-responsive" alt="">
<div class="portfolio-box-caption">
<div class="portfolio-box-caption-content">
<div class="project-category text-faded">
Project
</div>
<div class="project-name">
work in progress..
</div>
</div>
</div>
</a>
</div>
</div>
</div>
</section>
{% include license.html %}
{% include references.html %}
{% include contact.html %}