Help
RSS
API
Feed
Maltego
Contact
Domain > reverbjs.org
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2015-12-19
54.231.80.34
(
ClassC
)
2025-08-02
52.217.85.83
(
ClassC
)
Port 80
HTTP/1.1 200 OKx-amz-id-2: 9vzNoI8oWJw1+4YvjgPkL55AbWsGf+vzHS/+eLmgHsLWPdkpM4zKggY+cKGqojZYFgddA/jvYSox-amz-request-id: 2H1DQZH2A6FM9BJPDate: Sat, 02 Aug 2025 01:26:31 GMTLast-Modified: Tue, 05 Jan 2016 02:03:10 GMTETag: a69a4c458d18c31a76a4c0070912185bContent-Type: text/htmlContent-Length: 110098Server: AmazonS3 !doctype html>html> head> meta charsetutf-8> title>Reverb.js/title> !-- Disable word wrapping for best readability --> link hrefdata:image/x-icon;base64,AAABAAEAEBAAAAAAAABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAAAEAAAAAAAAAAAAAAAEAAAAAAAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA relicon typeimage/x-icon /> style>/*! The MIT License (MIT)Copyright (c) Sindre Sorhus sindresorhus@gmail.com> (sindresorhus.com)https://github.com/sindresorhus/github-markdown-css */@font-face {font-family: icon-anchor; src: url(data:font/woff;charsetutf-8;base64,d09GRgABAAAAAAYcAA0AAAAACjQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABMAAAABwAAAAca8vGTk9TLzIAAAFMAAAARAAAAFZG1VHVY21hcAAAAZAAAAA+AAABQgAP9AdjdnQgAAAB0AAAAAQAAAAEACICiGdhc3AAAAHUAAAACAAAAAj//wADZ2x5ZgAAAdwAAADRAAABEKyikaNoZWFkAAACsAAAAC0AAAA2AtXoA2hoZWEAAALgAAAAHAAAACQHngNFaG10eAAAAvwAAAAQAAAAEAwAACJsb2NhAAADDAAAAAoAAAAKALIAVG1heHAAAAMYAAAAHwAAACABEAB2bmFtZQAAAzgAAALBAAAFu3I9x/Nwb3N0AAAF/AAAAB0AAAAvaoFvbwAAAAEAAAAAzBdyYwAAAADP2IQvAAAAAM/bz7t4nGNgZGFgnMDAysDB1Ml0hoGBoR9CM75mMGLkYGBgYmBlZsAKAtJcUxgcPsR8iGF2+O/AEMPsznAYKMwIkgMA5REMOXicY2BgYGaAYBkGRgYQsAHyGMF8FgYFIM0ChED+h5j//yEk/3KoSgZGNgYYk4GRCUgwMaACRoZhDwCs7QgGAAAAIgKIAAAAAf//AAJ4nHWMMQrCQBBF/0zWrCCIKUQsTDCL2EXMohYGSSmorScInsRGL2DOYJe0Ntp7BK+gJ1BxF1stZvjz/v8DRghQzEc4kIgKwiAppcA9LtzKLSkdNhKFY3HF4lK69ExKslx7Xa+vPRVS43G98vG1DnkDMIBUgFN0MDXflU8tbaZOUkXUH0+U27RoRpOIyCKjbMCVejwypzJJG4jIwb43rfl6wbwanocrJm9XFYfskuVC5K/TPyczNU7b84CXcbxks1Un6H6tLH9vf2LRnn8Ax7A5WQAAAHicY2BkYGAA4teL1+yI57f5ysDNwgAC529f0kOmWRiYVgEpDgYmEA8AUzEKsQAAAHicY2BkYGB2+O/AEMPCAAJAkpEBFbAAADgKAe0EAAAiAAAAAAQAAAAEAAAAAAAAKgAqACoAiAAAeJxjYGRgYGBhsGFgYgABEMkFhAwM/xn0QAIAD6YBhwB4nI1Ty07cMBS9QwKlQapQW3VXySvEqDCZGbGaHULiIQ1FKgjWMxknMfLEke2A+IJu+wntrt/QbVf9gG75jK577Lg8K1qQPCfnnnt8fX1NRC/pmjrk/zprC+8D7tBy9DHgBXoWfQ44Av8t4Bj4Z8CLtBL9CniJluPXASf0Lm4CXqFX8Q84dOLnMB17N4c7tBo1AS/Qi+hTwBH4rwHHwN8DXqQ30XXAS7QaLwSc0Gn8NuAVWou/gFmnjLrEaEh9GmDdDGgL3B4JsrRPDU2hTOiMSuJUIdKQQayiAth69r6akSSFqIJuA19TrzCIaY8sIoxyrNIrL//pw7A2iMygkX5vDj+G+kuoLdX4GlGK/8Lnlz6/h9MpmoO9rafrz7ILXEHHaAx95s9lsI7AHNMBWEZHULnfAXwG9/ZqdzLI08iuwRloXE8kfhXYAvE23+23DU3t626rbs8/8adv+9DWknsHp3E17oCf+Z48rvEQNZ78paYM38qfk3v/u3l3u3GXN2Dmvmvpf1Srwk3pB/VSsp512bA/GG5i2WJ7wu430yQ5K3nFGiOqgtmSB5pJVSizwaacmUZzZhXLlZTq8qGGFY2YcSkqbth6aW1tRmlaCFs2016m5qn36SbJrqosG4uMV4aP2PHBmB3tjtmgN2izkGQyLWprekbIntJFing32a5rKWCN/SdSoga45EJykyQ7asZvHQ8PTm6cslIpwyeyjbVltNikc2HTR7YKh9LBl9DADC0U/jLcBZDKrMhUBfQBvXRzLtFtjU9eNHKin0x5InTqb8lNpfKv1s1xHzTXRqgKzek/mb7nB8RZTCDhGEX3kK/8Q75AmUM/eLkfA+0Hi908Kx4eNsMgudg5GLdRD7a84npi+YxNr5i5KIbW5izXas7cHXIMAau1OueZhfj+cOcP3P8MNIWLyYOBuxL6DRylJ4cAAAB4nGNgYoAALjDJyIAOWMCiTIxMLDmZedkABtIBygAAAA) format(woff);}.markdown-body hr:after,.markdown-body hr:before{display:table;content:}.markdown-body{-webkit-text-size-adjust:100%;text-size-adjust:100%;color:#333;font-family:Helvetica Neue,Helvetica,Segoe UI,Arial,freesans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.6;word-wrap:break-word;box-sizing:border-box;min-width:200px;max-width:980px;margin:0 auto;padding:45px}.markdown-body ol,.markdown-body td,.markdown-body th,.markdown-body ul{padding:0}.markdown-body strong{font-weight:700}.markdown-body h1{margin:.67em 0}.markdown-body img{border:0}.markdown-body hr{box-sizing:content-box}.markdown-body input{color:inherit;margin:0;line-height:normal;font:13px/1.4 Helvetica,arial,nimbussansl,liberationsans,freesans,clean,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}.markdown-body html inputdisabled{cursor:default}.markdown-body inputtypecheckbox{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body a{background-color:transparent;color:#4078c0;text-decoration:none}.markdown-body a:active,.markdown-body a:hover{outline:0;text-decoration:underline}.markdown-body hr:after{clear:both}.markdown-body blockquote{margin:0}.markdown-body h1,.markdown-body h2{padding-bottom:.3em;border-bottom:1px solid #eee}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code{font-family:Consolas,Liberation Mono,Menlo,Courier,monospace}.markdown-body pre{font:12px Consolas,Liberation Mono,Menlo,Courier,monospace;word-wrap:normal}.markdown-body .select::-ms-expand{opacity:0}.markdown-body .octicon{font:normal normal normal 16px/1 icon-anchor;display:inline-block;text-decoration:none;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.markdown-body .octicon-link:before{content:\f05c}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not(href){color:inherit;text-decoration:none}.markdown-body .anchor{display:inline-block;padding-right:2px;margin-left:-18px}.markdown-body .anchor:focus{outline:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1em;margin-bottom:16px;font-weight:700;line-height:1.4}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#000;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body h1{font-size:2.25em;line-height:1.2}.markdown-body h1 .anchor{line-height:1}.markdown-body h2{font-size:1.75em;line-height:1.225}.markdown-body h2 .anchor{line-height:1}.markdown-body h3{font-size:1.5em;line-height:1.43}.markdown-body h3 .anchor,.markdown-body h4 .anchor{line-height:1.2}.markdown-body h4{font-size:1.25em}.markdown-body h5 .anchor,.markdown-body h6 .anchor{line-height:1.1}.markdown-body h5{font-size:1em}.markdown-body h6{font-size:1em;color:#777}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-top:0;margin-bottom:16px}.markdown-body hr{overflow:hidden;background:#e7e7e7;height:4px;padding:0;margin:16px 0;border:0}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-top:0;margin-bottom:0}.markdown-body li>p{margin-top:16px}.markdown-body dl{padding:0}.markdown-body dl dt{padding:0;margin-top:16px;font-size:1em;font-style:italic;font-weight:700}.markdown-body dl dd{padding:0 16px;margin-bottom:16px}.markdown-body blockquote{padding:0 15px;color:#777;border-left:4px solid #ddd}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body table{border-collapse:collapse;border-spacing:0;display:block;width:100%;overflow:auto;word-break:normal;word-break:keep-all}.markdown-body table th{font-weight:700}.markdown-body table td,.markdown-body table th{padding:6px 13px;border:1px solid #ddd}.markdown-body table tr{background-color:#fff;border-top:1px solid #ccc}.markdown-body table tr:nth-child(2n){background-color:#f8f8f8}.markdown-body img{max-width:100%;box-sizing:content-box;background-color:#fff}.markdown-body code{padding:.2em 0;margin:0;font-size:85%;background-color:rgba(0,0,0,.04);border-radius:3px}.markdown-body code:after,.markdown-body code:before{letter-spacing:-.2em;content:\00a0}.markdown-body pre>code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:0 0;border:0}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre,.markdown-body pre{padding:16px;overflow:auto;font-size:85%;line-height:1.45;background-color:#272821;border-radius:3px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body pre code{display:inline;max-width:initial;padding:0;margin:0;overflow:initial;line-height:inherit;word-wrap:normal;background-color:transparent;border:0}.markdown-body pre code:after,.markdown-body pre code:before{content:normal}.markdown-body .pl-c{color:#969896}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#0086b3}.markdown-body .pl-e,.markdown-body .pl-en{color:#795da3}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#333}.markdown-body .pl-ent{color:#63a35c}.markdown-body .pl-k{color:#a71d5d}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#183691}.markdown-body .pl-v{color:#ed6a43}.markdown-body .pl-id{color:#b52a1d}.markdown-body .pl-ii{background-color:#b52a1d;color:#f8f8f8}.markdown-body .pl-sr .pl-cce{color:#63a35c;font-weight:700}.markdown-body .pl-ml{color:#693a17}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#1d3e81;font-weight:700}.markdown-body .pl-mq{color:teal}.markdown-body .pl-mi{color:#333;font-style:italic}.markdown-body .pl-mb{color:#333;font-weight:700}.markdown-body .pl-md{background-color:#ffecec;color:#bd2c00}.markdown-body .pl-mi1{background-color:#eaffea;color:#55a532}.markdown-body .pl-mdr{color:#795da3;font-weight:700}.markdown-body .pl-mo{color:#1d3e81}.markdown-body kbd{display:inline-block;padding:3px 5px;font:11px Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;color:#555;vertical-align:middle;background-color:#fcfcfc;border:1px solid #ccc;border-bottom-color:#bbb;border-radius:3px;box-shadow:inset 0 -1px 0 #bbb}.markdown-body:after,.markdown-body:before{display:table;content:}.markdown-body:after{clear:both}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .35em .25em -1.6em;vertical-align:middle}.markdown-body :checked+.radio-label{z-index:1;position:relative;border-color:#4078c0}/*! Monokai Sublime style. Derived from Monokai by noformnocontenthttp://nn.mit-license.org/ */.hljs{display:block;overflow-x:auto;padding:.5em;background:#23241f}.hljs,.hljs-subst,.hljs-tag{color:#f8f8f2}.hljs-emphasis,.hljs-strong{color:#a8a8a2}.hljs-bullet,.hljs-link,.hljs-literal,.hljs-number,.hljs-quote,.hljs-regexp{color:#ae81ff}.hljs-code,.hljs-section,.hljs-selector-class,.hljs-title{color:#a6e22e}.hljs-strong{font-weight:700}.hljs-emphasis{font-style:italic}.hljs-attr,.hljs-keyword,.hljs-name,.hljs-selector-tag{color:#f92672}.hljs-attribute,.hljs-symbol{color:#66d9ef}.hljs-class .hljs-title,.hljs-params{color:#f8f8f2}.hljs-addition,.hljs-built_in,.hljs-builtin-name,.hljs-selector-attr,.hljs-selector-id,.hljs-selector-pseudo,.hljs-string,.hljs-template-variable,.hljs-type,.hljs-variable{color:#e6db74}.hljs-comment,.hljs-deletion,.hljs-meta{color:#75715e}/*! Fork me on GitHub CSS ribbon v0.1.1 | MIT Licensehttps://github.com/simonwhitaker/github-fork-ribbon-css */.github-fork-ribbon{position:absolute;padding:2px 0;background-color:#a00;background-image:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.15)));background-image:-webkit-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.15));background-image:-moz-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.15));background-image:-ms-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.15));background-image:-o-linear-gradient(top,rgba(0,0,0,0),rgba(0,0,0,.15));background-image:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.15));-webkit-box-shadow:0 2px 3px 0 rgba(0,0,0,.5);-moz-box-shadow:0 2px 3px 0 rgba(0,0,0,.5);box-shadow:0 2px 3px 0 rgba(0,0,0,.5);font:700 13px Helvetica Neue,Helvetica,Arial,sans-serif;z-index:9999;pointer-events:auto}.github-fork-ribbon a,.github-fork-ribbon a:hover{color:#fff;text-decoration:none;text-shadow:0 -1px rgba(0,0,0,.5);text-align:center;width:200px;line-height:20px;display:inline-block;padding:2px 0;border-width:1px 0;border-style:dotted;border-color:#fff;border-color:rgba(255,255,255,.7)}.github-fork-ribbon-wrapper{width:150px;height:150px;position:absolute;overflow:hidden;top:0;z-index:9999;pointer-events:none}.github-fork-ribbon-wrapper.fixed{position:fixed}.github-fork-ribbon-wrapper.left{left:0}.github-fork-ribbon-wrapper.right{right:0}.github-fork-ribbon-wrapper.left-bottom{position:fixed;top:inherit;bottom:0;left:0}.github-fork-ribbon-wrapper.right-bottom{position:fixed;top:inherit;bottom:0;right:0}.github-fork-ribbon-wrapper.right .github-fork-ribbon{top:42px;right:-43px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.github-fork-ribbon-wrapper.left .github-fork-ribbon{top:42px;left:-43px;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)}.github-fork-ribbon-wrapper.left-bottom .github-fork-ribbon{top:80px;left:-43px;-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);transform:rotate(45deg)}.github-fork-ribbon-wrapper.right-bottom .github-fork-ribbon{top:80px;right:-43px;-webkit-transform:rotate(-45deg);-moz-transform:rotate(-45deg);-ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);transform:rotate(-45deg)} /style> script typetext/javascript>/*! highlight.js v9.0.0 | BSD3 License | git.io/hljslicense */!function(e){undefined!typeof exports?e(exports):(self.hljse({}),functiontypeof define&&define.amd&&define(hljs,,function(){return self.hljs}))}(function(e){function n(e){return e.replace(/&/gm,&).replace(//gm,<).replace(/>/gm,>)}function t(e){return e.nodeName.toLowerCase()}function r(e,n){var te&&e.exec(n);return t&&0t.index}function a(e){return/^(no-?highlight|plain|text)$/i.test(e)}function i(e){var n,t,r,ie.className+ ;if(i+e.parentNode?e.parentNode.className:,t/\blang(?:uage)?-(\w-+)\b/i.exec(i))return E(t1)?t1:no-highlight;for(ii.split(/\s+/),n0,ri.length;r>n;n++)if(E(in)||a(in))return in}function o(e,n){var t,r{};for(t in e)rtet;if(n)for(t in n)rtnt;return r}function u(e){var n;return function r(e,a){for(var ie.firstChild;i;ii.nextSibling)3i.nodeType?a+i.nodeValue.length:1i.nodeType&&(n.push({event:start,offset:a,node:i}),ar(i,a),t(i).match(/br|hr|img|input/)||n.push({event:stop,offset:a,node:i}));return a}(e,0),n}function c(e,r,a){function i(){return e.length&&r.length?e0.offset!r0.offset?e0.offsetr0.offset?e:r:startr0.event?e:r:e.length?e:r}function o(e){function r(e){return +e.nodeName++n(e.value)+}l++t(e)+Array.prototype.map.call(e.attributes,r).join()+>}function u(e){l+/+t(e)+>}function c(e){(starte.event?o:u)(e.node)}for(var s0,l,f;e.length||r.length;){var gi();if(l+n(a.substr(s,g0.offset-s)),sg0.offset,ge){f.reverse().forEach(u);do c(g.splice(0,1)0),gi();while(ge&&g.length&&g0.offsets);f.reverse().forEach(o)}elsestartg0.event?f.push(g0.node):f.pop(),c(g.splice(0,1)0)}return l+n(a.substr(s))}function s(e){function n(e){return e&&e.source||e}function t(t,r){return new RegExp(n(t),m+(e.cI?i:)+(r?g:))}function r(a,i){if(!a.compiled){if(a.compiled!0,a.ka.k||a.bK,a.k){var u{},cfunction(n,t){e.cI&&(tt.toLowerCase()),t.split( ).forEach(function(e){var te.split(|);ut0n,t1?Number(t1):1})};stringtypeof a.k?c(keyword,a.k):Object.keys(a.k).forEach(function(e){c(e,a.ke)}),a.ku}a.lRt(a.l||/\b\w+\b/,!0),i&&(a.bK&&(a.b\\b(+a.bK.split( ).join(|)+)\\b),a.b||(a.b/\B|\b/),a.bRt(a.b),a.e||a.eW||(a.e/\B|\b/),a.e&&(a.eRt(a.e)),a.tEn(a.e)||,a.eW&&i.tE&&(a.tE+(a.e?|:)+i.tE)),a.i&&(a.iRt(a.i)),void 0a.r&&(a.r1),a.c||(a.c);var s;a.c.forEach(function(e){e.v?e.v.forEach(function(n){s.push(o(e,n))}):s.push(selfe?a:e)}),a.cs,a.c.forEach(function(e){r(e,a)}),a.starts&&r(a.starts,i);var la.c.map(function(e){return e.bK?\\.?(+e.b+)\\.?:e.b}).concat(a.tE,a.i).map(n).filter(Boolean);a.tl.length?t(l.join(|),!0):{exec:function(){return null}}}}r(e)}function l(e,t,a,i){function o(e,n){for(var t0;tn.c.length;t++)if(r(n.ct.bR,e))return n.ct}function u(e,n){if(r(e.eR,n)){for(;e.endsParent&&e.parent;)ee.parent;return e}return e.eW?u(e.parent,n):void 0}function c(e,n){return!a&&r(n.iR,e)}function g(e,n){var tN.cI?n0.toLowerCase():n0;return e.k.hasOwnProperty(t)&&e.kt}function h(e,n,t,r){var ar?:x.classPrefix,ispan class+a,ot?:/span>;return i+e+>,i+n+o}function p(){if(!L.k)return n(M);var e,t0;L.lR.lastIndex0;for(var rL.lR.exec(M);r;){e+n(M.substr(t,r.index-t));var ag(L,r);a?(B+a1,e+h(a0,n(r0))):e+n(r0),tL.lR.lastIndex,rL.lR.exec(M)}return e+n(M.substr(t))}function d(){var estringtypeof L.sL;if(e&&!RL.sL)return n(M);var te?l(L.sL,M,!0,yL.sL):f(M,L.sL.length?L.sL:void 0);return L.r>0&&(B+t.r),e&&(yL.sLt.top),h(t.language,t.value,!1,!0)}function b(){return void 0!L.sL?d():p()}function v(e,t){var re.cN?h(e.cN,,!0):;e.rB?(k+r,M):e.eB?(k+n(t)+r,M):(k+r,Mt),LObject.create(e,{parent:{value:L}})}function m(e,t){if(M+e,void 0t)return k+b(),0;var ro(t,L);if(r)return k+b(),v(r,t),r.rB?0:t.length;var au(L,t);if(a){var iL;i.rE||i.eE||(M+t),k+b();do L.cN&&(k+/span>),B+L.r,LL.parent;while(L!a.parent);return i.eE&&(k+n(t)),M,a.starts&&v(a.starts,),i.rE?0:t.length}if(c(t,L))throw new Error(Illegal lexeme +t+ for mode +(L.cN||unnamed>)+);return M+t,t.length||1}var NE(e);if(!N)throw new Error(Unknown language: +e+);s(N);var w,Li||N,y{},k;for(wL;w!N;ww.parent)w.cN&&(kh(w.cN,,!0)+k);var M,B0;try{for(var C,j,I0;;){if(L.t.lastIndexI,CL.t.exec(t),!C)break;jm(t.substr(I,C.index-I),C0),IC.index+j}for(m(t.substr(I)),wL;w.parent;ww.parent)w.cN&&(k+/span>);return{r:B,value:k,language:e,top:L}}catch(O){if(-1!O.message.indexOf(Illegal))return{r:0,value:n(t)};throw O}}function f(e,t){tt||x.languages||Object.keys(R);var r{r:0,value:n(e)},ar;return t.forEach(function(n){if(E(n)){var tl(n,e,!1);t.languagen,t.r>a.r&&(at),t.r>r.r&&(ar,rt)}}),a.language&&(r.second_besta),r}function g(e){return x.tabReplace&&(ee.replace(/^((^>+>|\t)+)/gm,function(e,n){return n.replace(/\t/g,x.tabReplace)})),x.useBR&&(ee.replace(/\n/g,br>)),e}function h(e,n,t){var rn?wn:t,ae.trim();return e.match(/\bhljs\b/)||a.push(hljs),-1e.indexOf(r)&&a.push(r),a.join( ).trim()}function p(e){var ni(e);if(!a(n)){var t;x.useBR?(tdocument.createElementNS(http://www.w3.org/1999/xhtml,div),t.innerHTMLe.innerHTML.replace(/\n/g,).replace(/br \/*>/g,\n)):te;var rt.textContent,on?l(n,r,!0):f(r),su(t);if(s.length){var pdocument.createElementNS(http://www.w3.org/1999/xhtml,div);p.innerHTMLo.value,o.valuec(s,u(p),r)}o.valueg(o.value),e.innerHTMLo.value,e.classNameh(e.className,n,o.language),e.result{language:o.language,re:o.r},o.second_best&&(e.second_best{language:o.second_best.language,re:o.second_best.r})}}function d(e){xo(x,e)}function b(){if(!b.called){b.called!0;var edocument.querySelectorAll(pre code);Array.prototype.forEach.call(e,p)}}function v(){addEventListener(DOMContentLoaded,b,!1),addEventListener(load,b,!1)}function m(n,t){var rRnt(e);r.aliases&&r.aliases.forEach(function(e){wen})}function N(){return Object.keys(R)}function E(e){return e(e||).toLowerCase(),Re||Rwe}var x{classPrefix:hljs-,tabReplace:null,useBR:!1,languages:void 0},R{},w{};return e.highlightl,e.highlightAutof,e.fixMarkupg,e.highlightBlockp,e.configured,e.initHighlightingb,e.initHighlightingOnLoadv,e.registerLanguagem,e.listLanguagesN,e.getLanguageE,e.inherito,e.IRa-zA-Z\\w*,e.UIRa-zA-Z_\\w*,e.NR\\b\\d+(\\.\\d+)?,e.CNR(-?)(\\b0xXa-fA-F0-9+|(\\b\\d+(\\.\\d*)?|\\.\\d+)(eE-+?\\d+)?),e.BNR\\b(0b01+),e.RSR!|!|!|%|%|&|&&|&|\\*|\\*|\\+|\\+|,|-|-|/|/|:|;||||||||>>>|>>|>|>>>|>>|>|\\?|\\|\\{|\\(|\\^|\\^|\\||\\||\\|\\||~,e.BE{b:\\\\\\s\\S,r:0},e.ASM{cN:string,b:,e:,i:\\n,c:e.BE},e.QSM{cN:string,b:,e:,i:\\n,c:e.BE},e.PWM{b:/\b(a|an|the|are|I|Im|isnt|dont|doesnt|wont|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|like)\b/},e.Cfunction(n,t,r){var ae.inherit({cN:comment,b:n,e:t,c:},r||{});return a.c.push(e.PWM),a.c.push({cN:doctag,b:(?:TODO|FIXME|NOTE|BUG|XXX):,r:0}),a},e.CLCMe.C(//,$),e.CBCMe.C(/\\*,\\*/),e.HCMe.C(#,$),e.NM{cN:number,b:e.NR,r:0},e.CNM{cN:number,b:e.CNR,r:0},e.BNM{cN:number,b:e.BNR,r:0},e.CSSNM{cN:number,b:e.NR+(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?,r:0},e.RM{cN:regexp,b:/\//,e:/\/gimuy*/,i:/\n/,c:e.BE,{b:/\/,e:/\/,r:0,c:e.BE}},e.TM{cN:title,b:e.IR,r:0},e.UTM{cN:title,b:e.UIR,r:0},e});hljs.registerLanguage(xml,function(s){var tA-Za-z0-9\\._:-+,e{b:/\?(php)?(?!\w)/,e:/\?>/,sL:php},r{eW:!0,i://,r:0,c:e,{cN:attr,b:t,r:0},{b:,r:0,c:{cN:string,c:e,v:{b://,e://},{b://,e://},{b:/^\s\/>+/}}}};return{aliases:html,xhtml,rss,atom,xsl,plist,cI:!0,c:{cN:meta,b:!DOCTYPE,e:>,r:10,c:{b:\\,e:\\}},s.C(!--,-->,{r:10}),{b:\\!\\CDATA\\,e:\\\\>,r:10},{cN:tag,b:style(?\\s|>|$),e:>,k:{name:style},c:r,starts:{e:/style>,rE:!0,sL:css,xml}},{cN:tag,b:script(?\\s|>|$),e:>,k:{name:script},c:r,starts:{e:(+/script>),rE:!0,sL:actionscript,javascript,handlebars,xml}},e,{cN:meta,b:/\?\w+/,e:/\?>/,r:10},{cN:tag,b:/?,e:/?>,c:{cN:name,b:/^\/>\s+/,r:0},r}}});hljs.registerLanguage(javascript,function(e){return{aliases:js,k:{keyword:in of if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const export super debugger as async await import from as,literal:true false null undefined NaN Infinity,built_in:eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document Symbol Set Map WeakSet WeakMap Proxy Reflect Promise},c:{cN:meta,r:10,b:/^\s*use (strict|asm)/},e.ASM,e.QSM,{cN:string,b:`,e:`,c:e.BE,{cN:subst,b:\\$\\{,e:\\}}},e.CLCM,e.CBCM,{cN:number,v:{b:\\b(0bB01+)},{b:\\b(0oO0-7+)},{b:e.CNR},r:0},{b:(+e.RSR+|\\b(case|return|throw)\\b)\\s*,k:return throw case,c:e.CLCM,e.CBCM,e.RM,{b://,e:/>\s*);\/,r:0,sL:xml},r:0},{cN:function,bK:function,e:/\{/,eE:!0,c:e.inherit(e.TM,{b:/A-Za-z$_0-9A-Za-z$_*/}),{cN:params,b:/\(/,e:/\)/,eB:!0,eE:!0,c:e.CLCM,e.CBCM},i:/\|%/},{b:/\$(./},{b:\\.+e.IR,r:0},{cN:class,bK:class,e:/{;/,eE:!0,i:/:\\/,c:{bK:extends},e.UTM},{bK:constructor,e:/\{/,eE:!0},i:/#/}}); hljs.initHighlightingOnLoad(); /script> /head> body> div classgithub-fork-ribbon-wrapper right> div classgithub-fork-ribbon> a hrefhttps://github.com/burnson/Reverb.js>Fork me on GitHub/a> /div> /div> article classmarkdown-body> h1>Reverb.js/h1> p>b>Reverb.js/b> is a Web Audio API extension for creating reverb nodes andan accompanying impulse-response reverb library. You can quickly load any ofthe provided impulse responses or use your own./p>p>The Web Audio API does not specifically include a reverb node type.Instead, it has something better: a i>convolution node/i>! Convolution is amathematical transformation that combines an impulse response and a dry signalto yield a wet signal. Reverberation is easy to model with impulse responsessince most reverberation has a linear response (contains little distortion).Impulse responses for simulating reverberation are often generated by recordinga percussive noise or frequency sweep in a space. Does this all soundconvoluted? Well, technically, it is!/p>p>This project is dedicated to the public domain via the CC0 license.However, most of the impulse responses are copyright and come with theirown licenses (many are Creative Commons), so if you end up redistributingthese, please make sure you follow the applicable licenses mentioned in theattributions./p>p>The following examples demonstrate different reverbs usinga hrefjavascript:testReverb(, scale);>a scale played on anoscillator-based synth/a> ora hrefjavascript:testReverb(, piece);>the Bach C Minor Prelude fromWTC I/a> played on piano bya hrefhttps://www.welltemperedclavier.org>Kimiko Ishizaka/a>.For more details about using Reverb.js, go seea hrefhttps://github.com/burnson/Reverb.js>the project/a>./p>!--BEGIN REVERBJS-->script typetext/javascript>/*global ArrayBuffer, Uint8Array, window, XMLHttpRequest*/var reverbjs { extend : function (audioContext) { function decodeBase64ToArrayBuffer(input) { function encodedValue(input, index) { var encodedCharacter, x input.charCodeAt(index); if (index input.length) { if (x > 65 && x 90) { encodedCharacter x - 65; } else if (x > 97 && x 122) { encodedCharacter x - 71; } else if (x > 48 && x 57) { encodedCharacter x + 4; } else if (x 43) { encodedCharacter 62; } else if (x 47) { encodedCharacter 63; } else if (x ! 61) { console.log(base64 encountered unexpected character code: + x); } } return encodedCharacter; } if (input.length 0 || (input.length % 4) > 0) { console.log(base64 encountered unexpected length: + input.length); return; } var padding input.match(/*$/)0.length, decodedLength input.length * 3 / 4 - padding, buffer new ArrayBuffer(decodedLength), bufferView new Uint8Array(buffer), encoded , d 0, e 0, i; while (d decodedLength) { for (i 0; i 4; i + 1) { encodedi encodedValue(input, e); e + 1; } bufferViewd (encoded0 * 4) + Math.floor(encoded1 / 16); d + 1; if (d decodedLength) { bufferViewd ((encoded1 % 16) * 16) + Math.floor(encoded2 / 4); d + 1; } if (d decodedLength) { bufferViewd ((encoded2 % 4) * 64) + encoded3; d + 1; } } return buffer; } function decodeAndSetupBuffer(node, arrayBuffer, callback) { audioContext.decodeAudioData(arrayBuffer, function (audioBuffer) { console.log(Finished decoding audio data.); node.buffer audioBuffer; if (typeof callback function && audioBuffer ! null) { callback(node); } }, function (e) { console.log(Could not decode audio data: + e); }); } audioContext.createReverbFromBase64 function (audioBase64, callback) { var reverbNode audioContext.createConvolver(); decodeAndSetupBuffer(reverbNode, decodeBase64ToArrayBuffer(audioBase64), callback); return reverbNode; }; audioContext.createSourceFromBase64 function (audioBase64, callback) { var sourceNode audioContext.createBufferSource(); decodeAndSetupBuffer(sourceNode, decodeBase64ToArrayBuffer(audioBase64), callback); return sourceNode; }; audioContext.createReverbFromUrl function (audioUrl, callback) { console.log(Downloading impulse response from + audioUrl); var reverbNode audioContext.createConvolver(), request new XMLHttpRequest(); request.open(GET, audioUrl, true); request.onreadystatechange function () { if (request.readyState 4 && request.status 200) { console.log(Downloaded impulse response); decodeAndSetupBuffer(reverbNode, request.response, callback); } }; request.onerror function (e) { console.log(There was an error receiving the response: + e); reverbjs.networkError e; }; request.responseType arraybuffer; request.send(); return reverbNode; }; audioContext.createSourceFromUrl function (audioUrl, callback) { console.log(Downloading sound from + audioUrl); var sourceNode audioContext.createBufferSource(), request new XMLHttpRequest(); request.open(GET, audioUrl, true); request.onreadystatechange function () { if (request.readyState 4 && request.status 200) { console.log(Downloaded sound); decodeAndSetupBuffer(sourceNode, request.response, callback); } }; request.onerror function (e) { console.log(There was an error receiving the response: + e); reverbjs.networkError e; }; request.responseType arraybuffer; request.send(); return sourceNode; }; audioContext.createReverbFromBase64Url function (audioUrl, callback) { console.log(Downloading base64 impulse response from + audioUrl); var reverbNode audioContext.createConvolver(), request new XMLHttpRequest(); request.open(GET, audioUrl, true); request.onreadystatechange function () { if (request.readyState 4 && request.status 200) { console.log(Downloaded impulse response); decodeAndSetupBuffer(reverbNode, decodeBase64ToArrayBuffer(request.response), callback); } }; request.onerror function (e) { console.log(There was an error receiving the response: + e); reverbjs.networkError e; }; request.send(); return reverbNode; }; audioContext.createSourceFromBase64Url function (audioUrl, callback) { console.log(Downloading base64 sound from + audioUrl); var sourceNode audioContext.createBufferSource(), request new XMLHttpRequest(); request.open(GET, audioUrl, true); request.onreadystatechange function () { if (request.readyState 4 && request.status 200) { console.log(Downloaded sound); decodeAndSetupBuffer(sourceNode, decodeBase64ToArrayBuffer(request.response), callback); } }; request.onerror function (e) { console.log(There was an error receiving the response: + e); reverbjs.networkError e; }; request.send(); return sourceNode; }; }};/script>!--END REVERBJS-->script typetext/javascript>var reverb, reverbGain, masterGain, source, sourceGain, context;function dBToGain(dB) { return (dB -100) ? 0 : Math.pow(10, dB / 10);}function initializeIfNecessary () { if (typeof context undefined) { context new (window.AudioContext || window.webkitAudioContext)(); reverbjs.extend(context); masterGain context.createGain(); masterGain.gain.value 1; masterGain.connect(context.destination); }}function midiNoteNumberToFrequency (midiNoteNumber) { return 55 * Math.pow(2, (midiNoteNumber - 33) / 12);}function play(what) { if (typeof source ! undefined && source.started true) { source.stop(); source.started false; } if (what scale) { playScale(); } else if (what piece) { var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a; source context.createSourceFromUrl(sourceUrl, function() { source.connect(reverb); source.start(); source.started true; }) }}function playScale () { var i, loudness 0.1; var notesGoingUp 60, 62, 64, 65, 67, 69, 71, 72 var notesGoingDown 48, 47, 45, 43, 41, 40, 38, 36; var s context.currentTime; for (i 0; i notesGoingUp.length; i++) { scheduleSynthNote(notesGoingUpi, s + 0.1 + i * 0.5, 0.25, loudness); scheduleSynthNote(notesGoingDowni, s + 0.1 + i * 0.5, 0.25, loudness); }}function scheduleOscillator(type, note, startTime, duration, gain, shape) { var gainShaper context.createGain(); gainShaper.gain.value 0; gainShaper.gain.setValueAtTime(0, startTime); for (var i in shape) { var g dBToGain(shapei.dB) * gain; var t startTime + shapei.time * duration; gainShaper.gain.linearRampToValueAtTime(g, t); } gainShaper.connect(reverb); var oscillator context.createOscillator(); oscillator.type type; oscillator.frequency.value midiNoteNumberToFrequency(note); oscillator.start(startTime); oscillator.stop(startTime + duration); oscillator.connect(gainShaper);}function scheduleSynthNote (note, start, duration, gain) { gain / dBToGain(-55); scheduleOscillator(triangle, note, start, duration, gain, {time:0.05, dB:-65},{time:0.95, dB:-65},{time:1.0, dB:-100}); scheduleOscillator(sawtooth, note + 12, start, duration, gain, {time:0.05, dB:-55},{time:0.95, dB:-60},{time:1.0, dB:-100}); scheduleOscillator(sine, note + 24, start, duration, gain, {time:0.2, dB:-58},{time:0.95, dB:-58},{time:1.0, dB:-100}); scheduleOscillator(square, note + 48, start, duration, gain, {time:0.2, dB:-75},{time:0.95, dB:-75},{time:1.0, dB:-100});}function shutdownReverbGracefully () { if (context && reverbGain) { reverbGain.gain.setValueAtTime(0.5, context.currentTime + 0.1); reverbGain.gain.linearRampToValueAtTime(0, context.currentTime + 0.2); }}function shutdownGracefully () { if (context) { var start context.currentTime, length 0.01, progress 0, i 0; while (progress 1 && i 10000) { masterGain.gain.value 1 - progress; progress (context.currentTime - start) / length; i + 1; } }}function testReverb (url, what) { initializeIfNecessary(); shutdownReverbGracefully(); setTimeout(function() { if (url ! ) { reverbGain context.createGain(); reverbGain.gain.value 0.5; reverbGain.connect(masterGain); reverb context.createReverbFromUrl(url, function() { play(what); }); reverb.connect(reverbGain); } else { reverbGain context.createGain(); reverbGain.gain.value 0.5; reverbGain.connect(masterGain); reverb reverbGain; play(what); } }, 500);}window.onbeforeunload shutdownGracefully; /script>!--BEGIN GENERATED-->h2>AbernyteGrainSilo a hrefjavascript:testReverb(http://reverbjs.org/Library/AbernyteGrainSilo.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/AbernyteGrainSilo.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/AbernyteGrainSilo.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/abernyte-grain-silobr/>br/>A concrete structure standing approximately 20m in height by by 5m in diameter the silo proved to have a fantastic reverberation quality close to 6 seconds from initial impulse to the sound dying away. Opportunist recording of balloon burst IR captured using an Alesis Palmtrack portbale recorder. Having passed this disused grain silo on the way to Errol brickworks I made a mental note to stop and explore on the way home. The silo probably a structure from the 60s or 70s is a typical cylindrical building but with a flat roof.br/>br/>License for this content: Attribution Non-commercial Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/AbernyteGrainSilo.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>ArbroathAbbeySacristy a hrefjavascript:testReverb(http://reverbjs.org/Library/ArbroathAbbeySacristy.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ArbroathAbbeySacristy.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ArbroathAbbeySacristy.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/arbroath-abbey-sacristybr/>br/>Arbroath Abbey is a testament to the integration of piety and politics by Scotland’s medieval monarchs. It was founded in 1178 by King William I ‘the Lion’, ostensibly as a memorial to his childhood friend Thomas Becket, Archbishop of Canterbury, who was murdered in 1170. It also helped him to expand his authority in the north-east of Scotland, and to demonstrate his right to rule. William invited the Tironensian monks from Kelso Abbey, near the English border, to establish the monastery. When he died in 1214, his body was buried before the high altar. Traditionally, Scottish monarchs had been laid to rest at the royal mausoleum at Dunfermline Abbey. The legacy of William’s efforts is an outstandingly beautiful building. It has suffered much damage, but remains an important symbol and landmark.br/>http://www.historic-scotland.gov.uk/propertyresults/propertyabout.htm?PropIDPL_013&PropNameArbroath%20Abbeybr/>br/>License for this content: Attribution Non-commercial Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/ArbroathAbbeySacristy.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>Basement a hrefjavascript:testReverb(http://reverbjs.org/Library/Basement.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/Basement.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/Basement.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/basementbr/>br/>My first attempt at creating an impulse. Basement is a wood shop, and has a nice sound. 9 positions. Shure SM57 and speaker were compensated for manually, so results may not be perfectly accurate, but it sounds all right to my ears. This is ORTF.br/>br/>License for this content: Public Domain Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/Basement.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>DomesticLivingRoom a hrefjavascript:testReverb(http://reverbjs.org/Library/DomesticLivingRoom.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/DomesticLivingRoom.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/DomesticLivingRoom.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/domestic-living-roombr/>br/>Domestic living room, recorded in front of speaker, at the back of the room, and in the adjacent room. Cutoff at 16kHz due to hardware constraints.br/>br/>License for this content: Public Domain Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/DomesticLivingRoom.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>ElvedenHallLordsCloakroom a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallLordsCloakroom.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallLordsCloakroom.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallLordsCloakroom.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/elveden-hall-suffolk-englandbr/>br/>Various rooms of Elveden Hall, captured in 2001 on Sony D10 DAT using pair of AKG 451s in XY, and starters pistol. The Hall, formerly the private residence of the Maharajah Duleep Singh and then the first Lord Iveagh, had at the time of these recordings not been lived in for decades. Elveden Hall, which was enlarged to its present size by Lord Iveagh at the end of the 19th century, consists of three floors in two enormous wings flanking a dramatic Marble Hall (which has featured as a location in films such as Eyes Wide Shut and Tomb Raider). The IRs offered here are a small subset of dozens made throughout the entire building, attempting to document every accessible room and closet, as part of research in a collaboration between artists Matt Rogalsky and Chlöe Steele entitled PERFECT IMPERFECT.br/>br/>License for this content: Attribution Non-commercial No Derivatives Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/ElvedenHallLordsCloakroom.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>ElvedenHallMarbleHall a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallMarbleHall.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallMarbleHall.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallMarbleHall.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/elveden-hall-suffolk-englandbr/>br/>Various rooms of Elveden Hall, captured in 2001 on Sony D10 DAT using pair of AKG 451s in XY, and starters pistol. The Hall, formerly the private residence of the Maharajah Duleep Singh and then the first Lord Iveagh, had at the time of these recordings not been lived in for decades. Elveden Hall, which was enlarged to its present size by Lord Iveagh at the end of the 19th century, consists of three floors in two enormous wings flanking a dramatic Marble Hall (which has featured as a location in films such as Eyes Wide Shut and Tomb Raider). The IRs offered here are a small subset of dozens made throughout the entire building, attempting to document every accessible room and closet, as part of research in a collaboration between artists Matt Rogalsky and Chlöe Steele entitled PERFECT IMPERFECT.br/>br/>License for this content: Attribution Non-commercial No Derivatives Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/ElvedenHallMarbleHall.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>ElvedenHallSmokingRoom a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallSmokingRoom.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallSmokingRoom.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallSmokingRoom.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/elveden-hall-suffolk-englandbr/>br/>Various rooms of Elveden Hall, captured in 2001 on Sony D10 DAT using pair of AKG 451s in XY, and starters pistol. The Hall, formerly the private residence of the Maharajah Duleep Singh and then the first Lord Iveagh, had at the time of these recordings not been lived in for decades. Elveden Hall, which was enlarged to its present size by Lord Iveagh at the end of the 19th century, consists of three floors in two enormous wings flanking a dramatic Marble Hall (which has featured as a location in films such as Eyes Wide Shut and Tomb Raider). The IRs offered here are a small subset of dozens made throughout the entire building, attempting to document every accessible room and closet, as part of research in a collaboration between artists Matt Rogalsky and Chlöe Steele entitled PERFECT IMPERFECT.br/>br/>License for this content: Attribution Non-commercial No Derivatives Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/ElvedenHallSmokingRoom.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>ElvedenHallVisitorsCloakroom a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallVisitorsCloakroom.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallVisitorsCloakroom.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ElvedenHallVisitorsCloakroom.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/elveden-hall-suffolk-englandbr/>br/>Various rooms of Elveden Hall, captured in 2001 on Sony D10 DAT using pair of AKG 451s in XY, and starters pistol. The Hall, formerly the private residence of the Maharajah Duleep Singh and then the first Lord Iveagh, had at the time of these recordings not been lived in for decades. Elveden Hall, which was enlarged to its present size by Lord Iveagh at the end of the 19th century, consists of three floors in two enormous wings flanking a dramatic Marble Hall (which has featured as a location in films such as Eyes Wide Shut and Tomb Raider). The IRs offered here are a small subset of dozens made throughout the entire building, attempting to document every accessible room and closet, as part of research in a collaboration between artists Matt Rogalsky and Chlöe Steele entitled PERFECT IMPERFECT.br/>br/>License for this content: Attribution Non-commercial No Derivatives Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/ElvedenHallVisitorsCloakroom.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>EmptyApartmentBedroom a hrefjavascript:testReverb(http://reverbjs.org/Library/EmptyApartmentBedroom.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/EmptyApartmentBedroom.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/EmptyApartmentBedroom.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/empty-apartment-bedroombr/>br/>An Impulse Response I recorded in the bedroom of an empty apartment close to my house. Recorded with an H4n, source was a handclap. Recorded at 96kHz/24-bit.br/>br/>License for this content: Public Domain Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/EmptyApartmentBedroom.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>ErrolBrickworksKiln a hrefjavascript:testReverb(http://reverbjs.org/Library/ErrolBrickworksKiln.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ErrolBrickworksKiln.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/ErrolBrickworksKiln.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/errol-brickworks-errol-perth-and-kinrossbr/>br/>Errol Brickworks situated on the outskirts of Errol Village, Perth and Kinross is now a Mackies potato crisps factory but two kilns remain. The works dates to 1870 and remained active until the mid nineties. The structure of the kilns looked like large brick built yurts, with the external walls below the dome strapped in metal casing. The internal dimensions are 6.5m to the height of the dome form the centre of the floor by 5.8m in diameter. Mackies staff allowed access to one of the kilns on the day of our visit. Two techniques were employed, a sine sweep recording using Apples Impulse Response Utility software and a balloon pop recorded using a portable Alesis Palmtrack. Initially the reverberation characteristic appeared to be unremarkable having very little decay time, however upon wondering around inside the kiln a pronounced pre-delay was evident. Whilst standing close to the opposite wall from the entrance noise made by Paul near the entrance appeared to reverberate around the outside wall creating an effect similar to the whispering gallery found in the dome of St Pauls Cathedral in London, all be it more subtle.br/>br/>License for this content: Attribution Non-commercial Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/ErrolBrickworksKiln.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>FalklandPalaceRoyalTennisCourt a hrefjavascript:testReverb(http://reverbjs.org/Library/FalklandPalaceRoyalTennisCourt.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/FalklandPalaceRoyalTennisCourt.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/FalklandPalaceRoyalTennisCourt.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/falkland-palace-royal-tennis-courtbr/>br/>These impulse responses were recorded in a tennis court with no roof. The court is designed for Real Tennis, or Caitch and can be found at Falkland Palace in Fife. It was originally built for King James V of Scotland and construction began in 1539.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/FalklandPalaceRoyalTennisCourt.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>HamiltonMausoleum a hrefjavascript:testReverb(http://reverbjs.org/Library/HamiltonMausoleum.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/HamiltonMausoleum.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/HamiltonMausoleum.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/hamilton-mausoleumbr/>br/>Construction on the Hamilton Mausoleum, Hamilton, Scotland, built for the 10th Duke of Hamilton, started in 1842 and was completed in 1858. It is constructed of marble and sandstone and is surmounted by a dome 36m in height, with two main spaces, a crypt in the lower section, and a chapel that was supposed to be used for worship. However the construction materials, size, shape and dimensions of the latter result in a complex, dense and very long reverberation, and hence render it almost useless for speech presentation. In fact the Guinness Book of World Records claims that the Hamilton Mausoleum has the longest “echo” of any building, recorded on 27 May 1994 as taking 15s for the sound of the reverberation caused by slamming one of the main doors to die away to nothing. The space is now often used by recording musicians for its unique acoustic properties. The interior of Hamilton Mausoleum is approximately octagonal in plan, with a diameter of 18 m. Each side of the octagon is either a plane wall or a further semicircular alcove. The results presented below having the microphone assembly in the centre and the source placed to one side, just outside one of the alcoves, giving a source-receiver distance of 4.8 m.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/HamiltonMausoleum.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>InsidePiano a hrefjavascript:testReverb(http://reverbjs.org/Library/InsidePiano.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/InsidePiano.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/InsidePiano.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>Recorded by William Andrew Burnson (2013)br/>An impulse response recorded from just outside a Yamaha baby grand piano with the damper pedal down.br/>br/>Attribution Share Alike Creative Commonsbr/>http://creativecommons.org/licenses/by-sa/3.0//p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/InsidePiano.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>KinoullAisle a hrefjavascript:testReverb(http://reverbjs.org/Library/KinoullAisle.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/KinoullAisle.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/KinoullAisle.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/kinoull-aisle-perthbr/>br/>IR field recording trip Kinoull Aisle, Perth. A 16th century chapel on the site of one of the oldest known churches in Perth. The Aisle houses a monument to the Earl of Kinoull, Lord Chancellor Hay, an impressive stone sculpture nearly 6 metres in height. Thanks to the monument and the recessed windows and door the chapel has a smooth linear reverberation characteristic approximately 2 seconds long.br/>br/>License for this content: Attribution Non-commercial Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/KinoullAisle.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>LadyChapelStAlbansCathedral a hrefjavascript:testReverb(http://reverbjs.org/Library/LadyChapelStAlbansCathedral.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/LadyChapelStAlbansCathedral.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/LadyChapelStAlbansCathedral.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/lady-chapel-st-albans-cathedralbr/>br/>This data consists of 2 sets of impulse responses measured in the Lady Chapel at St Albans Cathedral. Measurements were taken at two different source and receiver positions, A and B. The positions of the sources and receivers for the two configurations, A and B, can be are described in the attached diagram. Each set consists of a 4 channel B-format response, a 2-channel ORTF stereo response, a 2-channel binaural stereo response and a 5-channel discrete microphone response (5.0) based on the Williams MMA microphone technique. Construction of the cathedral was started by the Normans in 1077 and hundreds of years of construction have resulted in a mixture of different architectural styles. The Lady Chapel is an example of architecture from the Decorated Gothic Period and was completed in 1327.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/LadyChapelStAlbansCathedral.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>MaesHowe a hrefjavascript:testReverb(http://reverbjs.org/Library/MaesHowe.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/MaesHowe.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/MaesHowe.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>http://www.openairlib.net/auralizationdb/content/maes-howebr/>br/>Maes-Howe, Orkney, is one of the finest chambered cairns in Europe, and is dated to 3000BC. Prior work in the acoustics of ancient sites explores how the resonances exhibited therein might have affected regular human ritual and interaction with the space. It has been hypothesized that as these resonances are within the lower male vocal range, they may have been used in ritual to accentuate aspects of the voice. Unlike many similar ancient structures that have been studied to date, Maes Howe lends itself to the presence of strong modal frequencies. It is almost cubic in shape, of dimension 4.6m, with walls made from large, flat slabs of stone, resulting in smooth reflecting surfaces rather than more commonly found irregular placement of smaller stones.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/MaesHowe.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>MidiverbMark2Preset29 a hrefjavascript:testReverb(http://reverbjs.org/Library/MidiverbMark2Preset29.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/MidiverbMark2Preset29.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/MidiverbMark2Preset29.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>Recorded by William Andrew Burnson (2011)br/>An impulse response recorded from preset 29 on an Alesis Midiverb II.br/>br/>Attribution Share Alike Creative Commonsbr/>http://creativecommons.org/licenses/by-sa/3.0//p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/MidiverbMark2Preset29.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>PerthCityHallBalcony a hrefjavascript:testReverb(http://reverbjs.org/Library/PerthCityHallBalcony.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/PerthCityHallBalcony.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/PerthCityHallBalcony.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/perth-city-hallbr/>br/>Perth City Hall is a prominently-sited civic building beside the A-listed St John’s Kirk, and within Perth’s former market place. It was listed category B on 26 August 1977 and is within the Perth Central Conservation Area. It has been redundant since 2005. The memorial stone was laid by Lord Provost Cuthbert in 1909 and the design exhibited at the Royal Scottish Academy in 1912. The architects, appointed after competition, were H. E. Clifford and Thomas Lunan. Clifford was one of a generation of Glasgow-based architects influenced by the architecture of the Ecole des Beaux-Arts in Paris, and this is reflected in the building’s architectural style. It has coupled giant Ionic columns and sculptural enrichments, while the interior has a galleried large main hall and a correspondingly classical character. (Historic Scotland)br/>br/>br/>License for this content: Attribution Non-commercial Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/PerthCityHallBalcony.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>PurnodesRailroadTunnel a hrefjavascript:testReverb(http://reverbjs.org/Library/PurnodesRailroadTunnel.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/PurnodesRailroadTunnel.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/PurnodesRailroadTunnel.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/railroad-tunnel-purnodes-tunnelbr/>br/>IR collected in a 80 meters railway tunnel. 48K-32bit-stereobr/>br/>License for this content: Public Domain Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/PurnodesRailroadTunnel.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>R1NuclearReactorHall a hrefjavascript:testReverb(http://reverbjs.org/Library/R1NuclearReactorHall.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/R1NuclearReactorHall.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/R1NuclearReactorHall.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/r1-nuclear-reactor-hallbr/>br/>Built in 1954, the R1 Nuclear Reactor has not been used since 1970. However, the reactor hall still remains. It is found 25 metres underneath the KTH Royal Institute of Technology, near to Stolkholm.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/R1NuclearReactorHall.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>SaintLawrenceChurchMolenbeekWersbeekBelgium a hrefjavascript:testReverb(http://reverbjs.org/Library/SaintLawrenceChurchMolenbeekWersbeekBelgium.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/SaintLawrenceChurchMolenbeekWersbeekBelgium.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/SaintLawrenceChurchMolenbeekWersbeekBelgium.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/saint-lawrence-church-molenbeek-wersbeek-belgiumbr/>br/>This impulse response was made with a 4 sec sinesweep playing in the middle of the altar of the church with 2 spaced (70cm) omni DPA 4060 microphones in front of the altar. The recording was done in 96kHz 24bit.br/>br/>License for this content: Public Domain Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/SaintLawrenceChurchMolenbeekWersbeekBelgium.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>SpokaneWomansClub a hrefjavascript:testReverb(http://reverbjs.org/Library/SpokaneWomansClub.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/SpokaneWomansClub.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/SpokaneWomansClub.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/spokane-womans-clubbr/>br/>The Spokane Womans Club hall is a highly reflective space with bare walls, a hardwood floor and a curved ceiling. The space is roughly 84x42 with an average ceiling height of about 16. The sweep was recorded before an event and deconvolved with Voxengos Deconvolver. The IR turned out very well. It allowed for seamless transition between the room sound recorded during a number of events, and the IR reverb used during post-production.br/>br/>License for this content: Attribution Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/SpokaneWomansClub.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>SportsCentreUniversityOfYork a hrefjavascript:testReverb(http://reverbjs.org/Library/SportsCentreUniversityOfYork.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/SportsCentreUniversityOfYork.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/SportsCentreUniversityOfYork.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/sports-centre-university-yorkbr/>br/>These measurements were made in a large sports hall in the sports centre at York university. The reverberation tail is very long.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/SportsCentreUniversityOfYork.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>StairwayUniversityOfYork a hrefjavascript:testReverb(http://reverbjs.org/Library/StairwayUniversityOfYork.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StairwayUniversityOfYork.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StairwayUniversityOfYork.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/st-marys-abbey-reconstructionbr/>br/>The abbey of St. Mary was mostly destroyed during the dissolution under the rule of Henry VIII and now only ruins remain. These ruins can be found in the Museum Gardens adjacent to the river Ouse in York city. Virtual models of this now derelict church were built using measurements taken from scaled plans and other sources of architectural evidence. Impulse responses were then created using ray-based room acoustic modelling software. Three different models of the church were used with increasing levels of detail in their geometric structure, referred to as Phase 1, Phase 2 and Phase 3. The work was carried out as part of a Bachelor of Engineering project at the Audiolab in the University of York.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/StairwayUniversityOfYork.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>StAndrewsChurch a hrefjavascript:testReverb(http://reverbjs.org/Library/StAndrewsChurch.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StAndrewsChurch.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StAndrewsChurch.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLib (2004)br/>http://www.openairlib.net/auralizationdb/content/st-andrews-churchbr/>br/>St Andrew’s Church, built in the 14th Century, has one of the finest examples of in-situ acoustic jars (vases or pots) in the UK. These jars were common to European church construction in the late Middle Ages and are said to be based on the ideas of Roman architect Vitruvius, who discussed the use of resonant jars in the design of amphitheatres to provide clarity of voice presentation. They are designed as Helmholtz resonators, giving narrow band energy absorption according to the natural frequency of the jar although there is little conclusive acoustical evidence to show that they behave as designed. Studies suggest that the success or otherwise of these devices depends on the number of jars used and their placement, as well as the characteristics of the building and jars themselves. In anechoic and reverberant chambers the absorption effects of such jars are weak and highly selective, although can be significant below 200Hz. Together with their additional diffusive effects, the jars potentially help to eliminate strong normal modes and hence can be made effective with careful tuning and positioning. St Andrew’s Church has 11 jars placed high in the chancel, 6 in the north wall and 5 in the south, arranged at irregular intervals such that there are no directly opposite pairs.br/>br/>Attribution Share Alike Creative Commonsbr/>http://creativecommons.org/licenses/by-sa/3.0/br/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/StAndrewsChurch.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>StMarysAbbeyReconstructionPhase1 a hrefjavascript:testReverb(http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase1.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase1.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase1.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/st-marys-abbey-reconstructionbr/>br/>The abbey of St. Mary was mostly destroyed during the dissolution under the rule of Henry VIII and now only ruins remain. These ruins can be found in the Museum Gardens adjacent to the river Ouse in York city. Virtual models of this now derelict church were built using measurements taken from scaled plans and other sources of architectural evidence. Impulse responses were then created using ray-based room acoustic modelling software. Three different models of the church were used with increasing levels of detail in their geometric structure, referred to as Phase 1, Phase 2 and Phase 3. The work was carried out as part of a Bachelor of Engineering project at the Audiolab in the University of York.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase1.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>StMarysAbbeyReconstructionPhase2 a hrefjavascript:testReverb(http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase2.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase2.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase2.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/st-marys-abbey-reconstructionbr/>br/>The abbey of St. Mary was mostly destroyed during the dissolution under the rule of Henry VIII and now only ruins remain. These ruins can be found in the Museum Gardens adjacent to the river Ouse in York city. Virtual models of this now derelict church were built using measurements taken from scaled plans and other sources of architectural evidence. Impulse responses were then created using ray-based room acoustic modelling software. Three different models of the church were used with increasing levels of detail in their geometric structure, referred to as Phase 1, Phase 2 and Phase 3. The work was carried out as part of a Bachelor of Engineering project at the Audiolab in the University of York.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase2.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>StMarysAbbeyReconstructionPhase3 a hrefjavascript:testReverb(http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase3.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase3.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase3.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/st-marys-abbey-reconstructionbr/>br/>The abbey of St. Mary was mostly destroyed during the dissolution under the rule of Henry VIII and now only ruins remain. These ruins can be found in the Museum Gardens adjacent to the river Ouse in York city. Virtual models of this now derelict church were built using measurements taken from scaled plans and other sources of architectural evidence. Impulse responses were then created using ray-based room acoustic modelling software. Three different models of the church were used with increasing levels of detail in their geometric structure, referred to as Phase 1, Phase 2 and Phase 3. The work was carried out as part of a Bachelor of Engineering project at the Audiolab in the University of York.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/StMarysAbbeyReconstructionPhase3.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>StPatricksChurchPatringtonPosition1 a hrefjavascript:testReverb(http://reverbjs.org/Library/StPatricksChurchPatringtonPosition1.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StPatricksChurchPatringtonPosition1.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StPatricksChurchPatringtonPosition1.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/st-patricks-church-patringtonbr/>br/>St Patricks Church in Patrington dates back to the medieval era and expresses the decorated design of English Gothic Churches of the early 14th century. It has a cruciform plan, with an external length of about 46 meters, a breadth of 27 meters and a height of 57.5 meters up to the very top of the central tower. These impulse responses were measured in the real world. 3 sets of measurements were recorded for 3 different source-reciever configurations (S1-R1, S2-R2 and S3-R3). The positions of these sources and receivers are described in the attached diagram.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/StPatricksChurchPatringtonPosition1.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>StPatricksChurchPatringtonPosition2 a hrefjavascript:testReverb(http://reverbjs.org/Library/StPatricksChurchPatringtonPosition2.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StPatricksChurchPatringtonPosition2.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StPatricksChurchPatringtonPosition2.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/st-patricks-church-patringtonbr/>br/>St Patricks Church in Patrington dates back to the medieval era and expresses the decorated design of English Gothic Churches of the early 14th century. It has a cruciform plan, with an external length of about 46 meters, a breadth of 27 meters and a height of 57.5 meters up to the very top of the central tower. These impulse responses were measured in the real world. 3 sets of measurements were recorded for 3 different source-reciever configurations (S1-R1, S2-R2 and S3-R3). The positions of these sources and receivers are described in the attached diagram.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/StPatricksChurchPatringtonPosition2.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>StPatricksChurchPatringtonPosition3 a hrefjavascript:testReverb(http://reverbjs.org/Library/StPatricksChurchPatringtonPosition3.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StPatricksChurchPatringtonPosition3.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/StPatricksChurchPatringtonPosition3.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/st-patricks-church-patringtonbr/>br/>St Patricks Church in Patrington dates back to the medieval era and expresses the decorated design of English Gothic Churches of the early 14th century. It has a cruciform plan, with an external length of about 46 meters, a breadth of 27 meters and a height of 57.5 meters up to the very top of the central tower. These impulse responses were measured in the real world. 3 sets of measurements were recorded for 3 different source-reciever configurations (S1-R1, S2-R2 and S3-R3). The positions of these sources and receivers are described in the attached diagram.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/StPatricksChurchPatringtonPosition3.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>TerrysFactoryWarehouse a hrefjavascript:testReverb(http://reverbjs.org/Library/TerrysFactoryWarehouse.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/TerrysFactoryWarehouse.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/TerrysFactoryWarehouse.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/terrys-factory-warehousebr/>br/>These Impulse Responses were measured in a large empty warehouse inside the Terrys chocolate and confectory factory in York. The factory was closed in 2005 and the site is planned for redevelopment.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/TerrysFactoryWarehouse.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>TerrysTypingRoom a hrefjavascript:testReverb(http://reverbjs.org/Library/TerrysTypingRoom.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/TerrysTypingRoom.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/TerrysTypingRoom.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/terrys-typing-roombr/>br/>These Impulse Responses were measured in the partitioned typing room inside the Terrys chocolate and confectionery factory in York. The factory was closed in 2005 and the site is planned for redevelopment.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/TerrysTypingRoom.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>TyndallBruceMonument a hrefjavascript:testReverb(http://reverbjs.org/Library/TyndallBruceMonument.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/TyndallBruceMonument.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/TyndallBruceMonument.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/tyndall-bruce-monumentbr/>br/>This monument was created for Onesipherous Tyndall Bruce in Falkland.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/TyndallBruceMonument.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>UndergroundCarPark a hrefjavascript:testReverb(http://reverbjs.org/Library/UndergroundCarPark.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/UndergroundCarPark.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/UndergroundCarPark.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLib (2014)br/>http://www.openairlib.net/auralizationdb/content/underground-car-parkbr/>br/>First Impulse Response recording in an underground car park. Has a slightly nice resonance in it from the metal pipes on the ceiling.br/>br/>Attribution Share Alike Creative Commonsbr/>http://creativecommons.org/licenses/by-sa/3.0/br/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/UndergroundCarPark.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>h2>YorkMinster a hrefjavascript:testReverb(http://reverbjs.org/Library/YorkMinster.m4a, scale);>(synth)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/YorkMinster.m4a, piece);>(piano)/a> a hrefjavascript:testReverb(http://reverbjs.org/Library/YorkMinster.m4a, stop);>(stop)/a>/h2>h3>Attribution/h3>p>By OpenAirLibbr/>br/>http://www.openairlib.net/auralizationdb/content/york-minsterbr/>br/>York Minster is the largest medieval gothic cathedral in the UK and one of the finest in Europe, built between the 12th and 15th centuries on the foundations of the previous Norman church that was in turn constructed on the foundations of the original Roman fortress. It is approximately 160m long, 76m wide and 27m high to the vaulted ceiling, constructed predominantly of stone with extensive, large panels of stained glass windows. Its beautiful acoustic and setting make it a sought after and highly popular music performance venue.br/>br/>License for this content: Attribution Share Alike Creative Commons licensebr/>/p>h3>Usage/h3>pre>code><script srchttp://reverbjs.org/reverb.js></script><script>// 1) Setup your audio context (once) and extend with Reverb.js.var audioContext new (window.AudioContext || window.webkitAudioContext)();reverbjs.extend(audioContext);// 2) Load the impulse response; upon load, connect it to the audio output.var reverbUrl http://reverbjs.org/Library/YorkMinster.m4a;var reverbNode audioContext.createReverbFromUrl(reverbUrl, function() { reverbNode.connect(audioContext.destination);});// 3) Load a test sound; upon load, connect it to the reverb node.var sourceUrl http://reverbjs.org/Library/SampleBachCMinorPrelude.m4a;var sourceNode audioContext.createSourceFromUrl(sourceUrl, function() { sourceNode.connect(reverbNode);});</script><a hrefjavascript:sourceNode.start()>Test</a>/code>/pre>!--END GENERATED--> /article> /body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]