{"id":859,"date":"2017-02-22T10:36:19","date_gmt":"2017-02-22T10:36:19","guid":{"rendered":"http:\/\/www.brucewiggins.co.uk\/?p=859"},"modified":"2017-09-11T13:13:04","modified_gmt":"2017-09-11T12:13:04","slug":"details-on-facebook-360-ambisonics-mapping-from-angelo-farina","status":"publish","type":"post","link":"https:\/\/www.brucewiggins.co.uk\/?p=859","title":{"rendered":"Details on Facebook 360 Ambisonics Mapping from Angelo Farina"},"content":{"rendered":"<p>EDIT: <em>You can download a <a href=\"http:\/\/reaperblog.net\/2015\/06\/quick-tip-how-to-install-js-plugins\/\" target=\"_blank\" rel=\"noopener\">JS effect<\/a> (for Reaper) that does the conversion from ambiX to TBE and another that goes from TBE to 2nd order, 2D, Furse-Malham format here (I&#8217;ve included my remapping JS effect too, so you can also go from Furse-Malham to TBE format by converting to that <\/em>first \ud83d\ude42 :<\/p>\n<p>Update: September 2017 (from\u00a0<a href=\"http:\/\/pcfarina.eng.unipr.it\/TBE-conversion.htm\" target=\"_blank\" rel=\"noopener\">http:\/\/pcfarina.eng.unipr.it\/TBE-conversion.htm<\/a>)<\/p>\n<p><strong>NEW Version of the Tools:\u00a0<a href=\"https:\/\/www.brucewiggins.co.uk\/wp-content\/uploads\/2017\/02\/WigTBEToolsSep2017.zip\">WigWare AmbiX, FuMa and TBE Tools Sept. 2017 Update<\/a><\/strong><\/p>\n<p>Facebook have updated TBE to remove the &#8216;R&#8217; component from channel 4. \u00a0This is important as, before it was removed, it was impossible to go from TBE to 1st order Ambisonics (for Youtube etc.). \u00a0The new details are excellently discussed on Angelo&#8217;s webpage which can be found at\u00a0<a href=\"http:\/\/pcfarina.eng.unipr.it\/TBE-conversion.htm\">http:\/\/pcfarina.eng.unipr.it\/TBE-conversion.htm<\/a><\/p>\n<pre><strong>TBE(1) =\u00a0 0.488603 * Ambix(0); W<\/strong>\r\n<strong>TBE(2) = -0.488603\u00a0* Ambix(1); Y<\/strong>\r\n<strong>TBE(3) =\u00a0 0.488603\u00a0* Ambix(3); X<\/strong>\r\n<strong>TBE(4) =\u00a0 0.488603\u00a0* Ambix(2); Z<\/strong>\r\n<strong>TBE(5) = -0.630783 * Ambix(8); U<\/strong>\r\n<strong>TBE(6) = -0.630783 * Ambix(4); V<\/strong>\r\n<strong>TBE(7) = -0.630783 * Ambix(5); T<\/strong>\r\n<strong>TBE(8) =\u00a0 0.630783 * Ambix(7); S<\/strong><\/pre>\n<p>Note that going from TBE to horizontal 2nd order FuMa is unchanged (useful for driving my Irregular Ambisonics Decoders \ud83d\ude09<\/p>\n<p>A good timeline and discussion of the issues, and why Facebook changed the encoding, can be found <a href=\"https:\/\/www.facebook.com\/groups\/audio360support\/permalink\/2053591944871670\/\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n<h2>Older Information, pre V2.2 of Facebook Spatial Workstation.<\/h2>\n<p><a href=\"http:\/\/www.brucewiggins.co.uk\/wp-content\/uploads\/2017\/02\/WigTBETools.zip\">WigWare AmbiX, FuMa and TBE Tools<\/a><\/p>\n<p>Angelo Farina has published an excellent article detailing how the 9, 2nd order Ambisonic components map to the 8 channels of the Facebook360 TBE format (they decided to pander to the 8-channel limit of pro-tools \ud83d\ude41 ). \u00a0All the details can be found at Angelo&#8217;s website:<\/p>\n<p><a href=\"http:\/\/pcfarina.eng.unipr.it\/TBE-conversion.htm\" target=\"_blank\" rel=\"noopener\">http:\/\/pcfarina.eng.unipr.it\/TBE-conversion.htm\u00a0<\/a><\/p>\n<p>The important bit, for my own notes, is (with added Furse-Malham mapping):<\/p>\n<pre><b><span style=\"font-family: Courier;\">TBE(1) =\u00a0 0.486968 * Ambix(1) \u00a0(FuMa W)\r\n<\/span><\/b><b><span style=\"font-family: Courier;\">TBE(2) = -0.486968 * Ambix(2) \u00a0(FuMa Y)\r\n<\/span><\/b><b><span style=\"font-family: Courier;\">TBE(3) =\u00a0 0.486968 * Ambix(4) \u00a0(FuMa X)\r\n<\/span><\/b><b><span style=\"font-family: Courier;\">TBE(4) =\u00a0 0.344747 * Ambix(3)  \r\n        + 0.445656 * Ambix(7)  (FuMa Z+R)\r\n<\/span><\/b><b><span style=\"font-family: Courier;\">TBE(5) = -0.630957 * Ambix(9)  (FuMa U)\r\n<\/span><\/b><b><span style=\"font-family: Courier;\">TBE(6) = -0.630957 * Ambix(5)  (FuMa V)\r\n<\/span><\/b><b><span style=\"font-family: Courier;\">TBE(7) = -0.630957 * Ambix(6)  (FuMa T)\r\n<\/span><\/b><b><span style=\"font-family: Courier;\">TBE(8) =\u00a0 0.630957 * Ambix(8)  (FuMa S)<\/span><\/b><\/pre>\n<p>And, to go from TBE to 2nd order, 2D, Furse-Malham format (as mentioned by Ed, in the comments below):<\/p>\n<pre><strong>W =  1.446968601 * TBE(1)<\/strong>\r\n<strong>X =  2.047502048 * TBE(3)<\/strong>\r\n<strong>Y = -2.047502048 * TBE(2)<\/strong>\r\n<strong>U = -1.839587932 * TBE(5)<\/strong>\r\n<strong>V = -1.839587932 * TBE(6)<\/strong><\/pre>\n<p><a href=\"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2017\/02\/TBE_Channel_4_ZR.png\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"878\" data-permalink=\"https:\/\/www.brucewiggins.co.uk\/?attachment_id=878\" data-orig-file=\"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2017\/02\/TBE_Channel_4_ZR.png?fit=522%2C723&amp;ssl=1\" data-orig-size=\"522,723\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"TBE_Channel_4_(Z+R)\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2017\/02\/TBE_Channel_4_ZR.png?fit=522%2C723&amp;ssl=1\" class=\"size-medium wp-image-878 alignright\" src=\"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2017\/02\/TBE_Channel_4_ZR-217x300.png?resize=217%2C300\" alt=\"\" width=\"217\" height=\"300\" srcset=\"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2017\/02\/TBE_Channel_4_ZR.png?resize=217%2C300&amp;ssl=1 217w, https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2017\/02\/TBE_Channel_4_ZR.png?w=522&amp;ssl=1 522w\" sizes=\"auto, (max-width: 217px) 100vw, 217px\" \/><\/a>TBE is<a href=\"https:\/\/facebook360.fb.com\/spatial-workstation\/\" target=\"_blank\" rel=\"noopener\"> Facebook360 <\/a>Two Big Ears format<br \/>\nambiX is the <a href=\"http:\/\/iem.kug.ac.at\/fileadmin\/media\/iem\/projects\/2011\/ambisonics11_nachbar_zotter_sontacchi_deleflie.pdf\" target=\"_blank\" rel=\"noopener\">ambiX format<\/a> used by <a href=\"https:\/\/github.com\/google\/spatial-media\" target=\"_blank\" rel=\"noopener\">YouTube Spatial Media<\/a> (ACN channel order and SN3D normalisation)<br \/>\nFuMa\u00a0is the <a href=\"https:\/\/www.york.ac.uk\/inst\/mustech\/3d_audio\/higher_order_ambisonics.pdf\" target=\"_blank\" rel=\"noopener\">Furse-Malham<\/a> channel ordering and normalisation scheme.<\/p>\n<p>See\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Ambisonic_data_exchange_formats\" target=\"_blank\" rel=\"noopener\">https:\/\/en.wikipedia.org\/wiki\/Ambisonic_data_exchange_formats<\/a> for further details on channel ordering and normalisation schemes.<\/p>\n<p>A polar plot of TBE Channel 4 (the combination of the Z and R channels in FuMa\u00a0speak) can be seen above (click for higher res image).<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>EDIT: You can download a JS effect (for Reaper) that does the conversion from ambiX to TBE and another that goes from TBE to 2nd order, 2D, Furse-Malham format here (I&#8217;ve included my remapping JS effect too, so you can also go from Furse-Malham to TBE format by converting to that first \ud83d\ude42 : Update: &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.brucewiggins.co.uk\/?p=859\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Details on Facebook 360 Ambisonics Mapping from Angelo Farina&#8221;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":true,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[3,36],"tags":[],"class_list":["post-859","post","type-post","status-publish","format-standard","hentry","category-ambisonics","category-vr"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p2iYFT-dR","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1785,"url":"https:\/\/www.brucewiggins.co.uk\/?p=1785","url_meta":{"origin":859,"position":0},"title":"New AmbiX WigWare Plugins Available","author":"Bruce Wiggins","date":"January 20th,  2022","format":false,"excerpt":"After some time, I decided to both update my Ambisonic tools to support the AmbiX standard (now widely used for immersive audio, 360 videos and VR) and rework my speaker array decoders using JSFX to make them a little more powerful and with a better workflow for me to quickly\u2026","rel":"","context":"With 9 comments","block_context":{"text":"With 9 comments","link":"https:\/\/www.brucewiggins.co.uk\/?p=1785#comments"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2022\/01\/image.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2022\/01\/image.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2022\/01\/image.png?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2022\/01\/image.png?resize=700%2C400&ssl=1 2x, https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2022\/01\/image.png?resize=1050%2C600&ssl=1 3x, https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2022\/01\/image.png?resize=1400%2C800&ssl=1 4x"},"classes":[]},{"id":730,"url":"https:\/\/www.brucewiggins.co.uk\/?p=730","url_meta":{"origin":859,"position":1},"title":"YouTube Binaural Reaper Project","author":"Bruce Wiggins","date":"May 12th,  2016","format":false,"excerpt":"So, here's an example (but empty) Reaper project that contains the YouTube binaural filters I measured. \u00a0You'll need to use your preferred Ambisonics plug-ins of choice, and I'm assuming FuMa channel ordering etc.. they'll be remapped by a plug-in. There is a bundle of JS effects in the folder too,\u2026","rel":"","context":"In &quot;Ambisonics&quot;","block_context":{"text":"Ambisonics","link":"https:\/\/www.brucewiggins.co.uk\/?cat=3"},"img":{"alt_text":"YouTubeBinProject","src":"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2016\/05\/YouTubeBinProject-300x166.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":666,"url":"https:\/\/www.brucewiggins.co.uk\/?p=666","url_meta":{"origin":859,"position":2},"title":"YouTube, Ambisonics and VR","author":"Bruce Wiggins","date":"April 25th,  2016","format":false,"excerpt":"Introduction So, last week Google enabled head (phone!) tracked positional audio on 360 degree videos. \u00a0Ambisonics is now one of the defacto standards for VR audio. \u00a0This is a big moment! \u00a0I've been playing a little with some of the command line tools needed to get this to work, and\u2026","rel":"","context":"In &quot;Ambisonics&quot;","block_context":{"text":"Ambisonics","link":"https:\/\/www.brucewiggins.co.uk\/?cat=3"},"img":{"alt_text":"AmbiSignalRemap","src":"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2016\/04\/AmbiSignalRemap.jpg?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":700,"url":"https:\/\/www.brucewiggins.co.uk\/?p=700","url_meta":{"origin":859,"position":3},"title":"YouTube 360 VR Ambisonics Teardown!","author":"Bruce Wiggins","date":"April 28th,  2016","format":false,"excerpt":"UPDATE : 4th May 2016 - I've added a video using the measured filters. This will be useful for auditioning the mixes before uploading them to YouTube. So, I've\u00a0been experimenting with YouTube's Ambisonic to Binaural VR videos. \u00a0They work, sound spacious and head tracking also functions (although there seems to\u2026","rel":"","context":"In &quot;Ambisonics&quot;","block_context":{"text":"Ambisonics","link":"https:\/\/www.brucewiggins.co.uk\/?cat=3"},"img":{"alt_text":"You Tube HRIRs 0 degrees","src":"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2016\/04\/YouTubeHRIRs00-300x222.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1918,"url":"https:\/\/www.brucewiggins.co.uk\/?p=1918","url_meta":{"origin":859,"position":4},"title":"Ambisonics B-Format to UHJ Transcoder","author":"Bruce Wiggins","date":"January 10th,  2023","format":false,"excerpt":"As a continuation of my previous post (UHJ to B-Format\/Quad Transcoder\/Decoder) I've now made a plug-in that transcodes\/encodes from 1st Order B-Format (AmbiX or FuMa) to UHJ. As before, it's based on Gerzon's original paper (http:\/\/decoy.iki.fi\/dsound\/ambisonic\/motherlode\/source\/11730.pdf) and also includes what Gerzon calls a PQ meter which is a simple visualisation\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2023\/01\/WigUHJ.gif?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2023\/01\/WigUHJ.gif?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2023\/01\/WigUHJ.gif?resize=525%2C300&ssl=1 1.5x, https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2023\/01\/WigUHJ.gif?resize=700%2C400&ssl=1 2x"},"classes":[]},{"id":757,"url":"https:\/\/www.brucewiggins.co.uk\/?p=757","url_meta":{"origin":859,"position":5},"title":"YouTube Spatial Audio Inverse Filter","author":"Bruce Wiggins","date":"October 7th,  2016","format":false,"excerpt":"It's been a little while since my last Ambisonics on YouTube post, so I thought I'd share a filter I've made to help make YouTube Ambisonics content sound better! \u00a0As you may have noticed, the audio that comes off YouTube once your spatial, Ambisonic, audio is uploaded is quite coloured\u2026","rel":"","context":"With 4 comments","block_context":{"text":"With 4 comments","link":"https:\/\/www.brucewiggins.co.uk\/?p=757#comments"},"img":{"alt_text":"YouTube Frequency Response vs Inverse Filter","src":"https:\/\/i0.wp.com\/www.brucewiggins.co.uk\/wp-content\/uploads\/2016\/10\/YTInvFilter.png?resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/859","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=859"}],"version-history":[{"count":17,"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/859\/revisions"}],"predecessor-version":[{"id":1088,"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=\/wp\/v2\/posts\/859\/revisions\/1088"}],"wp:attachment":[{"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=859"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=859"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.brucewiggins.co.uk\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=859"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}