{"id":3731,"date":"2026-09-22T20:02:30","date_gmt":"2026-09-22T18:02:30","guid":{"rendered":"https:\/\/lucasgoret.com\/?page_id=3731"},"modified":"2026-09-23T10:29:08","modified_gmt":"2026-09-23T08:29:08","slug":"audition-multipiste","status":"publish","type":"page","link":"https:\/\/lucasgoret.com\/index.php\/audition-multipiste\/","title":{"rendered":"4 COURS &#8211; Audition &#8211; Multipiste"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"3731\" class=\"elementor elementor-3731\">\n\t\t\t\t<div class=\"elementor-element elementor-element-dfa08b2 e-flex e-con-boxed e-con e-parent\" data-id=\"dfa08b2\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-b11193d elementor-widget elementor-widget-html\" data-id=\"b11193d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<style>\n#mp26 {\n  --bg:#f3f3ef;--panel:#fff;--panel-soft:#e9e9e4;--text:#111214;\n  --muted:#686a70;--soft:#8d8f96;--line:rgba(17,18,20,.11);\n  --accent:#625cff;--accent-soft:rgba(98,92,255,.10);\n  width:100%;min-height:100vh;background:var(--bg)!important;color:var(--text)!important;\n  font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,sans-serif!important;\n  font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;\n}\n#mp26.mp-dark {\n  --bg:#090a0c;--panel:#15161a;--panel-soft:#101114;--text:#f4f4f6;\n  --muted:#a9aab0;--soft:#74767d;--line:rgba(255,255,255,.11);\n  --accent:#9793ff;--accent-soft:rgba(151,147,255,.13);\n}\n#mp26,#mp26 *{box-sizing:border-box}\n#mp26 div,#mp26 section,#mp26 article,#mp26 header,#mp26 footer,#mp26 nav,\n#mp26 span,#mp26 p,#mp26 h1,#mp26 h2,#mp26 h3,#mp26 h4,#mp26 h5,#mp26 h6,\n#mp26 strong,#mp26 b,#mp26 em,#mp26 i,#mp26 a,#mp26 li,#mp26 summary,#mp26 button,\n#mp26 table,#mp26 td,#mp26 th{color:inherit!important}\n#mp26 h1,#mp26 h2,#mp26 h3,#mp26 h4,#mp26 p{margin-top:0!important}\n#mp26 a{text-decoration:none}\n#mp26 img{display:block;max-width:100%;height:auto}\n#mp26 .mp-shell{width:min(1160px,calc(100% - 64px));margin:0 auto}\n\n#mp26 .mp-coursebar{width:100%;overflow-x:auto;background:#050505!important;border-bottom:1px solid rgba(255,255,255,.09);scrollbar-width:none}\n#mp26 .mp-coursebar::-webkit-scrollbar{display:none}\n#mp26 .mp-coursebar-inner{width:min(1500px,calc(100% - 40px));min-width:1050px;margin:auto;display:grid;grid-template-columns:repeat(7,1fr)}\n#mp26 .mp-course-item{position:relative;min-height:108px;padding:20px 12px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff!important;font-size:13px;font-weight:760;line-height:1.25}\n#mp26 .mp-course-item:after{content:\"\";position:absolute;bottom:15px;left:50%;width:0;height:2px;background:var(--accent)!important;transform:translateX(-50%);transition:width .25s ease}\n#mp26 .mp-course-item:hover:after,#mp26 .mp-course-item.is-current:after{width:42px}\n\n#mp26 .mp-top-wrap{position:sticky;top:12px;z-index:100;padding-top:12px}\n#mp26 .mp-top{width:min(1160px,calc(100% - 64px));min-height:62px;margin:auto;padding:9px 11px 9px 17px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line)!important;border-radius:19px;background:var(--panel)!important;box-shadow:0 8px 30px rgba(0,0,0,.05);opacity:.97}\n#mp26 .mp-brand{display:flex;align-items:center;gap:12px}\n#mp26 .mp-dot{width:10px;height:10px;border-radius:99px;background:var(--accent)!important;box-shadow:0 0 0 6px var(--accent-soft)}\n#mp26 .mp-brand-title{display:block;font-size:13px;font-weight:750}\n#mp26 .mp-brand-sub{display:block;margin-top:5px;color:var(--soft)!important;font-size:10px;text-transform:uppercase;letter-spacing:.12em}\n#mp26 .mp-theme{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line)!important;border-radius:13px;background:transparent!important;color:var(--text)!important;cursor:pointer;font-size:18px}\n\n#mp26 .mp-hero{padding:clamp(100px,12vw,165px) 0 clamp(85px,9vw,125px)}\n#mp26 .mp-hero-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(250px,.45fr);gap:70px;align-items:end}\n#mp26 .mp-kicker{display:flex;align-items:center;gap:12px;margin-bottom:29px;color:var(--muted)!important;font-size:11px;font-weight:750;letter-spacing:.15em;text-transform:uppercase}\n#mp26 .mp-kicker:before{content:\"\";width:35px;height:1px;background:var(--accent)!important}\n#mp26 .mp-hero h1{margin:0!important;color:var(--text)!important;font-size:clamp(65px,10vw,138px)!important;line-height:.82!important;letter-spacing:-.075em!important;font-weight:700!important}\n#mp26 .mp-hero-word{display:block;will-change:transform}\n#mp26 .mp-hero-word:first-child{color:var(--text)!important}\n#mp26 .mp-hero-word:last-child{color:var(--accent)!important}\n#mp26 .mp-hero-side{display:grid;gap:11px}\n#mp26 .mp-meta-card{padding:19px;border:1px solid var(--line)!important;border-radius:17px;background:var(--panel)!important}\n#mp26 .mp-meta-label{display:block;margin-bottom:6px;color:var(--soft)!important;font-size:10px;font-weight:750;letter-spacing:.12em;text-transform:uppercase}\n#mp26 .mp-meta-value{font-size:14px;font-weight:700}\n\n#mp26 .mp-nav{display:flex;gap:5px;margin-bottom:22px;padding:7px;overflow-x:auto;scrollbar-width:none;border:1px solid var(--line)!important;border-radius:17px;background:var(--panel)!important}\n#mp26 .mp-nav::-webkit-scrollbar{display:none}\n#mp26 .mp-nav a{flex:0 0 auto;padding:10px 12px;border-radius:10px;color:var(--muted)!important;font-size:12px;font-weight:650}\n#mp26 .mp-nav a:hover{color:var(--text)!important;background:var(--accent-soft)!important}\n\n#mp26 .mp-section{padding:clamp(78px,9vw,118px) 0;scroll-margin-top:105px}\n#mp26 .mp-section + .mp-section{border-top:1px solid var(--line)}\n#mp26 .mp-head{display:grid;grid-template-columns:145px minmax(0,1fr);gap:36px;margin-bottom:clamp(42px,6vw,72px);align-items:start}\n#mp26 .mp-index{padding-top:8px;color:var(--accent)!important;font-size:11px;font-weight:750;letter-spacing:.13em;text-transform:uppercase}\n#mp26 .mp-head h2{max-width:900px;margin:0!important;color:var(--text)!important;font-size:clamp(40px,6vw,76px)!important;line-height:.98!important;letter-spacing:-.052em!important;font-weight:650!important;overflow-wrap:anywhere;text-wrap:balance;will-change:transform}\n\n#mp26 .mp-flow{display:flex;flex-direction:column;gap:clamp(36px,5vw,68px)}\n#mp26 .mp-pair{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(38px,7vw,82px);align-items:start}\n#mp26 .mp-pair-image-first .mp-media{grid-column:1}\n#mp26 .mp-pair-image-first > :not(.mp-media){grid-column:2}\n#mp26 .mp-pair-text-first > :not(.mp-media){grid-column:1}\n#mp26 .mp-pair-text-first .mp-media{grid-column:2}\n#mp26 .mp-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}\n#mp26 .mp-rule{width:100%;height:1px;background:var(--line)!important}\n\n#mp26 .mp-reading{max-width:790px;padding:0;background:transparent!important}\n#mp26 .mp-reading p{margin:0 0 1.35em!important;color:var(--muted)!important;font-size:clamp(15px,1.23vw,18px)!important;line-height:1.82!important}\n#mp26 .mp-reading strong,#mp26 .mp-reading b{color:var(--text)!important;font-weight:720}\n#mp26 .mp-reading ul,#mp26 .mp-reading ol{margin:.9em 0 1.25em;padding-left:1.25em;color:var(--muted)!important}\n#mp26 .mp-reading li{margin:.52em 0;color:var(--muted)!important}\n#mp26 .mp-reading li strong,#mp26 .mp-reading li b{color:var(--text)!important}\n#mp26 .mp-reading h1,#mp26 .mp-reading h2,#mp26 .mp-reading h3,#mp26 .mp-reading h4{color:var(--text)!important;letter-spacing:-.035em!important;line-height:1.08!important}\n\n#mp26 .mp-subhead{max-width:900px;padding:0;background:transparent!important}\n#mp26 .mp-subhead h1,#mp26 .mp-subhead h2,#mp26 .mp-subhead h3,#mp26 .mp-subhead h4{margin:0!important;color:var(--text)!important;font-size:clamp(27px,3.5vw,42px)!important;line-height:1.08!important;letter-spacing:-.04em!important;font-weight:650!important}\n#mp26 .mp-subhead p{margin:12px 0 0!important;color:var(--muted)!important}\n\n#mp26 .mp-statement{width:min(820px,100%);padding:clamp(28px,4.2vw,46px);border:1px solid rgba(98,92,255,.23)!important;border-radius:25px;background:var(--accent-soft)!important;color:var(--text)!important}\n#mp26 .mp-statement p{margin:0!important;color:var(--text)!important;font-size:clamp(18px,2vw,24px)!important;line-height:1.55!important}\n#mp26 .mp-statement strong,#mp26 .mp-statement b{color:var(--text)!important}\n#mp26 .mp-aside{width:min(820px,100%);padding:22px 24px;border-left:2px solid var(--accent)!important;border-radius:0 13px 13px 0;background:var(--accent-soft)!important}\n#mp26 .mp-aside p{margin:0 0 1em!important;color:var(--text)!important;font-size:14px!important;line-height:1.72!important}\n#mp26 .mp-aside p:last-child{margin-bottom:0!important}\n#mp26 .mp-aside strong,#mp26 .mp-aside b{color:var(--text)!important}\n\n#mp26 .mp-media{margin:0;overflow:hidden;border:1px solid var(--line)!important;border-radius:22px;background:var(--panel)!important}\n#mp26 .mp-media a{display:block}\n#mp26 .mp-media img{width:100%;max-height:620px;object-fit:contain;padding:10px;background:#f5f2e9!important}\n#mp26.mp-dark .mp-media img{background:#e9e5df!important}\n#mp26 .mp-media iframe,#mp26 .mp-media video{display:block;width:100%;aspect-ratio:16\/9;border:0;background:#000!important}\n\n#mp26 .mp-reading *,#mp26 .mp-statement *,#mp26 .mp-aside *,#mp26 .mp-subhead *{border-color:var(--line)!important}\n#mp26 table{width:100%;border-collapse:collapse;border:1px solid var(--line)!important;color:var(--muted)!important;font-size:13px}\n#mp26 th,#mp26 td{padding:12px 13px;border:1px solid var(--line)!important;vertical-align:top}\n#mp26 th{background:var(--panel-soft)!important;color:var(--text)!important;text-align:left}\n#mp26 .mp-reading a,#mp26 .mp-aside a,#mp26 .mp-statement a{color:var(--text)!important;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:3px}\n\n#mp26 [data-mp-parallax]{will-change:transform;transform:translate3d(0,0,0)}\n#mp26 .mp-reveal{opacity:1;transform:none}\n#mp26.mp-motion-ready .mp-reveal{opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}\n#mp26.mp-motion-ready .mp-reveal.is-visible{opacity:1;transform:none}\n\n#mp26 .mp-footer{display:flex;justify-content:space-between;gap:20px;padding:26px 0 45px;border-top:1px solid var(--line);color:var(--soft)!important;font-size:11px}\n\n@media(max-width:950px){\n  #mp26 .mp-hero-grid,#mp26 .mp-pair{grid-template-columns:1fr}\n  #mp26 .mp-hero-side{grid-template-columns:repeat(3,1fr)}\n  #mp26 .mp-pair-image-first .mp-media,#mp26 .mp-pair-image-first > :not(.mp-media),\n  #mp26 .mp-pair-text-first .mp-media,#mp26 .mp-pair-text-first > :not(.mp-media){grid-column:1}\n  #mp26 .mp-gallery{grid-template-columns:repeat(2,1fr)}\n}\n@media(max-width:650px){\n  #mp26 .mp-shell{width:calc(100% - 30px)}\n  #mp26 .mp-top{width:calc(100% - 20px)}\n  #mp26 .mp-brand-sub{display:none}\n  #mp26 .mp-hero{padding:88px 0 65px}\n  #mp26 .mp-hero h1{font-size:clamp(58px,19vw,88px)!important}\n  #mp26 .mp-hero-grid{gap:44px}\n  #mp26 .mp-hero-side{grid-template-columns:1fr}\n  #mp26 .mp-head{grid-template-columns:1fr;gap:10px}\n  #mp26 .mp-head h2{font-size:clamp(38px,12vw,58px)!important}\n  #mp26 .mp-gallery{grid-template-columns:1fr}\n  #mp26 .mp-footer{flex-direction:column}\n}\n@media(prefers-reduced-motion:reduce){\n  #mp26 *,#mp26 *:before,#mp26 *:after{transition:none!important;scroll-behavior:auto!important}\n  #mp26 [data-mp-parallax]{transform:none!important}\n  #mp26 .mp-reveal{opacity:1!important;transform:none!important}\n}\n\n#mp26 .mp-embedded-tool{\n  width:100%;\n  margin:0;\n  position:relative;\n  isolation:isolate;\n}\n#mp26 .mp-tool-intro{\n  max-width:820px;\n  margin-bottom:34px;\n}\n#mp26 .mp-tool-intro p{\n  margin:0!important;\n  color:var(--muted)!important;\n  font-size:clamp(15px,1.23vw,18px)!important;\n  line-height:1.82!important;\n}\n#mp26 .mp-tool-intro strong{color:var(--text)!important}\n#mp26 .mp-tool-break{\n  height:1px;\n  width:100%;\n  margin:8px 0 0;\n  background:var(--line)!important;\n}\n#mp26 #mp-router-embed,\n#mp26 #mp-compressor-embed{\n  overflow:visible;\n}\n#mp26 #mp-router-embed{\n  margin-top:4px;\n}\n#mp26 #mp-compressor-embed{\n  margin-top:20px;\n  margin-bottom:8px;\n}\n@media(max-width:650px){\n  #mp26 #mp-router-embed,\n  #mp26 #mp-compressor-embed{\n    width:100%;\n  }\n}\n\n<\/style>\n<style>\n\n#mp-router-embed{\n  --bg:#090a0c;\n  --panel:#121419;\n  --panel2:#171a20;\n  --panel3:#0d0f13;\n  --line:rgba(255,255,255,.11);\n  --line2:rgba(255,255,255,.06);\n  --text:#f5f5f7;\n  --muted:#a0a4ad;\n  --soft:#707580;\n  --accent:#8f89ff;\n  --danger:#ff5d73;\n  --solo:#ffd45f;\n\n  \/* pistes : toutes diff\u00e9rentes *\/\n  --femme:#48c77a;\n  --homme:#e46470;\n  --ambiance:#4f9ae8;\n  --bruitages:#e5b94f;\n  --musique:#b866d5;\n  --rumble:#9b91a6;\n\n  \/* bus : palette volontairement distincte des pistes *\/\n  --dialog:#22c7b8;\n  --decor:#ff8e4d;\n  --reverb:#5bc8f2;\n  --master:#ffb33f;\n}\n#mp-router-embed *{box-sizing:border-box}\n#mp-router-embed{background:var(--bg);color-scheme:dark}\n#mp-router-embed{\n  margin:0;background:var(--bg);color:var(--text)!important;\n  font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,sans-serif;\n  -webkit-font-smoothing:antialiased;\n}\n#mp-router-embed button, #mp-router-embed input, #mp-router-embed select{font:inherit}\n#mp-router-embed button{cursor:pointer}\n#mp-router-embed #mprt-rt4{\n  width:min(1500px,calc(100% - 20px));\n  margin:22px auto 40px;\n}\n#mp-router-embed .hero{\n  display:flex;justify-content:space-between;align-items:flex-end;\n  gap:22px;margin-bottom:18px;\n}\n#mp-router-embed .hero h1{\n  margin:0;font-size:clamp(32px,5vw,62px);\n  line-height:.94;letter-spacing:-.055em;\n}\n#mp-router-embed .hero p{\n  margin:10px 0 0;max-width:900px;\n  color:var(--muted)!important;font-size:13px;line-height:1.6;\n}\n#mp-router-embed .badge{\n  padding:9px 12px;border:1px solid var(--line);border-radius:999px;\n  color:var(--muted)!important;font-size:10px;font-weight:850;\n  letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;\n}\n#mp-router-embed .shell{\n  overflow:hidden;border:1px solid var(--line);border-radius:25px;\n  background:var(--panel);box-shadow:0 22px 70px rgba(0,0,0,.28);\n}\n#mp-router-embed .toolbar{\n  min-height:50px;display:flex;align-items:center;justify-content:space-between;\n  gap:12px;padding:8px 13px;border-bottom:1px solid var(--line);\n  background:#0c0e12;\n}\n#mp-router-embed .toolbar-left{\n  display:flex;align-items:center;gap:10px;color:var(--muted)!important;\n  font-size:10px;font-weight:800;\n}\n#mp-router-embed .dot{\n  width:8px;height:8px;border-radius:50%;background:var(--accent);\n  box-shadow:0 0 0 5px rgba(143,137,255,.12);\n}\n#mp-router-embed .toolbar-actions{display:flex;gap:6px;flex-wrap:wrap}\n#mp-router-embed .toolbar-actions button{\n  height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;\n  background:#15171c;color:var(--muted)!important;font-size:9px;font-weight:800;\n}\n#mp-router-embed .toolbar-actions button.accent{background:var(--accent);border-color:transparent;color:#fff}\n\n#mp-router-embed .viewport{overflow-x:auto}\n#mp-router-embed .workspace{\n  position:relative;\n  display:grid;\n  grid-template-columns:205px minmax(465px,1fr) 420px;\n  min-width:1035px;\n  background:#0b0d11;\n}\n#mp-router-embed .panel{position:relative;min-width:0;border-right:1px solid var(--line)}\n#mp-router-embed .panel:last-child{border-right:0}\n#mp-router-embed .panel-head{\n  height:66px;padding:13px 14px 9px;border-bottom:1px solid var(--line);\n  background:#111318;\n}\n#mp-router-embed .panel-head strong{display:block;font-size:15px;letter-spacing:-.02em}\n#mp-router-embed .panel-head span{\n  display:block;margin-top:4px;color:var(--soft)!important;font-size:8px;\n  letter-spacing:.09em;text-transform:uppercase;\n}\n\n#mp-router-embed \/* LEFT *\/\n.left-zone{padding:7px;background:#0d0f13}\n#mp-router-embed .track{\n  position:relative;display:grid;grid-template-columns:6px 1fr;\n  min-height:82px;margin-bottom:6px;border:1px solid var(--line);\n  border-radius:12px;background:var(--panel2);overflow:visible;\n}\n#mp-router-embed .track-color{background:var(--c);border-radius:12px 0 0 12px}\n#mp-router-embed .track-main{padding:8px 7px}\n#mp-router-embed .track-head{display:flex;align-items:flex-start;justify-content:space-between;gap:6px}\n#mp-router-embed .track-name strong{display:block;font-size:11px}\n#mp-router-embed .track-name small{\n  display:block;margin-top:2px;color:var(--soft)!important;\n  font-size:7px;letter-spacing:.09em;text-transform:uppercase;\n}\n#mp-router-embed .ms{display:flex;gap:4px}\n#mp-router-embed .ms button{\n  width:25px;height:23px;border:1px solid var(--line);border-radius:7px;\n  background:#0c0e12;color:var(--muted)!important;font-size:8px;font-weight:900;\n  transition:background .12s,color .12s,border-color .12s,transform .12s;\n}\n#mp-router-embed .ms button:active{transform:scale(.96)}\n#mp-router-embed .ms button.mute.active{\n  background:var(--danger);border-color:var(--danger);color:#fff!important;\n  box-shadow:0 0 0 2px rgba(255,93,115,.16);\n}\n#mp-router-embed .ms button.solo.active{\n  background:var(--solo);border-color:var(--solo);color:#111!important;\n  box-shadow:0 0 0 2px rgba(255,212,95,.16);\n}\n#mp-router-embed .row{\n  display:grid;grid-template-columns:25px 1fr 31px;gap:5px;align-items:center;\n  margin-top:6px;\n}\n#mp-router-embed .row label{color:var(--muted)!important;font-size:7px;font-weight:800}\n#mp-router-embed .row output{color:var(--muted)!important;font-size:7px;text-align:right}\n#mp-router-embed .route-row{\n  display:grid;grid-template-columns:25px 1fr;gap:5px;align-items:center;margin-top:6px;\n}\n#mp-router-embed .route-row label{color:var(--muted)!important;font-size:7px;font-weight:800}\n#mp-router-embed .route-row select{\n  min-width:0;height:25px;padding:0 6px;border:1px solid var(--line);\n  border-radius:6px;background:#101216;color:var(--text)!important;font-size:7px;\n}\n#mp-router-embed input[type=range]{\n  appearance:none;width:100%;height:4px;border-radius:99px;background:#343840;outline:none;\n}\n#mp-router-embed input[type=range]::-webkit-slider-thumb{\n  appearance:none;width:13px;height:13px;border-radius:50%;\n  background:#f4f4f6;border:3px solid var(--accent);\n}\n#mp-router-embed input[type=range]::-moz-range-thumb{\n  width:9px;height:9px;border-radius:50%;\n  background:#f4f4f6;border:3px solid var(--accent);\n}\n#mp-router-embed .port{\n  position:absolute;z-index:20;right:-7px;top:50%;\n  width:12px;height:12px;border:2px solid #0d0f13;border-radius:50%;\n  background:var(--c);transform:translateY(-50%);\n  box-shadow:0 0 0 2px rgba(255,255,255,.14);\n}\n#mp-router-embed .bus-divider{\n  display:flex;align-items:center;gap:7px;margin:10px 1px 7px;\n  color:var(--soft)!important;font-size:7px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;\n}\n#mp-router-embed .bus-divider:before, #mp-router-embed .bus-divider:after{content:\"\";height:1px;flex:1;background:var(--line)}\n#mp-router-embed .bus-track{\n  display:grid;grid-template-columns:30px 1fr;min-height:55px;margin-bottom:6px;\n  border:1px solid var(--line);border-radius:11px;background:#14161a;\n}\n#mp-router-embed .bus-symbol{display:grid;place-items:center;border-right:1px solid var(--line)}\n#mp-router-embed .bus-symbol i{\n  width:15px;height:15px;display:block;transform:rotate(45deg);\n  border-radius:3px;background:var(--c);\n}\n#mp-router-embed .bus-content{padding:7px 8px}\n#mp-router-embed .bus-title{display:flex;align-items:center;justify-content:space-between;gap:5px}\n#mp-router-embed .bus-title strong{font-size:9px}\n#mp-router-embed .bus-title span{\n  padding:2px 5px;border-radius:5px;\n  background:color-mix(in srgb,var(--c) 22%,transparent);\n  color:var(--c)!important;font-size:6px;font-weight:900;letter-spacing:.08em\n}\n#mp-router-embed .bus-fader{display:grid;grid-template-columns:1fr 33px;gap:5px;align-items:center;margin-top:6px}\n#mp-router-embed .bus-fader output{color:var(--muted)!important;font-size:7px;text-align:right}\n\n#mp-router-embed .bus-title-main{\n  display:flex;\n  align-items:center;\n  gap:6px;\n  min-width:0;\n}\n#mp-router-embed .bus-ms{\n  display:flex;\n  gap:4px;\n  flex:0 0 auto;\n}\n#mp-router-embed .bus-ms button{\n  width:23px;\n  height:20px;\n  border:1px solid var(--line);\n  border-radius:6px;\n  background:#0c0e12;\n  color:var(--muted)!important;\n  font-size:7px;\n  font-weight:900;\n  transition:background .12s,color .12s,border-color .12s,transform .12s;\n}\n#mp-router-embed .bus-ms button:active{transform:scale(.96)}\n#mp-router-embed .bus-ms button.mute.active{\n  background:var(--danger);\n  border-color:var(--danger);\n  color:#fff!important;\n}\n#mp-router-embed .bus-ms button.solo.active{\n  background:var(--solo);\n  border-color:var(--solo);\n  color:#111!important;\n}\n\n#mp-router-embed \/* GLOBAL ROUTING WIRES *\/\n#mprt-routingWires{\n  position:absolute;inset:0;z-index:3;width:100%;height:100%;\n  pointer-events:none;overflow:visible;\n}\n#mp-router-embed .wire{\n  fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.87;\n}\n#mp-router-embed .wire.send{stroke-width:2.25;stroke-dasharray:4 7}\n#mp-router-embed .wire.active{\n  stroke-dasharray:10 9;animation:flow .78s linear infinite;\n  filter:drop-shadow(0 0 3px currentColor);opacity:1;\n}\n#mp-router-embed .wire.send.active{stroke-dasharray:4 7;animation-duration:.6s}\n@keyframes flow{to{stroke-dashoffset:-19}}\n\n#mp-router-embed \/* CENTER *\/\n.routing{\n  position:relative;min-height:690px;\n  background:radial-gradient(circle at 52% 47%,rgba(255,255,255,.018),transparent 47%),#0d0f13;\n}\n#mp-router-embed .node{\n  position:absolute;z-index:8;display:flex;align-items:center;justify-content:center;\n  flex-direction:column;border:1px solid rgba(0,0,0,.48);\n  box-shadow:0 8px 20px rgba(0,0,0,.17);\n}\n#mp-router-embed .node strong{color:#101010!important;font-size:11px}\n#mp-router-embed .node small{margin-top:3px;color:rgba(0,0,0,.6)!important;font-size:7px}\n#mp-router-embed .node.bus{width:145px;height:62px;border-radius:13px}\n#mp-router-embed #mprt-dialogNode{left:20%;top:110px;background:var(--dialog)}\n#mp-router-embed #mprt-decorNode{left:20%;top:430px;background:var(--decor)}\n#mp-router-embed #mprt-reverbNode{\n  left:41%;\n  top:285px;\n  width:118px;\n  height:48px;\n  border-radius:24px;\n  background:var(--reverb)\n}\n#mp-router-embed #mprt-masterNode{\n  right:18px;\n  top:315px;\n  width:122px;\n  height:74px;\n  border-radius:13px;\n  background:var(--master)\n}\n#mp-router-embed .node-port{\n  position:absolute;right:-7px;top:50%;width:13px;height:13px;\n  border:2px solid #0d0f13;border-radius:50%;background:inherit;\n  transform:translateY(-50%);box-shadow:0 0 0 2px rgba(255,255,255,.14);\n}\n#mp-router-embed .node-caption{\n  position:absolute;z-index:8;color:var(--soft)!important;font-size:7px;\n  font-weight:900;letter-spacing:.09em;text-transform:uppercase;\n}\n#mp-router-embed .cap-dialog{left:20%;top:94px}\n#mp-router-embed .cap-decor{left:20%;top:414px}\n#mp-router-embed .cap-reverb{left:42%;top:268px}\n#mp-router-embed .cap-master{right:30px;top:298px}\n#mp-router-embed .fx{\n  position:absolute;z-index:9;display:flex;gap:5px\n}\n#mp-router-embed .fx-dialog{left:20%;top:181px}\n#mp-router-embed .fx-decor{left:24%;top:500px}\n#mp-router-embed .fx button{\n  height:26px;padding:0 8px;border:1px solid rgba(0,0,0,.33);border-radius:7px;\n  background:#51bce4;color:#111!important;font-size:7px;font-weight:900;\n}\n#mp-router-embed .fx button.off{opacity:.28;filter:grayscale(1)}\n#mp-router-embed .route-legend{\n  position:absolute;z-index:7;left:50%;bottom:22px;transform:translateX(-50%);\n  display:flex;gap:14px;padding:7px 10px;border:1px solid var(--line);\n  border-radius:999px;background:rgba(13,15,19,.82);backdrop-filter:blur(5px);\n  color:var(--soft)!important;font-size:7px;white-space:nowrap;\n}\n#mp-router-embed .legend-line{display:inline-block;width:20px;height:3px;border-radius:3px;background:#888;margin-right:5px;vertical-align:middle}\n#mp-router-embed .legend-line.send{height:2px;background:repeating-linear-gradient(90deg,#888 0 4px,transparent 4px 8px)}\n\n#mp-router-embed \/* CONSOLE *\/\n.console{\n  position:relative;\n  min-height:720px;\n  padding:74px 8px 112px;\n  background:#0d0f13;\n}\n#mp-router-embed .console-grid{\n  display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;\n}\n#mp-router-embed .strip{\n  position:relative;\n  z-index:2;\n  min-width:0;\n  height:495px;padding:7px 2px;\n  border:1px solid var(--line);border-radius:8px;background:#15171c;text-align:center;\n}\n#mp-router-embed .strip.master{background:#1b1813;border-color:rgba(255,179,63,.42)}\n#mp-router-embed .strip-name{\n  height:26px;display:flex;align-items:flex-end;justify-content:center;\n  padding:0 1px 5px;color:var(--text)!important;font-size:6.5px;font-weight:850;\n  line-height:1.1;word-break:break-word;\n}\n#mp-router-embed .strip-color{\n  width:calc(100% - 8px);height:5px;margin:0 auto;border-radius:4px;background:var(--sc);\n}\n#mp-router-embed .bus-slots{\n  height:11px;display:flex;justify-content:center;align-items:center;gap:2px;margin-top:5px;\n}\n#mp-router-embed .bus-slot{\n  width:7px;height:4px;border-radius:2px;background:#292d33;\n  border:1px solid rgba(255,255,255,.06);\n}\n#mp-router-embed .bus-slot.dialog.on{background:var(--dialog)}\n#mp-router-embed .bus-slot.decor.on{background:var(--decor)}\n#mp-router-embed .bus-slot.reverb.on{background:var(--reverb)}\n#mp-router-embed .meter{\n  position:absolute;left:4px;top:55px;bottom:64px;width:4px;\n  overflow:hidden;border-radius:4px;background:#272a30;\n}\n#mp-router-embed .meter i{\n  position:absolute;left:0;right:0;bottom:0;height:0%;\n  background:#69d7a8;transition:height .06s linear;\n}\n#mp-router-embed .fader-area{\n  position:absolute;\n  left:10px;\n  right:3px;\n  top:55px;\n  bottom:66px;\n  display:flex;\n  justify-content:center;\n  align-items:stretch;\n}\n#mp-router-embed .console-fader{\n  position:relative;\n  width:22px;\n  height:100%;\n  touch-action:none;\n  user-select:none;\n  cursor:ns-resize;\n}\n#mp-router-embed .console-fader-track{\n  position:absolute;\n  left:50%;\n  top:4px;\n  bottom:4px;\n  width:4px;\n  transform:translateX(-50%);\n  border-radius:99px;\n  background:#343840;\n}\n#mp-router-embed .console-fader-fill{\n  position:absolute;\n  left:50%;\n  bottom:4px;\n  width:4px;\n  height:calc((100% - 8px) * var(--v, .8));\n  transform:translateX(-50%);\n  border-radius:99px;\n  background:rgba(143,137,255,.22);\n}\n#mp-router-embed .console-fader-thumb{\n  position:absolute;\n  left:50%;\n  bottom:calc(4px + (100% - 8px) * var(--v, .8));\n  width:18px;\n  height:12px;\n  transform:translate(-50%,50%);\n  border:2px solid var(--accent);\n  border-radius:4px;\n  background:#ececef;\n  box-shadow:0 2px 7px rgba(0,0,0,.35);\n  cursor:ns-resize;\n}\n#mp-router-embed .console-fader-thumb:focus-visible{\n  outline:2px solid #fff;\n  outline-offset:3px;\n}\n#mp-router-embed .strip-value{\n  position:absolute;left:1px;right:1px;bottom:37px;color:var(--muted)!important;font-size:6.5px\n}\n\n#mp-router-embed \/* console patching : toutes les tranches -> MASTER -> enceinte *\/\n.console-patch{\n  position:absolute;\n  inset:0;\n  z-index:1;\n  pointer-events:none;\n}\n#mp-router-embed #mprt-consolePatchSvg{\n  position:absolute;\n  inset:0;\n  width:100%;\n  height:100%;\n  overflow:visible;\n}\n#mp-router-embed .patch-path{\n  fill:none;\n  stroke-width:2.2;\n  stroke-linecap:round;\n  stroke-linejoin:round;\n  opacity:.9;\n}\n#mp-router-embed .patch-master{\n  stroke:var(--master);\n  stroke-width:3;\n}\n#mp-router-embed .speaker{\n  position:absolute;\n  z-index:4;\n  top:13px;\n  right:16px;\n  width:54px;\n  height:46px;\n  border:1px solid var(--line);\n  border-radius:10px;\n  background:#17191e;\n  display:flex;\n  align-items:center;\n  justify-content:center;\n  box-shadow:0 6px 16px rgba(0,0,0,.2);\n}\n#mp-router-embed .speaker-box{\n  position:relative;\n  width:24px;\n  height:34px;\n  border:1px solid rgba(255,255,255,.18);\n  border-radius:5px;\n  background:#0d0f13;\n}\n#mp-router-embed .speaker-box:before, #mp-router-embed .speaker-box:after{\n  content:\"\";\n  position:absolute;\n  left:50%;\n  transform:translateX(-50%);\n  border-radius:50%;\n  border:1px solid rgba(255,255,255,.32);\n}\n#mp-router-embed .speaker-box:before{\n  top:5px;\n  width:7px;\n  height:7px;\n}\n#mp-router-embed .speaker-box:after{\n  bottom:5px;\n  width:12px;\n  height:12px;\n}\n#mp-router-embed .speaker-label{\n  position:absolute;\n  top:20px;\n  right:78px;\n  z-index:4;\n  color:var(--soft)!important;\n  font-size:7px;\n  font-weight:850;\n  letter-spacing:.09em;\n  text-transform:uppercase;\n  white-space:nowrap;\n}\n#mp-router-embed \/* transport *\/\n.transport{\n  display:grid;grid-template-columns:315px 1fr;gap:18px;align-items:center;\n  padding:13px 15px;border-top:1px solid var(--line);background:#0b0d11;\n}\n#mp-router-embed .transport-left{display:flex;align-items:center;gap:8px}\n#mp-router-embed .transport button{\n  height:48px;min-width:48px;border:1px solid var(--line);border-radius:14px;\n  background:#181a20;color:#fff!important;font-size:17px;font-weight:850;\n}\n#mp-router-embed .transport .play{width:54px;background:var(--accent);border-color:transparent}\n#mp-router-embed .transport .resetmix{min-width:auto;padding:0 11px;color:var(--muted)!important;font-size:9px}\n#mp-router-embed .master-control{\n  display:grid;grid-template-columns:112px 1fr 48px;gap:9px;align-items:center;\n}\n#mp-router-embed .master-control label{color:var(--muted)!important;font-size:10px;font-weight:700}\n#mp-router-embed .master-control output{color:var(--muted)!important;font-size:9px;text-align:right}\n\n#mp-router-embed \/* help *\/\n.help{\n  display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:13px;\n}\n#mp-router-embed .card{\n  padding:14px 15px;border:1px solid var(--line);border-radius:16px;\n  background:var(--panel);color:var(--muted)!important;font-size:11px;line-height:1.55;\n}\n#mp-router-embed .card strong{display:block;margin-bottom:4px;color:var(--text)!important;font-size:12px}\n#mp-router-embed .status{margin-top:10px;color:var(--soft)!important;font-size:10px}\n#mp-router-embed .status.ok{color:#8ce0be}#mp-router-embed .status.error{color:#ff9aa8}\n\n#mp-router-embed .signature{\n  margin-top:14px;\n  padding-top:10px;\n  border-top:1px solid var(--line2);\n  color:var(--soft)!important;\n  font-size:9px;\n  text-align:center;\n  letter-spacing:.03em;\n}\n\n\n@media(max-width:1280px){\n  #mp-router-embed #mprt-reverbNode{left:39%;top:270px}\n  #mp-router-embed #mprt-masterNode{right:14px;top:330px}\n  #mp-router-embed .cap-reverb{left:40%;top:253px}\n  #mp-router-embed .cap-master{right:25px;top:313px}\n}\n\n@media(max-width:1180px){\n  #mp-router-embed .workspace{grid-template-columns:195px minmax(445px,1fr) 390px;min-width:1020px}\n  #mp-router-embed .node.bus{width:132px}\n  #mp-router-embed #mprt-reverbNode{left:37%;top:260px;width:112px}\n  #mp-router-embed #mprt-masterNode{right:10px;top:344px;width:118px}\n  #mp-router-embed .cap-reverb{left:38%;top:243px}\n  #mp-router-embed .cap-master{right:20px;top:327px}\n}\n@media(max-width:900px){\n  #mp-router-embed #mprt-rt4{width:min(100% - 12px,1500px);margin-top:12px}\n  #mp-router-embed .hero{align-items:flex-start;flex-direction:column}\n  #mp-router-embed .help{grid-template-columns:1fr 1fr}\n}\n@media(max-width:600px){\n  #mp-router-embed .help{grid-template-columns:1fr}\n  #mp-router-embed .transport{grid-template-columns:1fr}\n}\n\n<\/style>\n<style>\n\n#mp-compressor-embed{\n  --bg:#090a0c;\n  --panel:#121419;\n  --panel2:#171a20;\n  --panel3:#0d0f13;\n  --line:rgba(255,255,255,.11);\n  --line2:rgba(255,255,255,.065);\n  --text:#f5f5f7;\n  --muted:#a0a4ad;\n  --soft:#6f747e;\n  --accent:#8f89ff;\n  --accent2:#6f68ff;\n  --danger:#ff5d73;\n  --ok:#69d3a7;\n}\n#mp-compressor-embed *{box-sizing:border-box}\n#mp-compressor-embed{background:var(--bg);color-scheme:dark}\n#mp-compressor-embed{\n  margin:0;\n  background:var(--bg);\n  color:var(--text)!important;\n  font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,sans-serif;\n  -webkit-font-smoothing:antialiased;\n}\n#mp-compressor-embed button, #mp-compressor-embed input{font:inherit}\n#mp-compressor-embed button{cursor:pointer}\n#mp-compressor-embed .app{\n  width:min(1180px,calc(100% - 28px));\n  margin:28px auto 44px;\n}\n#mp-compressor-embed .header{\n  display:flex;\n  align-items:flex-end;\n  justify-content:space-between;\n  gap:24px;\n  margin-bottom:22px;\n}\n#mp-compressor-embed .header h1{\n  margin:0;\n  font-size:clamp(30px,5vw,62px);\n  line-height:.95;\n  letter-spacing:-.055em;\n}\n#mp-compressor-embed .header p{\n  margin:10px 0 0;\n  max-width:810px;\n  color:var(--muted)!important;\n  font-size:14px;\n  line-height:1.65;\n}\n#mp-compressor-embed .badge{\n  flex:0 0 auto;\n  padding:9px 12px;\n  border:1px solid var(--line);\n  border-radius:999px;\n  color:var(--muted)!important;\n  font-size:11px;\n  font-weight:800;\n  letter-spacing:.1em;\n  text-transform:uppercase;\n}\n#mp-compressor-embed .machine{\n  overflow:hidden;\n  border:1px solid var(--line);\n  border-radius:26px;\n  background:var(--panel);\n  box-shadow:0 22px 70px rgba(0,0,0,.28);\n}\n#mp-compressor-embed .topbar{\n  min-height:52px;\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:12px;\n  padding:10px 14px;\n  border-bottom:1px solid var(--line);\n  background:#0c0e12;\n}\n#mp-compressor-embed .topbar-left{\n  display:flex;\n  align-items:center;\n  gap:10px;\n  color:var(--muted)!important;\n  font-size:12px;\n  font-weight:750;\n}\n#mp-compressor-embed .dot{\n  width:9px;height:9px;border-radius:50%;\n  background:var(--accent);\n  box-shadow:0 0 0 6px rgba(143,137,255,.12);\n}\n#mp-compressor-embed .mode-switch{\n  display:flex;\n  gap:7px;\n}\n#mp-compressor-embed .mode-switch button{\n  min-width:110px;\n  height:34px;\n  padding:0 12px;\n  border:1px solid var(--line);\n  border-radius:9px;\n  background:#15171c;\n  color:var(--muted)!important;\n  font-size:10px;\n  font-weight:850;\n  letter-spacing:.06em;\n}\n#mp-compressor-embed .mode-switch button.active{\n  border-color:transparent;\n  background:var(--accent);\n  color:#fff!important;\n}\n#mp-compressor-embed .visual-zone{\n  display:grid;\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr);\n  gap:12px;\n  align-items:stretch;\n  padding:12px;\n  background:#0b0d11;\n}\n#mp-compressor-embed .graph-card{\n  min-width:0;\n  overflow:hidden;\n  display:flex;\n  flex-direction:column;\n  border:1px solid var(--line);\n  border-radius:18px;\n  background:#111318;\n}\n#mp-compressor-embed .graph-head{\n  min-height:45px;\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:12px;\n  padding:0 14px;\n  border-bottom:1px solid var(--line);\n  color:var(--muted)!important;\n  font-size:10px;\n  font-weight:800;\n  letter-spacing:.09em;\n  text-transform:uppercase;\n}\n#mp-compressor-embed .graph-head strong{\n  color:var(--text)!important;\n  font-size:11px;\n}\n#mp-compressor-embed .canvas-wrap{\n  position:relative;\n  background:#9d9d99;\n  flex:1;\n  display:flex;\n  align-items:stretch;\n}\n#mp-compressor-embed canvas{\n  display:block;\n  width:100%;\n  height:300px;\n  object-fit:fill;\n}\n#mp-compressor-embed .transfer-wrap canvas, #mp-compressor-embed .history-wrap canvas{\n  aspect-ratio:auto;\n}\n#mp-compressor-embed .graph-legend{\n  display:flex;\n  gap:14px;\n  flex-wrap:wrap;\n  padding:10px 14px 12px;\n  border-top:1px solid var(--line);\n  color:var(--soft)!important;\n  font-size:10px;\n}\n#mp-compressor-embed .legend-item{\n  display:flex;align-items:center;gap:7px\n}\n#mp-compressor-embed .legend-line{\n  width:18px;height:3px;border-radius:99px;background:#222\n}\n#mp-compressor-embed .legend-line.white{background:#fff}\n#mp-compressor-embed .legend-fill{\n  width:18px;height:10px;border-radius:3px;background:rgba(30,30,30,.42)\n}\n#mp-compressor-embed .legend-line.threshold-key{\n  height:2px;\n  background:#ff5d73;\n}\n#mp-compressor-embed .reduction-readout{\n  display:flex;\n  align-items:center;\n  gap:10px;\n}\n#mp-compressor-embed .reduction-readout span{\n  min-width:64px;\n  color:#fff!important;\n  font-size:14px;\n  font-weight:800;\n  text-align:right;\n  font-variant-numeric:tabular-nums;\n}\n#mp-compressor-embed .gr-meter{\n  width:120px;height:9px;\n  border-radius:99px;\n  overflow:hidden;\n  background:#2b2e35;\n}\n#mp-compressor-embed .gr-meter i{\n  display:block;\n  height:100%;\n  width:0;\n  background:linear-gradient(90deg,var(--accent),var(--danger));\n  transition:width .08s linear;\n}\n\n#mp-compressor-embed .knob-panel{\n  padding:18px 16px 20px;\n  border-top:1px solid var(--line);\n  background:var(--panel2);\n}\n#mp-compressor-embed .knob-grid{\n  display:grid;\n  grid-template-columns:repeat(6,1fr);\n  gap:14px;\n}\n#mp-compressor-embed .knob-cell{\n  min-width:0;\n  text-align:center;\n}\n#mp-compressor-embed .knob-label{\n  display:block;\n  margin-bottom:10px;\n  color:var(--muted)!important;\n  font-size:10px;\n  font-weight:850;\n  letter-spacing:.11em;\n  text-transform:uppercase;\n}\n#mp-compressor-embed .knob{\n  --p:.5;\n  position:relative;\n  width:92px;\n  height:92px;\n  margin:0 auto;\n  border-radius:50%;\n  cursor:ns-resize;\n  touch-action:none;\n  background:\n    radial-gradient(circle at 38% 32%, #ddd 0 4%, #aaa 20%, #737373 52%, #464646 75%, #202020 100%);\n  box-shadow:\n    inset 0 0 0 2px rgba(255,255,255,.13),\n    inset 0 0 18px rgba(255,255,255,.12),\n    0 5px 14px rgba(0,0,0,.36);\n}\n#mp-compressor-embed .knob::before{\n  content:\"\";\n  position:absolute;\n  left:50%;top:10px;\n  width:3px;height:31px;\n  border-radius:3px;\n  background:#141414;\n  transform-origin:50% 36px;\n  transform:translateX(-50%) rotate(calc(-135deg + var(--p) * 270deg));\n}\n#mp-compressor-embed .knob::after{\n  content:\"\";\n  position:absolute;\n  inset:-8px;\n  border-radius:50%;\n  border:1px solid rgba(255,255,255,.08);\n  pointer-events:none;\n}\n#mp-compressor-embed .knob:focus-visible{\n  outline:3px solid rgba(143,137,255,.65);\n  outline-offset:5px;\n}\n#mp-compressor-embed .knob.locked{\n  opacity:.36;\n  cursor:not-allowed;\n}\n#mp-compressor-embed .knob-value{\n  display:block;\n  margin-top:10px;\n  min-height:22px;\n  color:var(--text)!important;\n  font-size:16px;\n  font-weight:800;\n  letter-spacing:-.02em;\n}\n#mp-compressor-embed .knob-caption{\n  display:block;\n  margin-top:2px;\n  color:var(--soft)!important;\n  font-size:9px;\n}\n#mp-compressor-embed .transport{\n  display:grid;\n  grid-template-columns:230px 1fr;\n  gap:22px;\n  align-items:center;\n  padding:14px 16px;\n  border-top:1px solid var(--line);\n  background:#0b0d11;\n}\n#mp-compressor-embed .transport-left{\n  display:flex;\n  align-items:center;\n  gap:10px;\n}\n#mp-compressor-embed .play{\n  width:56px;height:56px;\n  border:0;\n  border-radius:17px;\n  display:grid;\n  place-items:center;\n  background:var(--accent);\n  color:#fff!important;\n  font-size:22px;\n  box-shadow:0 10px 28px rgba(98,92,255,.23);\n}\n#mp-compressor-embed .play.stop{background:var(--danger)}\n#mp-compressor-embed .reset{\n  height:42px;\n  padding:0 14px;\n  border:1px solid var(--line);\n  border-radius:12px;\n  background:transparent;\n  color:var(--muted)!important;\n  font-size:12px;\n  font-weight:750;\n}\n#mp-compressor-embed .master-row{\n  display:grid;\n  grid-template-columns:105px 1fr 50px;\n  gap:10px;\n  align-items:center;\n}\n#mp-compressor-embed .master-row label{\n  color:var(--muted)!important;\n  font-size:12px;\n  font-weight:700;\n}\n#mp-compressor-embed .master-row input[type=range]{\n  appearance:none;\n  width:100%;\n  height:4px;\n  border-radius:99px;\n  background:#30343d;\n}\n#mp-compressor-embed .master-row input[type=range]::-webkit-slider-thumb{\n  appearance:none;\n  width:16px;height:16px;border-radius:50%;\n  background:#f4f4f6;\n  border:3px solid var(--accent);\n}\n#mp-compressor-embed .master-row output{\n  color:var(--muted)!important;\n  font-size:11px;\n  text-align:right;\n}\n#mp-compressor-embed .teaching{\n  display:grid;\n  grid-template-columns:repeat(3,1fr);\n  gap:12px;\n  margin-top:16px;\n}\n#mp-compressor-embed .card{\n  padding:16px 17px;\n  border:1px solid var(--line);\n  border-radius:17px;\n  background:var(--panel);\n  color:var(--muted)!important;\n  font-size:12px;\n  line-height:1.55;\n}\n#mp-compressor-embed .card strong{\n  display:block;\n  margin-bottom:5px;\n  color:var(--text)!important;\n  font-size:13px;\n}\n#mp-compressor-embed .status{\n  margin-top:13px;\n  color:var(--soft)!important;\n  font-size:11px;\n}\n#mp-compressor-embed .status.ok{color:#8ce0be}\n#mp-compressor-embed .status.error{color:#ff9aa8}\n@media(max-width:1000px){\n  #mp-compressor-embed .knob-grid{grid-template-columns:repeat(3,1fr)}\n}\n@media(max-width:760px){\n  #mp-compressor-embed .visual-zone{grid-template-columns:1fr}\n  #mp-compressor-embed canvas{height:260px}\n}\n@media(max-width:700px){\n  #mp-compressor-embed .header{align-items:flex-start;flex-direction:column}\n  #mp-compressor-embed .knob-grid{grid-template-columns:repeat(2,1fr)}\n  #mp-compressor-embed .transport{grid-template-columns:1fr}\n  #mp-compressor-embed .teaching{grid-template-columns:1fr}\n  #mp-compressor-embed .mode-switch button{min-width:0}\n}\n\n<\/style>\n\n<style id=\"mp26-harmonisation-final\">\n\/* Harmonisation finale avec la charte des autres pages de formation *\/\n#mp26{\n  --bg:#09090b;--panel:#14151a;--panel-soft:#101116;--text:#f4f4f6;\n  --muted:#a3a5ad;--soft:#74767d;--line:rgba(255,255,255,.11);\n  --accent:#918bff;--accent-soft:rgba(145,139,255,.13);\n}\n#mp26:not(.mp-dark){\n  --bg:#f2f2f4;--panel:#fff;--panel-soft:#f7f7f8;--text:#101114;\n  --muted:#656873;--soft:#80828a;--line:rgba(17,18,20,.12);\n  --accent:#716bff;--accent-soft:rgba(113,107,255,.10);\n}\n#mp26 .mp-shell{width:min(1380px,calc(100% - 48px))}\n#mp26 .mp-coursebar{background:#09090b!important}\n#mp26 .mp-coursebar-inner{width:min(1380px,calc(100% - 48px));min-width:0;gap:10px;padding:26px 0 20px}\n#mp26 .mp-course-item{min-height:auto;padding:12px 8px 16px;display:block;border-bottom:2px solid transparent;color:#c5c5c9!important;font-size:12px;font-weight:500}\n#mp26 .mp-course-item strong{display:block;color:#f4f4f6!important;font-size:13px;letter-spacing:.02em}\n#mp26 .mp-course-item span{display:block;margin-top:6px;color:#c5c5c9!important;font-size:12px}\n#mp26 .mp-course-item:after{display:none}\n#mp26 .mp-course-item.is-current{border-bottom-color:var(--accent)}\n#mp26 .mp-top-wrap{top:10px;padding-top:16px}\n#mp26 .mp-top{width:min(1380px,calc(100% - 48px));min-height:70px;padding:14px 18px;border-radius:22px;background:rgba(20,21,26,.90)!important;backdrop-filter:blur(16px);box-shadow:none}\n#mp26:not(.mp-dark) .mp-top{background:rgba(255,255,255,.90)!important}\n#mp26 .mp-brand-title{font-size:14px;font-weight:750}\n#mp26 .mp-brand-sub{margin-top:3px;font-size:10px;letter-spacing:.13em}\n#mp26 .mp-hero{padding:clamp(90px,11vw,155px) 0 clamp(80px,9vw,125px)}\n#mp26 .mp-hero h1{font-size:clamp(64px,9.6vw,132px)!important;line-height:.84!important;letter-spacing:-.072em!important;font-weight:760!important}\n#mp26 .mp-hero-word:first-child,#mp26 .mp-hero-accent{color:var(--accent)!important}\n#mp26 .mp-hero-word:last-child,#mp26 .mp-hero-main{color:var(--text)!important}\n#mp26 .mp-lead{max-width:850px;margin:42px 0 0!important;color:var(--muted)!important;font-size:clamp(18px,2vw,24px)!important;line-height:1.55!important}\n#mp26 .mp-meta-card{padding:18px;border-radius:18px}\n#mp26 .mp-nav{margin-bottom:0;padding:6px;border-radius:999px;background:rgba(20,21,26,.92)!important;backdrop-filter:blur(14px)}\n#mp26:not(.mp-dark) .mp-nav{background:rgba(255,255,255,.92)!important}\n#mp26 .mp-nav a{padding:10px 14px;border-radius:999px;font-size:12px;font-weight:700}\n#mp26 .mp-section{padding:clamp(78px,8vw,122px) 0;scroll-margin-top:165px}\n#mp26 .mp-head{grid-template-columns:190px minmax(0,1fr);gap:52px;margin-bottom:52px}\n#mp26 .mp-index{padding-top:9px;font-weight:800;letter-spacing:.16em}\n#mp26 .mp-head h2{font-size:clamp(45px,6vw,84px)!important;line-height:.94!important;letter-spacing:-.055em!important;font-weight:740!important;text-transform:none!important}\n#mp26 .mp-flow{gap:clamp(36px,5vw,68px)}\n#mp26 .mp-reading p{font-size:15px!important;line-height:1.75!important}\n#mp26 .mp-reading h5{margin:0 0 12px!important;font-size:22px!important;line-height:1.12!important;letter-spacing:-.03em!important;text-transform:none!important}\n#mp26 .mp-statement{border-color:rgba(145,139,255,.40)!important;border-radius:26px;background:#1b1b2b!important}\n#mp26:not(.mp-dark) .mp-statement{background:#ecebfd!important}\n#mp26 .mp-statement p{font-size:clamp(24px,3vw,40px)!important;line-height:1.15!important;letter-spacing:-.035em!important;font-weight:650!important}\n#mp26 .mp-aside{border-left:2px solid var(--accent)!important;background:transparent!important}\n#mp26 .mp-media{border-radius:22px;background:#0d0e12!important}\n#mp26 .mp-media img{padding:0;background:#ece9e3!important}\n#mp26 #mp-router-embed,#mp26 #mp-compressor-embed{margin-top:6px;padding:1px 0 0;border-top:1px solid var(--line)}\n#mp-router-embed,#mp-compressor-embed{--accent:#918bff;--accent2:#716bff}\n#mp-router-embed #mprt-rt4,#mp-compressor-embed .app{width:100%;max-width:none;margin:28px auto 42px}\n#mp-router-embed .hero h1,#mp-compressor-embed .header h1{font-size:clamp(30px,3.4vw,46px)!important;line-height:1!important;letter-spacing:-.045em!important}\n#mp-router-embed .shell,#mp-compressor-embed .machine{border-radius:24px;box-shadow:none}\n#mp-router-embed .signature,#mp-compressor-embed .signature{margin-top:16px;padding-top:12px;border-top:1px solid rgba(255,255,255,.065);color:#707580!important;font-size:9px;text-align:center;letter-spacing:.03em}\n#mp26 .mp-final{margin:85px 0 45px;padding:clamp(34px,5vw,62px);border:1px solid var(--line);border-radius:27px;background:var(--panel)!important}\n#mp26 .mp-final h2{max-width:750px;margin:0!important;font-size:clamp(37px,5.5vw,64px)!important;line-height:1!important;letter-spacing:-.05em!important;font-weight:650!important}\n#mp26 .mp-footer{padding:26px 0 45px;font-size:11px}\n@media(max-width:1050px){\n  #mp26 .mp-coursebar-inner{grid-template-columns:repeat(4,1fr)}\n}\n@media(max-width:950px){\n  #mp26 .mp-head{grid-template-columns:1fr;gap:18px}\n}\n@media(max-width:650px){\n  #mp26 .mp-shell,#mp26 .mp-top{width:calc(100% - 24px)}\n  #mp26 .mp-coursebar-inner{display:flex;overflow:auto;width:calc(100% - 24px)}\n  #mp26 .mp-course-item{min-width:130px}\n  #mp26 .mp-hero h1{font-size:clamp(54px,17vw,82px)!important}\n}\n<\/style>\n\n\n<style id=\"MPRT_FINAL_ISOLATED_PATCH\">\n\/* ==========================================================\n   ROUTEUR DYNAMIQUE UNIQUEMENT\n   Toutes les r\u00e8gles commencent par #mp26 #mp-router-embed.\n   Le mode clair\/sombre de la page ne modifie jamais cet outil.\n   ========================================================== *\/\n\n#mp26 #mp-router-embed{\n  --bg:#090a0c !important;\n  --panel:#121419 !important;\n  --panel2:#171a20 !important;\n  --panel3:#0d0f13 !important;\n  --line:rgba(255,255,255,.11) !important;\n  --line2:rgba(255,255,255,.06) !important;\n  --text:#f5f5f7 !important;\n  --muted:#a0a4ad !important;\n  --soft:#707580 !important;\n  --accent:#8f89ff !important;\n\n  background:#090a0c !important;\n  color:#f5f5f7 !important;\n  color-scheme:dark !important;\n  isolation:isolate;\n}\n\n#mp26 #mp-router-embed #mprt-rt4,\n#mp26 #mp-router-embed .shell,\n#mp26 #mp-router-embed .workspace,\n#mp26 #mp-router-embed .panel,\n#mp26 #mp-router-embed .left-zone,\n#mp26 #mp-router-embed .console,\n#mp26 #mp-router-embed .transport{\n  color-scheme:dark !important;\n}\n\n\/* Textes principaux : toujours clairs sur noir *\/\n#mp26 #mp-router-embed .hero h1,\n#mp26 #mp-router-embed .panel-head strong,\n#mp26 #mp-router-embed .track-name strong,\n#mp26 #mp-router-embed .bus-title-main strong,\n#mp26 #mp-router-embed .node strong,\n#mp26 #mp-router-embed .strip-name,\n#mp26 #mp-router-embed .transport strong{\n  color:#f5f5f7 !important;\n}\n\n\/* Textes secondaires *\/\n#mp26 #mp-router-embed .hero p,\n#mp26 #mp-router-embed .badge,\n#mp26 #mp-router-embed .toolbar-left,\n#mp26 #mp-router-embed .panel-head span,\n#mp26 #mp-router-embed .track-name small,\n#mp26 #mp-router-embed .row label,\n#mp26 #mp-router-embed .row output,\n#mp26 #mp-router-embed .route-row label,\n#mp26 #mp-router-embed .bus-fader output,\n#mp26 #mp-router-embed .strip-value,\n#mp26 #mp-router-embed .status,\n#mp26 #mp-router-embed .signature{\n  color:#a0a4ad !important;\n}\n\n\/* Les titres de pistes restent clairement lisibles *\/\n#mp26 #mp-router-embed .track-name{\n  min-width:0;\n  padding-right:4px;\n}\n#mp26 #mp-router-embed .track-name strong{\n  display:block;\n  overflow:hidden;\n  text-overflow:ellipsis;\n  white-space:nowrap;\n  font-size:11px !important;\n  line-height:1.15 !important;\n  font-weight:760 !important;\n}\n#mp26 #mp-router-embed .track-name small{\n  display:block;\n  margin-top:2px !important;\n  font-size:7px !important;\n  font-weight:850 !important;\n  letter-spacing:.10em !important;\n}\n\n\/* VU horizontal discret fa\u00e7on DAW *\/\n#mp26 #mp-router-embed .mprt-track-vu{\n  position:relative;\n  display:block;\n  width:96px;\n  max-width:100%;\n  height:5px;\n  margin-top:5px;\n  overflow:hidden;\n  border-radius:2px;\n  background:#292d34 !important;\n  box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);\n}\n#mp26 #mp-router-embed .mprt-track-vu::after{\n  content:\"\";\n  position:absolute;\n  inset:0;\n  z-index:2;\n  pointer-events:none;\n  background:repeating-linear-gradient(\n    90deg,\n    transparent 0 6px,\n    rgba(9,10,12,.84) 6px 7px\n  ) !important;\n}\n#mp26 #mp-router-embed .mprt-track-vu > i{\n  position:absolute;\n  inset:0 auto 0 0;\n  z-index:1;\n  width:0%;\n  border-radius:inherit;\n  background:linear-gradient(\n    90deg,\n    #52cb82 0 72%,\n    #d9bc4e 72% 89%,\n    #ef5f6e 89% 100%\n  ) !important;\n  transition:width .055s linear;\n}\n\n\/* Boutons : on neutralise les styles Elementor\/WordPress uniquement ici *\/\n#mp26 #mp-router-embed button{\n  appearance:none !important;\n  -webkit-appearance:none !important;\n  font-family:Inter,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Arial,sans-serif !important;\n  text-transform:none !important;\n  box-shadow:none;\n}\n\n#mp26 #mp-router-embed .toolbar-actions button{\n  height:32px !important;\n  min-height:32px !important;\n  margin:0 !important;\n  padding:0 11px !important;\n  border:1px solid rgba(255,255,255,.11) !important;\n  border-radius:8px !important;\n  background:#15171c !important;\n  color:#aeb0b8 !important;\n  font-size:9px !important;\n  font-weight:800 !important;\n  line-height:1 !important;\n  transition:border-color .15s ease,color .15s ease,background .15s ease,transform .15s ease;\n}\n#mp26 #mp-router-embed .toolbar-actions button:hover{\n  border-color:rgba(143,137,255,.48) !important;\n  color:#f5f5f7 !important;\n}\n#mp26 #mp-router-embed .toolbar-actions button:active{\n  transform:translateY(1px);\n}\n#mp26 #mp-router-embed .toolbar-actions button.accent{\n  border-color:transparent !important;\n  background:#8f89ff !important;\n  color:#fff !important;\n}\n\n#mp26 #mp-router-embed .ms button,\n#mp26 #mp-router-embed .bus-ms button{\n  margin:0 !important;\n  padding:0 !important;\n  background:#0c0e12 !important;\n  color:#b7b9c0 !important;\n}\n\n#mp26 #mp-router-embed .fx button{\n  margin:0 !important;\n  color:#091015 !important;\n}\n\n\/* ==========================================================\n   ZOOM : uniquement la fen\u00eatre PISTES + ROUTAGE + CONSOLE.\n   Hero, toolbar, transport et cartes explicatives restent \u00e0 100 %.\n   ========================================================== *\/\n\n#mp26 #mp-router-embed .viewport{\n  position:relative;\n  overflow-x:auto !important;\n  overflow-y:hidden !important;\n  scrollbar-width:none;\n  overscroll-behavior-x:contain;\n  overscroll-behavior-y:auto;\n  background:#0b0d11 !important;\n}\n#mp26 #mp-router-embed .viewport::-webkit-scrollbar{\n  display:none;\n}\n\n#mp26 #mp-router-embed .mprt-zoom-stage{\n  position:relative;\n  margin-left:auto;\n  margin-right:auto;\n  padding:0;\n}\n\n#mp26 #mp-router-embed .mprt-zoom-stage > .workspace{\n  position:absolute !important;\n  left:0 !important;\n  top:0 !important;\n  margin:0 !important;\n  transform-origin:0 0 !important;\n  will-change:transform;\n}\n\n\/* Barre de navigation fixe sous la fen\u00eatre de routage *\/\n#mp26 #mp-router-embed .mprt-viewbar{\n  min-height:38px;\n  display:grid;\n  grid-template-columns:auto minmax(120px,1fr) auto;\n  align-items:center;\n  gap:12px;\n  padding:6px 12px;\n  border-top:1px solid rgba(255,255,255,.08) !important;\n  background:#0c0e12 !important;\n}\n\n#mp26 #mp-router-embed .mprt-pan-label{\n  color:#707580 !important;\n  font-size:7px !important;\n  font-weight:850 !important;\n  letter-spacing:.10em !important;\n  text-transform:uppercase !important;\n  white-space:nowrap;\n}\n\n#mp26 #mp-router-embed .mprt-pan{\n  appearance:none !important;\n  width:100% !important;\n  height:5px !important;\n  margin:0 !important;\n  padding:0 !important;\n  border:0 !important;\n  border-radius:999px !important;\n  background:#282c33 !important;\n  outline:none !important;\n}\n#mp26 #mp-router-embed .mprt-pan::-webkit-slider-thumb{\n  appearance:none !important;\n  width:42px !important;\n  height:9px !important;\n  border:0 !important;\n  border-radius:999px !important;\n  background:#706acb !important;\n  box-shadow:0 1px 5px rgba(0,0,0,.32) !important;\n}\n#mp26 #mp-router-embed .mprt-pan::-moz-range-thumb{\n  width:42px !important;\n  height:9px !important;\n  border:0 !important;\n  border-radius:999px !important;\n  background:#706acb !important;\n  box-shadow:0 1px 5px rgba(0,0,0,.32) !important;\n}\n#mp26 #mp-router-embed .mprt-pan:disabled{\n  opacity:.30;\n}\n\n#mp26 #mp-router-embed .mprt-zoom-controls{\n  display:flex;\n  align-items:center;\n  gap:5px;\n}\n\n#mp26 #mp-router-embed .mprt-zoom-controls button{\n  width:28px !important;\n  min-width:28px !important;\n  height:28px !important;\n  min-height:28px !important;\n  margin:0 !important;\n  padding:0 !important;\n  display:grid !important;\n  place-items:center !important;\n  border:1px solid rgba(255,255,255,.11) !important;\n  border-radius:8px !important;\n  background:#15171c !important;\n  color:#f5f5f7 !important;\n  font-size:15px !important;\n  font-weight:750 !important;\n  line-height:1 !important;\n}\n#mp26 #mp-router-embed .mprt-zoom-controls button:hover{\n  border-color:#8f89ff !important;\n  color:#b6b2ff !important;\n}\n#mp26 #mp-router-embed .mprt-zoom-controls button:disabled{\n  opacity:.32;\n  cursor:default;\n}\n#mp26 #mp-router-embed .mprt-zoom-value{\n  width:43px;\n  color:#a0a4ad !important;\n  font-size:8px !important;\n  font-weight:850 !important;\n  font-variant-numeric:tabular-nums;\n  text-align:center;\n  white-space:nowrap;\n}\n\n\/* La fen\u00eatre ne peut jamais \u00e9largir la page ext\u00e9rieure. *\/\n#mp26 #mp-router-embed,\n#mp26 #mp-router-embed #mprt-rt4,\n#mp26 #mp-router-embed .shell{\n  max-width:100% !important;\n}\n\n\n\/* ==========================================================\n   NAVIGATION GRAB \/ PAN \u2014 ROUTEUR UNIQUEMENT\n   ========================================================== *\/\n\n\/* La fen\u00eatre de routage devient une vraie fen\u00eatre autonome :\n   contenu au-dessus, navigation toujours visible en bas. *\/\n#mp26 #mp-router-embed .mprt-window-frame{\n  width:100%;\n  height:clamp(500px,68vh,760px);\n  min-height:500px;\n  display:grid;\n  grid-template-rows:minmax(0,1fr) auto;\n  overflow:hidden;\n  background:#0b0d11 !important;\n}\n\n\/* Les scrollbars natives sont cach\u00e9es, mais le viewport reste\n   scrollable par JS dans les deux axes. *\/\n#mp26 #mp-router-embed .mprt-window-frame > .viewport{\n  min-width:0;\n  min-height:0;\n  width:100%;\n  height:100%;\n  overflow:auto !important;\n  scrollbar-width:none !important;\n  overscroll-behavior:contain;\n  cursor:grab;\n  user-select:none;\n}\n#mp26 #mp-router-embed .mprt-window-frame > .viewport::-webkit-scrollbar{\n  display:none !important;\n  width:0 !important;\n  height:0 !important;\n}\n\n\/* Main ferm\u00e9e pendant le d\u00e9placement. *\/\n#mp26 #mp-router-embed .mprt-window-frame > .viewport.mprt-grabbing{\n  cursor:grabbing !important;\n}\n\n\/* Tous les vrais contr\u00f4les restent interactifs normalement.\n   Le syst\u00e8me de grab ne les intercepte jamais. *\/\n#mp26 #mp-router-embed .viewport :is(\n  button,\n  input,\n  select,\n  textarea,\n  a,\n  label,\n  [role=\"button\"],\n  [role=\"slider\"],\n  [contenteditable=\"true\"],\n  .console-fader,\n  .console-fader-thumb\n){\n  cursor:auto !important;\n  user-select:auto;\n}\n\n#mp26 #mp-router-embed .viewport :is(button,a,[role=\"button\"]){\n  cursor:pointer !important;\n}\n\n#mp26 #mp-router-embed .viewport :is(\n  input[type=\"range\"],\n  .console-fader,\n  .console-fader-thumb,\n  [role=\"slider\"]\n){\n  cursor:pointer !important;\n}\n\n\/* La barre reste physiquement dans la fen\u00eatre : elle ne peut plus\n   \u00eatre repouss\u00e9e hors \u00e9cran par le contenu zoom\u00e9. *\/\n#mp26 #mp-router-embed .mprt-window-frame > .mprt-viewbar{\n  position:relative;\n  z-index:40;\n  width:100%;\n  min-width:0;\n  margin:0;\n  flex:0 0 auto;\n  box-shadow:0 -8px 20px rgba(0,0,0,.20);\n}\n\n\/* Visuellement plus compacte car le grab devient le mode principal. *\/\n#mp26 #mp-router-embed .mprt-viewbar{\n  min-height:36px;\n  grid-template-columns:auto minmax(90px,1fr) auto;\n  gap:10px;\n  padding:5px 10px;\n}\n\n@media(max-width:900px){\n  #mp26 #mp-router-embed .mprt-window-frame{\n    height:clamp(440px,66vh,640px);\n    min-height:440px;\n  }\n  #mp26 #mp-router-embed .mprt-pan-label{\n    display:none;\n  }\n  #mp26 #mp-router-embed .mprt-viewbar{\n    grid-template-columns:minmax(70px,1fr) auto;\n  }\n}\n\n<\/style>\n\n\n<style id=\"MPRT_GLOBAL_TIMELINE_PATCH\">\n#mp26 #mp-router-embed .transport{\n  grid-template-columns:auto minmax(240px,1fr) minmax(280px,.72fr) !important;\n  gap:14px !important;\n}\n\n#mp26 #mp-router-embed .mprt-global-timeline{\n  min-width:0;\n  display:grid;\n  grid-template-columns:42px minmax(100px,1fr) 42px;\n  align-items:center;\n  gap:9px;\n  padding:0 2px;\n}\n\n#mp26 #mp-router-embed .mprt-global-timeline output{\n  color:#9fa2aa !important;\n  font-size:9px !important;\n  font-weight:750 !important;\n  font-variant-numeric:tabular-nums;\n  white-space:nowrap;\n}\n#mp26 #mp-router-embed #mprt-timeCurrent{text-align:right}\n#mp26 #mp-router-embed #mprt-timeDuration{text-align:left}\n\n#mp26 #mp-router-embed #mprt-timeline{\n  appearance:none !important;\n  -webkit-appearance:none !important;\n  width:100% !important;\n  height:16px !important;\n  margin:0 !important;\n  padding:0 !important;\n  border:0 !important;\n  outline:none !important;\n  cursor:pointer !important;\n  background:\n    linear-gradient(90deg,#8f89ff 0 var(--p),#343841 var(--p) 100%)\n    center \/ 100% 4px no-repeat !important;\n}\n#mp26 #mp-router-embed #mprt-timeline::-webkit-slider-thumb{\n  -webkit-appearance:none !important;\n  appearance:none !important;\n  width:12px !important;\n  height:12px !important;\n  border:2px solid #0b0d11 !important;\n  border-radius:50% !important;\n  background:#f4f4f7 !important;\n  box-shadow:0 0 0 2px #8f89ff,0 2px 8px rgba(0,0,0,.42) !important;\n}\n#mp26 #mp-router-embed #mprt-timeline::-moz-range-thumb{\n  width:10px !important;\n  height:10px !important;\n  border:2px solid #0b0d11 !important;\n  border-radius:50% !important;\n  background:#f4f4f7 !important;\n  box-shadow:0 0 0 2px #8f89ff !important;\n}\n\n#mp26 #mp-router-embed .mprt-viewbar{display:none !important}\n\n#mp26 #mp-router-embed .mprt-window-frame{\n  position:relative;\n  display:block !important;\n}\n\n#mp26 #mp-router-embed .mprt-zoom-floating{\n  position:absolute;\n  z-index:60;\n  right:10px;\n  bottom:10px;\n  display:flex;\n  align-items:center;\n  gap:5px;\n  padding:4px;\n  border:1px solid rgba(255,255,255,.11);\n  border-radius:10px;\n  background:rgba(12,14,18,.90);\n  box-shadow:0 6px 18px rgba(0,0,0,.28);\n  backdrop-filter:blur(8px);\n  -webkit-backdrop-filter:blur(8px);\n}\n#mp26 #mp-router-embed .mprt-zoom-floating button{\n  width:28px !important;\n  min-width:28px !important;\n  height:28px !important;\n  min-height:28px !important;\n  margin:0 !important;\n  padding:0 !important;\n  display:grid !important;\n  place-items:center !important;\n  border:1px solid rgba(255,255,255,.11) !important;\n  border-radius:7px !important;\n  background:#15171c !important;\n  color:#f5f5f7 !important;\n  font-size:15px !important;\n  font-weight:750 !important;\n  line-height:1 !important;\n}\n#mp26 #mp-router-embed .mprt-zoom-floating button:hover{\n  border-color:#8f89ff !important;\n  color:#b6b2ff !important;\n}\n#mp26 #mp-router-embed .mprt-zoom-floating button:disabled{opacity:.30 !important}\n#mp26 #mp-router-embed .mprt-zoom-floating output{\n  width:42px;\n  color:#a0a4ad !important;\n  font-size:8px !important;\n  font-weight:850 !important;\n  font-variant-numeric:tabular-nums;\n  text-align:center;\n}\n\n@media(max-width:1050px){\n  #mp26 #mp-router-embed .transport{grid-template-columns:auto 1fr !important}\n  #mp26 #mp-router-embed .mprt-global-timeline{grid-column:1\/-1;grid-row:2}\n  #mp26 #mp-router-embed .master-control{grid-column:2;grid-row:1}\n}\n@media(max-width:700px){\n  #mp26 #mp-router-embed .transport{grid-template-columns:1fr !important}\n  #mp26 #mp-router-embed .transport-left,\n  #mp26 #mp-router-embed .master-control,\n  #mp26 #mp-router-embed .mprt-global-timeline{\n    grid-column:1 !important;\n    grid-row:auto !important;\n  }\n}\n<\/style>\n\n<style id=\"mp26-canonical-header-and-compressor-size\">\n\/* ==========================================================\n   HEADER \/ NAV \u2014 r\u00e9f\u00e9rence canonique : page 01 Sound Design.\n   Seules les classes d'identification MP sont adapt\u00e9es.\n   ========================================================== *\/\n#mp26 .mp-coursebar{\n  width:100%;\n  overflow-x:auto;\n  background:#050505!important;\n  border-bottom:1px solid rgba(255,255,255,.09);\n  scrollbar-width:none;\n}\n#mp26 .mp-coursebar::-webkit-scrollbar{display:none}\n#mp26 .mp-coursebar-inner{\n  width:min(1500px,calc(100% - 40px));\n  min-width:1050px;\n  margin:auto;\n  padding:0;\n  gap:0;\n  display:grid;\n  grid-template-columns:repeat(7,1fr);\n}\n#mp26 a.mp-course-item{text-decoration:none!important}\n#mp26 .mp-course-item{\n  position:relative;\n  min-width:0;\n  min-height:108px;\n  padding:20px 12px;\n  display:flex;\n  flex-direction:column;\n  align-items:center;\n  justify-content:center;\n  text-align:center;\n  border-bottom:0!important;\n  color:#fff!important;\n  line-height:1.25;\n}\n#mp26 .mp-course-item strong{\n  display:block;\n  color:#fff!important;\n  font-size:13px;\n  font-weight:800;\n  letter-spacing:normal;\n}\n#mp26 .mp-course-item span{\n  display:block;\n  margin-top:4px;\n  color:#fff!important;\n  font-size:13px;\n  font-weight:400;\n}\n#mp26 .mp-course-item:after{\n  content:\"\";\n  display:block;\n  position:absolute;\n  bottom:15px;\n  left:50%;\n  width:0;\n  height:2px;\n  background:var(--accent)!important;\n  transform:translateX(-50%);\n  transition:width .25s ease;\n}\n#mp26 .mp-course-item:hover:after,\n#mp26 .mp-course-item.is-current:after{width:42px}\n#mp26 .mp-course-item.is-current{border-bottom-color:transparent!important}\n\n#mp26 .mp-top-wrap{\n  position:sticky;\n  top:12px;\n  z-index:100;\n  padding-top:12px;\n}\n#mp26 .mp-top{\n  width:min(1160px,calc(100% - 64px));\n  min-height:62px;\n  margin:auto;\n  padding:9px 11px 9px 17px;\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:20px;\n  border:1px solid var(--line)!important;\n  border-radius:19px;\n  background:var(--panel)!important;\n  -webkit-backdrop-filter:none;\n  backdrop-filter:none;\n  box-shadow:0 8px 30px rgba(0,0,0,.05);\n  opacity:.97;\n}\n#mp26 .mp-brand{display:flex;align-items:center;gap:12px}\n#mp26 .mp-dot{width:10px;height:10px;border-radius:99px;background:var(--accent)!important;box-shadow:0 0 0 6px var(--accent-soft)}\n#mp26 .mp-brand-title{display:block;font-size:13px;font-weight:750}\n#mp26 .mp-brand-sub{display:block;margin-top:5px;color:var(--soft)!important;font-size:10px;text-transform:uppercase;letter-spacing:.12em}\n#mp26 .mp-theme{\n  width:42px!important;\n  min-width:42px!important;\n  height:42px!important;\n  min-height:42px!important;\n  margin:0!important;\n  padding:0!important;\n  display:flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  border:1px solid var(--line)!important;\n  border-radius:13px!important;\n  background:transparent!important;\n  color:var(--text)!important;\n  cursor:pointer;\n  font-size:18px!important;\n  font-family:Arial,sans-serif!important;\n  font-weight:400!important;\n  line-height:1!important;\n  text-align:center!important;\n  appearance:none;\n  -webkit-appearance:none;\n}\n\n\/* ==========================================================\n   COMPRESSEUR \/ LIMITEUR \u2014 gabarit r\u00e9duit de 20 %.\n   On r\u00e9duit uniquement la largeur externe (1180 -> 944 px),\n   sans transformer\/scaler les canvas ni les contr\u00f4les interactifs.\n   ========================================================== *\/\n#mp26 #mp-compressor-embed .app{\n  width:min(944px,calc(100% - 28px))!important;\n  max-width:944px!important;\n  margin:28px auto 42px!important;\n}\n\n@media(max-width:650px){\n  #mp26 .mp-top{width:calc(100% - 20px)}\n}\n<\/style>\n\n<style id=\"mp26-to-top-conformity\">\n\/* Retour haut \u2014 centr\u00e9 dans la barre flottante, sans modifier le reste de la page. *\/\n#mp26 .mp-top{position:relative!important}\n#mp26 .mp-to-top{\n  position:absolute!important;\n  left:50%!important;\n  top:50%!important;\n  transform:translate(-50%,-50%)!important;\n  width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;\n  margin:0!important;padding:0!important;display:grid!important;place-items:center!important;\n  border:1px solid var(--line)!important;border-radius:50%!important;\n  background:var(--panel-soft)!important;color:var(--text)!important;box-shadow:none!important;\n  cursor:pointer!important;appearance:none!important;-webkit-appearance:none!important;z-index:2!important;\n}\n#mp26 .mp-to-top:hover{background:var(--accent-soft)!important}\n#mp26 .mp-to-top:focus-visible{outline:2px solid var(--accent)!important;outline-offset:3px!important}\n#mp26 .mp-to-top svg{width:18px!important;height:18px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}\n<\/style>\n\n<div id=\"mp26\">\n\n<nav class=\"mp-coursebar\" aria-label=\"Navigation g\u00e9n\u00e9rale de la formation\">\n  <div class=\"mp-coursebar-inner\">\n    <a class=\"mp-course-item\" href=\"https:\/\/lucasgoret.com\/index.php\/initiation-sound-design\/\">\n      <strong>INITIATION<\/strong>\n      <span>Sound Design<\/span>\n    <\/a>\n    <a class=\"mp-course-item\" href=\"https:\/\/lucasgoret.com\/index.php\/audition-forme-donde\/\">\n      <strong>AUDITION<\/strong>\n      <span>Forme d'onde<\/span>\n    <\/a>\n    <a class=\"mp-course-item is-current\" href=\"https:\/\/lucasgoret.com\/index.php\/audition-multipiste\/\" aria-current=\"page\">\n      <strong>AUDITION<\/strong>\n      <span>Multipiste<\/span>\n    <\/a>\n    <a class=\"mp-course-item\" href=\"https:\/\/lucasgoret.com\/index.php\/premiere-pro-mixage\/\">\n      <strong>PREMI\u00c8RE PRO<\/strong>\n      <span>Mixage<\/span>\n    <\/a>\n    <a class=\"mp-course-item\" href=\"https:\/\/lucasgoret.com\/index.php\/lenregistrement-prise-de-son\/\">\n      <strong>L\u2019ENREGISTREMENT<\/strong>\n      <span>Prise de son<\/span>\n    <\/a>\n    <a class=\"mp-course-item\" href=\"https:\/\/lucasgoret.com\/index.php\/audio-branding\/\">\n      <strong>AUDIO<\/strong>\n      <span>BRANDING<\/span>\n    <\/a>\n    <a class=\"mp-course-item\" href=\"https:\/\/lucasgoret.com\/index.php\/cours-exercices\/\">\n      <strong>EXERCICES<\/strong>\n      <span>Astuces<\/span>\n    <\/a>\n  <\/div>\n<\/nav>\n\n<div class=\"mp-top-wrap\">\n  <div class=\"mp-top\">\n    <div class=\"mp-brand\">\n      <span class=\"mp-dot\"><\/span>\n      <span>\n        <span class=\"mp-brand-title\">Audition \u00b7 Multipiste<\/span>\n        <span class=\"mp-brand-sub\">Cours 03 \u00b7 Montage multipiste<\/span>\n      <\/span>\n    <\/div>\n    <button class=\"mp-to-top\" id=\"mp26-to-top\" type=\"button\" aria-label=\"Retour en haut de page\" title=\"Retour en haut\">\n      <svg viewBox=\"0 0 24 24\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M6 15l6-6 6 6\"\/><\/svg>\n    <\/button>\n    <button class=\"mp-theme\" id=\"mp26-theme\" type=\"button\" aria-label=\"Changer le th\u00e8me\">\u263e<\/button>\n  <\/div>\n<\/div>\n\n<header class=\"mp-hero\">\n  <div class=\"mp-shell\">\n    <div class=\"mp-hero-grid\">\n      <div>\n        <div class=\"mp-kicker\" data-mp-parallax=\"-0.026\">Formation \u00b7 Chapitre 03<\/div>\n        <h1>\n          <span class=\"mp-hero-word mp-hero-accent\" data-mp-parallax=\"-0.082\">Audition<\/span>\n          <span class=\"mp-hero-word mp-hero-main\" data-mp-parallax=\"0.068\">Multipiste.<\/span>\n        <\/h1>\n        <p class=\"mp-lead\" data-mp-parallax=\"0.014\">Organiser plusieurs pistes, comprendre le routage, automatiser les param\u00e8tres, traiter les signaux et construire un mixage coh\u00e9rent dans Adobe Audition.<\/p>\n      <\/div>\n      <div class=\"mp-hero-side\">\n        <div class=\"mp-meta-card\"><span class=\"mp-meta-label\">Cours<\/span><span class=\"mp-meta-value\">03 \u2014 Multipiste<\/span><\/div>\n        <div class=\"mp-meta-card\"><span class=\"mp-meta-label\">Logiciel<\/span><span class=\"mp-meta-value\">Adobe Audition<\/span><\/div>\n        <div class=\"mp-meta-card\"><span class=\"mp-meta-label\">Objectif<\/span><span class=\"mp-meta-value\">Router \u00b7 Traiter \u00b7 Mixer<\/span><\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n<\/header>\n\n<div class=\"mp-shell\">\n  <nav class=\"mp-nav\" aria-label=\"Sommaire de la page\">\n    <a href=\"#presentation-du-multipiste\">01 \u00b7 Pr\u00e9sentation du multipiste<\/a>\n    <a href=\"#adobe-audition-fonctions-de-base\">02 \u00b7 Adobe Audition \u2014 Fonctions de base<\/a>\n    <a href=\"#len-tete-de-piste\">03 \u00b7 L\u2019en-t\u00eate de piste<\/a>\n    <a href=\"#fonctions-de-clips\">04 \u00b7 Fonctions de clips<\/a>\n    <a href=\"#automatisatons-enveloppes\">05 \u00b7 Automatisations (enveloppes)<\/a>\n    <a href=\"#effets\">06 \u00b7 Effets<\/a>\n    <a href=\"#fonction-remixage\">07 \u00b7 Fonction \u00ab Remixage \u00bb<\/a>\n    <a href=\"#le-chemin-du-signal-piste-bus-master\">08 \u00b7 Le chemin du signal&nbsp;: piste, bus, master<\/a>\n    <a href=\"#mixage\">09 \u00b7 Mixage<\/a>\n    <a href=\"#verification-avant-export\">10 \u00b7 V\u00e9rification avant export<\/a>\n    <a href=\"#exporter-un-fichier-audio\">11 \u00b7 Exporter un fichier audio<\/a>\n    <a href=\"#analogique-numerique\">12 \u00b7 Analogique \u2014 num\u00e9rique<\/a>\n    <a href=\"#pense-bete\">13 \u00b7 Pense-b\u00eate<\/a>\n    <a href=\"#son-gratuit\">14 \u00b7 Son gratuit<\/a>\n    <a href=\"#utilisation-de-musique\">15 \u00b7 Utilisation de musique<\/a>\n    <a href=\"#youtube\">16 \u00b7 YouTube<\/a>\n    <a href=\"#ia\">17 \u00b7 IA<\/a>\n  <\/nav>\n\n\n\n<section class=\"mp-section\" id=\"presentation-du-multipiste\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">01 \u2014 Introduction<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Pr\u00e9sentation du multipiste<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-tool-intro mp-reveal\">\n      <p>Le mode multipiste permet de faire travailler plusieurs sources sonores en m\u00eame temps. Avant de d\u00e9tailler les fonctions d\u2019Adobe Audition, cet outil permet de visualiser et d\u2019entendre trois notions fondamentales : <strong>les pistes<\/strong>, <strong>le routage vers des Bus<\/strong> et <strong>la convergence de tous les signaux vers le Master<\/strong>.<\/p>\n    <\/div>\n    <div id=\"mp-router-embed\" class=\"mp-embedded-tool\"><main id=\"mprt-rt4\">\n<header class=\"hero\">\n  <div>\n    <h1>Comprendre le chemin du son<\/h1>\n    <p>\u00c0 gauche, les sources et leurs sorties. Au centre, le trajet du signal et les traitements. \u00c0 droite, les m\u00eames niveaux r\u00e9unis dans la console jusqu\u2019au Master.<\/p>\n  <\/div>\n  <div class=\"badge\">Pistes \u2192 Routage \u2192 Console<\/div>\n<\/header>\n\n<section class=\"shell\">\n  <div class=\"toolbar\">\n    <div class=\"toolbar-left\"><span class=\"dot\"><\/span> ROUTING \u2014 SC\u00c8NE DE GARE<\/div>\n    <div class=\"toolbar-actions\">\n      <button class=\"accent\" id=\"mprt-presetScene\" type=\"button\">Routing recommand\u00e9<\/button>\n      <button id=\"mprt-presetDirect\" type=\"button\">Tout vers Master<\/button>\n      <button id=\"mprt-cutSends\" type=\"button\">Couper les Sends<\/button>\n    <\/div>\n  <\/div>\n\n  <div class=\"viewport\">\n    <div class=\"workspace\" id=\"mprt-workspace\">\n      <svg id=\"mprt-routingWires\" aria-hidden=\"true\"><\/svg>\n\n      <section class=\"panel\">\n        <div class=\"panel-head\"><strong>1 \u00b7 PISTES<\/strong><span>Sources audio + Bus<\/span><\/div>\n        <div class=\"left-zone\">\n          <div id=\"mprt-trackList\"><\/div>\n          <div class=\"bus-divider\">Bus<\/div>\n          <div id=\"mprt-busList\"><\/div>\n        <\/div>\n      <\/section>\n\n      <section class=\"panel\">\n        <div class=\"panel-head\"><strong>2 \u00b7 ROUTAGE DU SIGNAL<\/strong><span>Chemin, regroupements et traitements<\/span><\/div>\n        <div class=\"routing\">\n          <div class=\"node-caption cap-dialog\">Regroupement voix<\/div>\n          <div class=\"node bus\" id=\"mprt-dialogNode\"><strong>BUS DIALOGUES<\/strong><small>Voix Femme + Voix Homme<\/small><span class=\"node-port\" id=\"mprt-dialogOut\"><\/span><\/div>\n          <div class=\"fx fx-dialog\">\n            <button id=\"mprt-fxDialogEq\" type=\"button\">EQ<\/button>\n            <button id=\"mprt-fxDialogComp\" type=\"button\">COMP<\/button>\n            <button id=\"mprt-fxDialogDeess\" type=\"button\">DE-ESS<\/button>\n          <\/div>\n\n          <div class=\"node-caption cap-decor\">Regroupement d\u00e9cor<\/div>\n          <div class=\"node bus\" id=\"mprt-decorNode\"><strong>BUS D\u00c9COR<\/strong><small>Ambiance + Bruitages + Rumble<\/small><span class=\"node-port\" id=\"mprt-decorOut\"><\/span><\/div>\n          <div class=\"fx fx-decor\"><button id=\"mprt-fxDecorEq\" type=\"button\">EQ<\/button><\/div>\n\n          <div class=\"node-caption cap-reverb\">Traitement parall\u00e8le<\/div>\n          <div class=\"node\" id=\"mprt-reverbNode\"><strong>REVERB<\/strong><small>retour d'effet<\/small><span class=\"node-port\" id=\"mprt-reverbOut\"><\/span><\/div>\n\n          <div class=\"node-caption cap-master\">Somme finale<\/div>\n          <div class=\"node\" id=\"mprt-masterNode\"><strong>MASTER<\/strong><small>sortie du mix<\/small><\/div>\n\n          <div class=\"route-legend\">\n            <span><i class=\"legend-line\"><\/i>trajet principal<\/span>\n            <span><i class=\"legend-line send\"><\/i>Send parall\u00e8le<\/span>\n          <\/div>\n        <\/div>\n      <\/section>\n\n      <section class=\"panel\">\n        <div class=\"panel-head\"><strong>3 \u00b7 CONSOLE<\/strong><span>Volumes, affectations et sommation<\/span><\/div>\n        <div class=\"console\">\n          <div class=\"speaker-label\">Sortie du Master<\/div>\n          <div class=\"speaker\" aria-label=\"Enceinte de sortie\"><div class=\"speaker-box\"><\/div><\/div>\n          <div class=\"console-patch\" aria-hidden=\"true\"><svg id=\"mprt-consolePatchSvg\"><\/svg><\/div>\n          <div class=\"console-grid\" id=\"mprt-consoleGrid\"><\/div>\n        <\/div>\n      <\/section>\n    <\/div>\n  <\/div>\n\n  <div class=\"transport\">\n    <div class=\"transport-left\">\n      <button class=\"play\" id=\"mprt-playBtn\" type=\"button\" aria-label=\"Lecture\">\u25b6<\/button>\n      <button id=\"mprt-stopBtn\" type=\"button\" aria-label=\"Stop\">\u25a0<\/button>\n      <button id=\"mprt-rewindBtn\" type=\"button\" aria-label=\"Retour au d\u00e9but\">\u23ee<\/button>\n      <button class=\"resetmix\" id=\"mprt-resetMixBtn\" type=\"button\">R\u00e9initialiser le mix<\/button>\n    <\/div>\n\n    <div class=\"mprt-global-timeline\" aria-label=\"Navigation dans le morceau multipiste\">\n      <output id=\"mprt-timeCurrent\">0:00<\/output>\n      <input id=\"mprt-timeline\" type=\"range\" min=\"0\" max=\"1\" step=\".01\" value=\"0\"\n             aria-label=\"Position de lecture\" style=\"--p:0%\">\n      <output id=\"mprt-timeDuration\">--:--<\/output>\n    <\/div>\n\n    <div class=\"master-control\">\n      <label for=\"mprt-masterVol\">Volume g\u00e9n\u00e9ral<\/label>\n      <input id=\"mprt-masterVol\" type=\"range\" min=\"0\" max=\"1\" step=\".01\" value=\".8\">\n      <output id=\"mprt-masterOut\">80 %<\/output>\n    <\/div>\n  <\/div>\n<\/section>\n\n<div class=\"help\">\n  <div class=\"card\"><strong>Routing direct<\/strong>Une piste peut rejoindre le Master sans passer par un Bus. Ici, la Musique reste ind\u00e9pendante.<\/div>\n  <div class=\"card\"><strong>Bus<\/strong>Un Bus regroupe plusieurs pistes. Son fader agit sur tout le groupe ; son Solo isole uniquement les pistes r\u00e9ellement rout\u00e9es vers ce Bus.<\/div>\n  <div class=\"card\"><strong>Send<\/strong>Le Send copie une partie du signal vers la REVERB tout en conservant le trajet principal. C'est un chemin parall\u00e8le.<\/div>\n  <div class=\"card\"><strong>Effets de Bus<\/strong>EQ, compression et de-esser sont r\u00e9ellement ins\u00e9r\u00e9s dans le trajet audio. Les boutons bleus permettent une comparaison A\/B imm\u00e9diate.<\/div>\n<\/div>\n\n<div class=\"status\" id=\"mprt-status\" aria-live=\"polite\">Niveaux initiaux : 80 % sur toutes les pistes, les Bus et le Master.<\/div>\n<div class=\"signature\">\u00a9 2026 Lucas Goret \u00b7 Tous droits r\u00e9serv\u00e9s.<\/div>\n<\/main><\/div>\n    <div class=\"mp-tool-break\" aria-hidden=\"true\"><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"adobe-audition-fonctions-de-base\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">02 \u2014 Pratique<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Adobe Audition \u2014 Fonctions de base<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-pair mp-pair-image-first\"><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1920\" height=\"1186\" alt=\"\" class=\"attachment-full size-full wp-image-573\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/mode-multipiste.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/mode-multipiste.jpg 1920w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/mode-multipiste-300x185.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/mode-multipiste-1024x633.jpg 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/mode-multipiste-768x474.jpg 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/mode-multipiste-1536x949.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/><\/figure><div class=\"mp-aside mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>N.B. : l\u2019\u00e9dition en mode multipiste est <strong><em>non-destructive<\/em><\/strong>. Les effets, automations, fondus, etc, faits en mode multipiste n\u2019affecteront pas les fichiers source. En revanche, toute modification faite en mode forme d\u2019onde se refl\u00e8tera sur le fichier en multipiste.<\/p><\/div><\/div> <\/div><\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5><strong>Outils :<\/strong><\/h5><ul><li><strong>D\u00e9placement (V) :<\/strong> l\u2019outil de base qui permet de s\u00e9lectionner enti\u00e8rement les clips, les d\u00e9placer, les \u00e9tirer ou r\u00e9duire, manipuler les automations\u2026<\/li><li><strong>Lame de rasoir (R) :<\/strong> permet de sectionner les clips.<\/li><li><strong>S\u00e9lection temporelle (T) :<\/strong> permet de s\u00e9lectionner un ou plusieurs bouts de clips.<\/li><\/ul><div> <\/div><h5><strong>Fonctions de base :<\/strong><\/h5><ul><li>On glisse les fichiers voulus sur une piste sur la <strong>timeline<\/strong>. On obtient ce qui s\u2019appelle un <strong>clip <\/strong>: un rectangle avec la forme d\u2019onde du son.<\/li><li>Comme sur un logiciel de montage, on peut <strong>r\u00e9duire<\/strong> ou <strong>allonger<\/strong> ce clip en cliquant et glissant sur les bords avec l\u2019outil s\u00e9lection.<\/li><li>On peut <strong>d\u00e9placer<\/strong> le clip sur la piste, ou d\u2019une piste \u00e0 l\u2019autre.<\/li><li>En d\u00e9pla\u00e7ant un clip sur une autre piste, maintenir MAJ pour <strong>garder la m\u00eame position<\/strong> dans le temps.<\/li><li>Pour <strong>copier<\/strong> un clip, ALT+click et glisser la nouvelle copie \u00e0 l\u2019endroit souhait\u00e9.<\/li><li>Lorsque deux clips se chevauchent, un <strong>fondu enchain\u00e9<\/strong> (crossfade) est automatiquement cr\u00e9\u00e9. Il peut ensuite \u00eatre ajust\u00e9.<\/li><\/ul><\/div><\/div> <\/div>\n<div class=\"mp-rule\" aria-hidden=\"true\"><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"len-tete-de-piste\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">03 \u2014 Pistes<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">L\u2019en-t\u00eate de piste<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-statement mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Il existe trois possibilit\u00e9s de repr\u00e9sentations graphiques du son : la forme d\u2019onde, le spectre et le spectrogramme (ou sonogramme).<\/p><\/div><\/div> <\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>Nom de piste :<\/strong> premi\u00e8re chose \u00e0 faire, renommer ses pistes.<\/p><p><strong>Mute : <\/strong>d\u00e9sactive la piste lors de la lecture.<\/p><p><strong>Solo : <\/strong>ne lit <em>que<\/em> cette piste.<\/p><p><strong>Volume : <\/strong>glisser haut\/bas pour ajuster la volume de <strong>toute la piste<\/strong>.<\/p><p><strong>Panoramique (pan) :<\/strong> glisser haut\/bas pour balancer le son plus ou moins \u00e0 droite ou \u00e0 gauche pour <strong>toute la piste<\/strong>.<\/p><p><strong>Entr\u00e9e \/ sortie : <\/strong>d\u00e9finit la source pour l\u2019enregistrement et la sortie de la piste.<\/p><p>\u21d2 On peut cliquer-glisser sur la barre color\u00e9e \u00e0 gauche pour d\u00e9placer toute la piste pour organiser ses pistes. En double-cliquant sur cette m\u00eame barre, on peut d\u00e9finir la couleur des clips sur cette piste.<\/p><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1024\" height=\"546\" alt=\"\" class=\"attachment-large size-large wp-image-580\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/en-tete-multi-1024x546.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/en-tete-multi-1024x546.jpg 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/en-tete-multi-300x160.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/en-tete-multi-768x409.jpg 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/en-tete-multi.jpg 1231w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n<div class=\"mp-rule\" aria-hidden=\"true\"><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"fonctions-de-clips\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">04 \u2014 Montage<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Fonctions de clips<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-pair mp-pair-image-first\"><figure class=\"mp-media mp-reveal\"><a href=\"https:\/\/musiclab.chromeexperiments.com\/spectrogram\/\">\n<img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1920\" height=\"1080\" alt=\"\" class=\"attachment-full size-full wp-image-584\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/clip-ex.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/clip-ex.jpg 1920w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/clip-ex-300x169.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/clip-ex-1024x576.jpg 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/clip-ex-768x432.jpg 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/clip-ex-1536x864.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/> <\/a><\/figure><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><ul><li><strong>Fondus<\/strong> : on retrouve ici les m\u00eames petits carr\u00e9s qu\u2019en mode forme d\u2019onde.<\/li><li><strong>Modification du gain<\/strong> : cliquer et glisser pour changer le gain.<\/li><li><strong>Enveloppes de volume et pan<\/strong> : glisser pour modifier ou cliquer pour ajouter des images cl\u00e9 et cr\u00e9er une automation.<\/li><\/ul><\/div><\/div> <\/div><\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>Gain, volume et bruit de fond<\/strong><\/p><p><strong>Le gain<\/strong> correspond au niveau du signal avant son int\u00e9gration dans le mixage. Lors d\u2019un enregistrement, il faut obtenir un signal suffisamment fort, sans saturation. Si le gain est trop \u00e9lev\u00e9, le signal peut saturer. S\u2019il est trop faible, on devra ensuite remonter fortement son niveau, ce qui rendra \u00e9galement le bruit de fond plus audible.<\/p><p><strong>Le volume<\/strong> permet ensuite de r\u00e9gler la place du son dans le mixage. Si un son a \u00e9t\u00e9 enregistr\u00e9 avec de la saturation, baisser son volume ne supprimera pas cette saturation.<\/p><p>M\u00eame lorsque les fichiers ont \u00e9t\u00e9 normalis\u00e9s avant leur importation, leur gain peut encore \u00eatre ajust\u00e9 pour \u00e9quilibrer les diff\u00e9rents clips avant le mixage.<\/p><\/div><\/div><\/div><\/div> <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"automatisatons-enveloppes\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">05 \u2014 Automatisation<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Automatisations (enveloppes)<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div><div><ul><li><p>Les enveloppes nous permettent, gr\u00e2ce \u00e0 des images cl\u00e9, de modifier un r\u00e9glage (volume, pan, effets) dans le temps, en dessinant des courbes.<\/p><p>Dans Audition, il faut distinguer les <strong>automations de clip<\/strong> et les <strong><span style=\"font-weight: bolder;\">automations<\/span> de piste.<\/strong><\/p><p><strong>Les <span style=\"font-weight: bolder;\">automations<\/span> de clip<\/strong> agissent uniquement sur le clip sur lequel ces enveloppes ont \u00e9t\u00e9 modifi\u00e9es.<\/p><p><strong>Les <span style=\"font-weight: bolder;\">automations<\/span> de piste<\/strong> se dessinent sur toute la longueur d\u2019une piste et agiront sur tous les clips pr\u00e9sents sur cette piste, <em>tout en prenant en compte les automations des clips sur cette piste<\/em>.<\/p><\/li><\/ul><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><a href=\"https:\/\/musiclab.chromeexperiments.com\/spectrogram\/\">\n<img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1920\" height=\"1080\" alt=\"\" class=\"attachment-full size-full wp-image-585\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-clipp.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-clipp.jpg 1920w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-clipp-300x169.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-clipp-1024x576.jpg 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-clipp-768x432.jpg 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-clipp-1536x864.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/> <\/a><\/figure><\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<ul><li><p>Sur cet exemple, l\u2019automation de volume (en jaune) fera en sorte que le volume commence tr\u00e8s bas, remonte apr\u00e8s l\u2019impact initial, puis redescend un peu.<\/p><p>L\u2019automation de pan (en bleu) fait passer le son de gauche \u00e0 droite.<\/p><\/li><\/ul> <\/div><figure class=\"mp-media mp-reveal\"><a href=\"https:\/\/musiclab.chromeexperiments.com\/spectrogram\/\">\n<img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"840\" height=\"600\" alt=\"\" class=\"attachment-full size-full wp-image-586\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste4.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste4.jpg 840w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste4-300x214.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste4-768x549.jpg 768w\" sizes=\"auto, (max-width: 840px) 100vw, 840px\" \/> <\/a><\/figure><\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<ul><li><p><strong>Pour afficher les automations de piste :<\/strong><\/p><ul><li>Zoomer dans l\u2019en-t\u00eate avec la molette de la souris.<\/li><li>1 Cliquer sur la petite fl\u00e8che \u00e0 gauche de \u00ab Lire \u00bb<\/li><li>2 Cliquer sur la fl\u00e8che \u00ab Afficher les enveloppes \u00bb pour choisir quelle(s) automation(s) on souhaite voir affich\u00e9e(s). On peut, hormis le volume et le pan, mettre des automations pour tous les moindres r\u00e9glages de chaque effet, ce qui peut devenir encombrant, d\u2019o\u00f9 cette option, pour y voir plus clair.<\/li><li>3 Cliquer ici pour s\u00e9lectionner l\u2019automation que l\u2019on veut modifier.<\/li><\/ul><\/li><\/ul> <\/div><figure class=\"mp-media mp-reveal\"><a href=\"https:\/\/musiclab.chromeexperiments.com\/spectrogram\/\">\n<img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1920\" height=\"546\" alt=\"\" class=\"attachment-full size-full wp-image-587\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste1.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste1.jpg 1920w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste1-300x85.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste1-1024x291.jpg 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste1-768x218.jpg 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/enveloppe-piste1-1536x437.jpg 1536w\" sizes=\"auto, (max-width: 1920px) 100vw, 1920px\" \/> <\/a><\/figure><\/div>\n<div class=\"mp-reading mp-reveal\">\n<ul><li><p>Les automations de piste apparaissent sur une \u00ab sous-piste \u00bb, en-dessous de la piste concern\u00e9e.<\/p><p>Dans cet exemple, nous avons, en bas, une automation de piste <strong>ind\u00e9pendante<\/strong> du clip. La courbe du bas fait baisser le volume de la piste au moment du clip, car il \u00e9tait trop fort dans le mixage par rapport aux autres pistes, ou par rapport aux autres clips de la piste. Le volume <strong>global<\/strong> est baiss\u00e9 puis remont\u00e9; par contre l\u2019<span style=\"background-color: transparent;\">automation<\/span><span style=\"background-color: transparent;\"> du clip fonctionne toujours, nous aurons ce volume qui monte fort puis baisse un peu, ainsi que l\u2019effet de pan gauche \u2013 droite.<\/span><\/p><\/li><\/ul> <\/div>\n<div class=\"mp-rule\" aria-hidden=\"true\"><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"effets\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">06 \u2014 Traitement<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Effets<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>C\u2019est en mode multipiste que l\u2019on va utiliser le plus d\u2019effets.<\/p><p>Il y a ici \u00e9galement deux mani\u00e8res d\u2019appliquer des effets.<\/p><p>Comme pour les enveloppes, nous avons les <strong>effets de clip<\/strong> et les <strong>effets de piste<\/strong>.<\/p><p>Donc, les effets de <strong>clip<\/strong> agiront uniquement sur un <strong>clip s\u00e9lectionn\u00e9<\/strong>, tandis que les effets de <strong>piste<\/strong> agiront sur <strong>tous les clips contenus dans la piste<\/strong>.<\/p><p><strong>\u21d2 <\/strong><strong>Attention : sur le rack d\u2019effets, il faut bien s\u2019assurer d\u2019\u00eatre sur le bon mode d\u2019affichage, \u00ab <em>Effets du clip<\/em> \u00bb ou \u00ab <em>Effets de piste<\/em>\u00ab .<\/strong><\/p><\/div><\/div> <\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_19 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Chaque effet, dans Audition, est fourni avec des pr\u00e9-r\u00e9glages (presets) d\u2019usine. <strong>N\u2019h\u00e9sitez pas \u00e0 les explorer<\/strong>. Ces presets permettent de comprendre comment fonctionne chaque module d\u2019effet, pourquoi tel r\u00e9glage sonne de telle mani\u00e8re, et d\u2019ensuite pouvoir les adapter \u00e0 ce que l\u2019on souhaite obtenir. <strong>Essayez, exp\u00e9rimentez, explorez les extr\u00eames de chaque r\u00e9glage<\/strong><\/p><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-statement mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_20 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>Quelques effets de base en mode forme d\u2019onde :<\/strong><\/p><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>Egaliseur param\u00e9trique<\/strong><\/p><p><em>Effets &gt; Filtre et Egaliseur &gt; Egaliseur param\u00e9trique<\/em><\/p><p>Cet effet permet une correction pr\u00e9cise des fr\u00e9quences. Par exemple, correctement r\u00e9gl\u00e9, il peut permettre d\u2019\u00e9liminer un sifflement qui se serait gliss\u00e9 dans l\u2019enregistrement, ou simuler l\u2019acoustique particuli\u00e8re d\u2019un t\u00e9l\u00e9phone sur une voix\u2026 Cet effet est r\u00e9guli\u00e8rement utilis\u00e9 pour le nettoyage, le mixage et le sound design.<\/p><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1024\" height=\"668\" alt=\"\" class=\"attachment-large size-large wp-image-509\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/EQ-param-1024x668.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/EQ-param-1024x668.jpg 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/EQ-param-300x196.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/EQ-param-768x501.jpg 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/EQ-param-1536x1001.jpg 1536w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/EQ-param.jpg 1672w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>Compresseur<\/strong><\/p><p><em>Amplitude et compression &gt; Compresseur \u00e0 mod\u00e9lisation de tube<\/em><\/p><p>Le compresseur permet de <strong>r\u00e9duire la dynamique<\/strong>, c\u2019est-\u00e0-dire l\u2019\u00e9cart entre les passages faibles et les passages forts.<\/p><p>Il agit principalement en r\u00e9duisant le niveau des parties qui d\u00e9passent un certain seuil. On peut ensuite remonter le niveau g\u00e9n\u00e9ral gr\u00e2ce au <strong>gain de sortie<\/strong> : les passages faibles deviennent alors relativement plus pr\u00e9sents et le niveau global para\u00eet plus r\u00e9gulier.<\/p><p><strong>Le compresseur s\u2019utilisera sur la voix pour homog\u00e9n\u00e9iser le niveau global, sur la musique pour l\u2019emp\u00eacher de prendre trop de place tout en gardant les moments \u00e0 bas volume suffisamment audibles, et sur les bruitages, pour un meilleur contr\u00f4le de la pr\u00e9sence des sons.<\/strong><\/p><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1006\" height=\"640\" alt=\"\" class=\"attachment-large size-large wp-image-633\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/compresseur_monobande.png\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/compresseur_monobande.png 1006w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/compresseur_monobande-300x191.png 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/compresseur_monobande-768x489.png 768w\" sizes=\"auto, (max-width: 1006px) 100vw, 1006px\" \/><\/figure><\/div>\n\n<div class=\"mp-tool-intro mp-reveal\" style=\"margin-top:8px\">\n  <p><strong>Exp\u00e9rimentez :<\/strong> lancez l\u2019audio puis modifiez les param\u00e8tres. La courbe de compression et l\u2019att\u00e9nuation en temps r\u00e9el permettent de voir imm\u00e9diatement l\u2019action du traitement sur le signal.<\/p>\n<\/div>\n<div id=\"mp-compressor-embed\" class=\"mp-embedded-tool\"><main class=\"app\">\n  <header class=\"header\">\n    <div>\n      <h1>Compresseur & limiteur<\/h1>\n      <p>Tournez les potentiom\u00e8tres et observez imm\u00e9diatement leur effet sur la courbe de compression et sur l\u2019att\u00e9nuation r\u00e9elle du signal pendant la lecture.<\/p>\n    <\/div>\n    <div class=\"badge\">Outil p\u00e9dagogique<\/div>\n  <\/header>\n\n  <section class=\"machine\">\n    <div class=\"topbar\">\n      <div class=\"topbar-left\"><span class=\"dot\"><\/span> DYNAMICS \u2014 VISUALISATION<\/div>\n      <div class=\"mode-switch\">\n        <button id=\"mpcp-compressorMode\" class=\"active\" type=\"button\">COMPRESSEUR<\/button>\n        <button id=\"mpcp-limiterMode\" type=\"button\">LIMITEUR<\/button>\n      <\/div>\n    <\/div>\n\n    <div class=\"visual-zone\">\n      <article class=\"graph-card transfer-wrap\">\n        <div class=\"graph-head\">\n          <strong>Courbe de compression<\/strong>\n          <span>Entr\u00e9e \u2192 Sortie<\/span>\n        <\/div>\n        <div class=\"canvas-wrap\">\n          <canvas id=\"mpcp-transferCanvas\" width=\"520\" height=\"410\" aria-label=\"Courbe de transfert entr\u00e9e sortie\"><\/canvas>\n        <\/div>\n        <div class=\"graph-legend\">\n          <span class=\"legend-item\"><i class=\"legend-line\"><\/i> Sans traitement<\/span>\n          <span class=\"legend-item\"><i class=\"legend-line white\"><\/i> Avec traitement<\/span>\n        <\/div>\n      <\/article>\n\n      <article class=\"graph-card history-wrap\">\n        <div class=\"graph-head\">\n          <strong>Att\u00e9nuation en temps r\u00e9el<\/strong>\n          <div class=\"reduction-readout\">\n            <div class=\"gr-meter\"><i id=\"mpcp-grMeter\"><\/i><\/div>\n            <span id=\"mpcp-grValue\">0.0 dB<\/span>\n          <\/div>\n        <\/div>\n        <div class=\"canvas-wrap\">\n          <canvas id=\"mpcp-historyCanvas\" width=\"900\" height=\"400\" aria-label=\"Historique du signal et de l'att\u00e9nuation\"><\/canvas>\n        <\/div>\n        <div class=\"graph-legend\">\n          <span class=\"legend-item\"><i class=\"legend-fill\"><\/i> Niveau du signal<\/span>\n          <span class=\"legend-item\"><i class=\"legend-line white\"><\/i> Niveau apr\u00e8s traitement<\/span>\n          <span class=\"legend-item\"><i class=\"legend-line threshold-key\"><\/i><span id=\"mpcp-thresholdLegend\">Threshold<\/span><\/span>\n        <\/div>\n      <\/article>\n    <\/div>\n\n    <div class=\"knob-panel\">\n      <div class=\"knob-grid\">\n\n        <div class=\"knob-cell\">\n          <span class=\"knob-label\">Threshold<\/span>\n          <div class=\"knob\" id=\"mpcp-knobThreshold\" tabindex=\"0\" role=\"slider\" aria-label=\"Threshold\" aria-valuemin=\"-60\" aria-valuemax=\"0\" aria-valuenow=\"-18\"><\/div>\n          <span class=\"knob-value\" id=\"mpcp-thresholdValue\">\u221218 dB<\/span>\n          <span class=\"knob-caption\">Seuil<\/span>\n        <\/div>\n\n        <div class=\"knob-cell\">\n          <span class=\"knob-label\">Ratio<\/span>\n          <div class=\"knob\" id=\"mpcp-knobRatio\" tabindex=\"0\" role=\"slider\" aria-label=\"Ratio\" aria-valuemin=\"1\" aria-valuemax=\"20\" aria-valuenow=\"4\"><\/div>\n          <span class=\"knob-value\" id=\"mpcp-ratioValue\">4:1<\/span>\n          <span class=\"knob-caption\" id=\"mpcp-ratioCaption\">Intensit\u00e9<\/span>\n        <\/div>\n\n        <div class=\"knob-cell\">\n          <span class=\"knob-label\">Knee<\/span>\n          <div class=\"knob\" id=\"mpcp-knobKnee\" tabindex=\"0\" role=\"slider\" aria-label=\"Knee\" aria-valuemin=\"0\" aria-valuemax=\"40\" aria-valuenow=\"18\"><\/div>\n          <span class=\"knob-value\" id=\"mpcp-kneeValue\">18 dB<\/span>\n          <span class=\"knob-caption\">Transition<\/span>\n        <\/div>\n\n        <div class=\"knob-cell\">\n          <span class=\"knob-label\">Attack<\/span>\n          <div class=\"knob\" id=\"mpcp-knobAttack\" tabindex=\"0\" role=\"slider\" aria-label=\"Attack\" aria-valuemin=\"1\" aria-valuemax=\"200\" aria-valuenow=\"15\"><\/div>\n          <span class=\"knob-value\" id=\"mpcp-attackValue\">15 ms<\/span>\n          <span class=\"knob-caption\">Temps de r\u00e9action<\/span>\n        <\/div>\n\n        <div class=\"knob-cell\">\n          <span class=\"knob-label\">Release<\/span>\n          <div class=\"knob\" id=\"mpcp-knobRelease\" tabindex=\"0\" role=\"slider\" aria-label=\"Release\" aria-valuemin=\"50\" aria-valuemax=\"1500\" aria-valuenow=\"250\"><\/div>\n          <span class=\"knob-value\" id=\"mpcp-releaseValue\">250 ms<\/span>\n          <span class=\"knob-caption\">Temps de retour<\/span>\n        <\/div>\n\n        <div class=\"knob-cell\">\n          <span class=\"knob-label\">Make-up<\/span>\n          <div class=\"knob\" id=\"mpcp-knobMakeup\" tabindex=\"0\" role=\"slider\" aria-label=\"Make-up gain\" aria-valuemin=\"-12\" aria-valuemax=\"12\" aria-valuenow=\"0\"><\/div>\n          <span class=\"knob-value\" id=\"mpcp-makeupValue\">0 dB<\/span>\n          <span class=\"knob-caption\">Gain de sortie<\/span>\n        <\/div>\n\n      <\/div>\n    <\/div>\n\n    <div class=\"transport\">\n      <div class=\"transport-left\">\n        <button id=\"mpcp-playBtn\" class=\"play\" type=\"button\" aria-label=\"Lire\">\u25b6<\/button>\n        <button id=\"mpcp-resetBtn\" class=\"reset\" type=\"button\">Remise \u00e0 z\u00e9ro<\/button>\n      <\/div>\n      <div class=\"master-row\">\n        <label for=\"mpcp-masterVol\">Volume g\u00e9n\u00e9ral<\/label>\n        <input id=\"mpcp-masterVol\" type=\"range\" min=\"0\" max=\"1.1\" step=\".01\" value=\".8\">\n        <output id=\"mpcp-masterOut\">80 %<\/output>\n      <\/div>\n    <\/div>\n  <\/section>\n\n  <div class=\"teaching\">\n    <div class=\"card\"><strong>Threshold \u2014 seuil<\/strong>Le compresseur commence \u00e0 agir quand le signal d\u00e9passe ce niveau. Sur la courbe, c\u2019est le point o\u00f9 la ligne commence \u00e0 se plier.<\/div>\n    <div class=\"card\"><strong>Ratio<\/strong>D\u00e9termine la force de la compression. Plus le ratio est \u00e9lev\u00e9, plus la courbe s\u2019aplatit au-dessus du seuil.<\/div>\n    <div class=\"card\"><strong>Knee<\/strong>D\u00e9termine si l\u2019entr\u00e9e en compression est brutale ou progressive autour du seuil.<\/div>\n    <div class=\"card\"><strong>Attack<\/strong>Temps n\u00e9cessaire avant que la compression atteigne son action. Une attaque lente laisse davantage passer les transitoires.<\/div>\n    <div class=\"card\"><strong>Release<\/strong>Temps n\u00e9cessaire pour revenir \u00e0 z\u00e9ro r\u00e9duction apr\u00e8s la baisse du signal.<\/div>\n    <div class=\"card\"><strong>Make-up<\/strong>Gain ajout\u00e9 apr\u00e8s la compression pour compenser la baisse de niveau provoqu\u00e9e par le traitement.<\/div>\n    <div class=\"card\"><strong>Courbe entr\u00e9e \u2192 sortie<\/strong>La diagonale repr\u00e9sente un signal inchang\u00e9. La ligne blanche montre ce que devient le niveau apr\u00e8s traitement.<\/div>\n    <div class=\"card\"><strong>Att\u00e9nuation temps r\u00e9el<\/strong>La forme sombre repr\u00e9sente le niveau du son. La ligne blanche montre le niveau r\u00e9ellement obtenu apr\u00e8s r\u00e9duction de gain.<\/div>\n    <div class=\"card\"><strong>Limiteur<\/strong>Le Ratio devient fixe et tr\u00e8s \u00e9lev\u00e9 : il est donc verrouill\u00e9. Le Threshold devient ici un plafond de sortie \u2014 le <em>Ceiling<\/em> \u2014 mat\u00e9rialis\u00e9 par la ligne rouge.<\/div>\n  <\/div>\n\n  <div class=\"status\" id=\"mpcp-status\" aria-live=\"polite\">Cliquez sur Play puis tournez les potentiom\u00e8tres. Glissez verticalement sur un potard ou utilisez les fl\u00e8ches du clavier.<\/div>\n  <div class=\"signature\">\u00a9 2026 Lucas Goret \u00b7 Tous droits r\u00e9serv\u00e9s.<\/div>\n<\/main>\n\n<audio id=\"mpcp-audio\" preload=\"auto\" crossorigin=\"anonymous\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Guitare.mp3\"><\/audio><\/div>\n\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><ul><li><strong>Seuil (threshold) :<\/strong> le volume auquel on souhaite que le compresseur se mette \u00e0 agir.<\/li><li><strong>Rapport (ratio) :<\/strong> d\u00e9termine la quantit\u00e9 de r\u00e9duction de volume.<\/li><li><strong>Attaque (attack) :<\/strong> d\u00e9termine le temps que met le compresseur \u00e0 agir lorsque le seuil est atteint.<\/li><li><strong>Rel\u00e2chement (release) :<\/strong> d\u00e9termine le temps que met le compresseur \u00e0 revenir \u00e0 son \u00e9tat neutre quand le niveau repasse en dessous du seuil.<\/li><li><strong>Gain de sortie :<\/strong> le volume que l\u2019on souhaite \u00e0 la sortie de l\u2019effet.<\/li><\/ul><\/div><\/div> <\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>R\u00e9verb\u00e9ration (ou reverb)<\/strong><\/p><p><em>R\u00e9verb\u00e9ration &gt; R\u00e9verb\u00e9ration<\/em><\/p><p>L\u2019effet de r\u00e9verb\u00e9ration permet d\u2019imiter un espace r\u00e9verb\u00e9rant, c\u2019est \u00e0 dire un espace o\u00f9 le son a plus ou moins de r\u00e9flexion. Cela nous permet, \u00e0 partir d\u2019un son enregistr\u00e9 dans un espace mat, de recr\u00e9er artificiellement les r\u00e9sonances d\u2019un espace plus ou moins grand (salle de bain, hall de gare, auditorium, canyon\u2026).<\/p><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1000\" height=\"944\" alt=\"\" class=\"attachment-large size-large wp-image-634\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/reverb.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/reverb.jpg 1000w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/reverb-300x283.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/reverb-768x725.jpg 768w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/figure><\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><ul><li style=\"margin: 0px; padding: 0px; font-size: 18px; text-size-adjust: 100%;\"><span style=\"margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: transparent; font-weight: bold;\">Temps d\u2019att\u00e9nuation : <\/span>dur\u00e9e pendant laquelle la r\u00e9verb\u00e9ration d\u00e9cro\u00eet progressivement. Une valeur courte donne g\u00e9n\u00e9ralement l\u2019impression d\u2019un petit espace ; une valeur longue, celle d\u2019un espace plus vaste. \u00c0 titre indicatif : moins de 400 ms pour une petite pi\u00e8ce, 400 \u00e0 800 ms pour une pi\u00e8ce moyenne et davantage pour un grand espace.<\/li><li style=\"margin: 0px; padding: 0px; font-size: 18px; text-size-adjust: 100%;\"><span style=\"margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: transparent; font-weight: bold;\">Temps de pr\u00e9d\u00e9lai : <\/span>temps entre le son direct et la mont\u00e9e de la r\u00e9verb\u00e9ration. Un pr\u00e9d\u00e9lai court donne g\u00e9n\u00e9ralement une r\u00e9verb\u00e9ration plus imm\u00e9diatement li\u00e9e au son.<\/li><li style=\"margin: 0px; padding: 0px; font-size: 18px; text-size-adjust: 100%;\"><span style=\"margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: transparent; font-weight: bold;\">Diffusion : <\/span>agit sur la mani\u00e8re dont les r\u00e9flexions et les hautes fr\u00e9quences \u00e9voluent pendant la r\u00e9verb\u00e9ration. Elle permet notamment de diff\u00e9rencier une pi\u00e8ce plut\u00f4t vide d\u2019un espace plus absorbant.<\/li><li style=\"margin: 0px; padding: 0px; font-size: 18px; text-size-adjust: 100%;\"><span style=\"margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: transparent; font-weight: bold;\">Pur : <\/span>quantit\u00e9 de son original.<\/li><li style=\"margin: 0px; padding: 0px; font-size: 18px; text-size-adjust: 100%;\"><span style=\"margin: 0px; padding: 0px; border: 0px; outline: 0px; text-size-adjust: 100%; vertical-align: baseline; background: transparent; font-weight: bold;\">Avec effets : <\/span>quantit\u00e9 de son r\u00e9verb\u00e9r\u00e9.<\/li><\/ul><\/div><\/div> <\/div>\n<div class=\"mp-statement mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>Ne pas h\u00e9siter \u00e0 essayer les autres modes de r\u00e9verb (r\u00e9verb\u00e9ration \u00e0 convolution, r\u00e9verb\u00e9ration avanc\u00e9e, r\u00e9verb\u00e9ration studio) et les presets d\u2019usine propos\u00e9s.<\/strong><\/p><\/div><\/div> <\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div><div><p><strong>Limitateur (ou limiteur \/ limiter)<\/strong><\/p><p><em>Amplitude et compression &gt; Limitateur fixe<\/em><\/p><p>Le <strong>limitateur<\/strong> est une forme tr\u00e8s forte de compression destin\u00e9e \u00e0 emp\u00eacher les cr\u00eates du signal de d\u00e9passer un niveau maximum.<\/p><p>Il est souvent plac\u00e9 sur la piste <strong>Master<\/strong> comme s\u00e9curit\u00e9 contre les pics trop \u00e9lev\u00e9s. Il ne doit cependant pas servir \u00e0 r\u00e9parer un mixage constamment trop fort : s\u2019il travaille en permanence, il peut r\u00e9duire fortement la dynamique et provoquer des effets de pompage ou de distorsion.<\/p><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1024\" height=\"620\" alt=\"\" class=\"attachment-large size-large wp-image-1404\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.06.06-1024x620.png\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.06.06-1024x620.png 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.06.06-300x182.png 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.06.06-768x465.png 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.06.06-1536x930.png 1536w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.06.06-2048x1239.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n<div class=\"mp-gallery\"><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1024\" height=\"548\" alt=\"\" class=\"attachment-large size-large wp-image-1406\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.04.46-1024x548.png\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.04.46-1024x548.png 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.04.46-300x161.png 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.04.46-768x411.png 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/Capture-decran-2024-10-27-a-16.04.46.png 1494w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"536\" height=\"377\" alt=\"\" class=\"attachment-large size-large wp-image-1408\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/limit.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/limit.jpg 536w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/limit-300x211.jpg 300w\" sizes=\"auto, (max-width: 536px) 100vw, 536px\" \/><\/figure><\/div>\n<div class=\"mp-aside mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Dans le <strong>Limitateur fixe<\/strong> d\u2019Audition, r\u00e9glez par exemple <strong>Amplitude maximale<\/strong> \u00e0 <b>\u20130,3 dB<\/b>. Le signal sera automatiquement att\u00e9nu\u00e9 lorsque cela est n\u00e9cessaire pour rester sous cette limite.<\/p><p>Sauf besoin particulier, laissez les autres param\u00e8tres \u00e0 leurs valeurs adapt\u00e9es au projet.<\/p><\/div><\/div> <\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>D\u00e9esseur<\/strong><\/p><p><em>Amplitude et compression &gt; D\u00e9esseur<\/em><\/p><p>Cet outil permet de r\u00e9duire, dans un enregistement de voix, les <strong>sifflements<\/strong> parfois provoqu\u00e9s par les consonnes sibillantes, c\u2019est \u00e0 dire les S, Z, CH, J, (parfois les F et V).<\/p><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"889\" height=\"1024\" alt=\"\" class=\"attachment-large size-large wp-image-635\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/desseur-889x1024.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/desseur-889x1024.jpg 889w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/desseur-260x300.jpg 260w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/desseur-768x885.jpg 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/desseur.jpg 1002w\" sizes=\"auto, (max-width: 889px) 100vw, 889px\" \/><\/figure><\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><ul><li><p>En d\u00e9pla\u00e7ant les <strong>deux lignes dans le spectre<\/strong>, on peut \u00ab viser \u00bb les fr\u00e9quences o\u00f9 ces sifflements sont pr\u00e9sents (souvent entre 4000 Hz et 8000 Hz).<\/p><p>Le r\u00e9glage du <strong>seuil<\/strong> permet d\u2019ajuster la quantit\u00e9 de r\u00e9duction de ces consonnes.<\/p><p>Le <strong>vu-m\u00e8tre<\/strong> \u00e0 droite (<em>R\u00e9duction du gain<\/em>) nous indique la quantit\u00e9 de r\u00e9duction appliqu\u00e9e.<\/p><p>Il faut toujours \u00e9couter le reste du son pour voir si on n\u2019a pas d\u00e9natur\u00e9 l\u2019ensemble. <strong>Il y a souvent un compromis \u00e0 trouver<\/strong>.<\/p><\/li><\/ul><\/div><\/div> <\/div>\n<div class=\"mp-rule\" aria-hidden=\"true\"><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"fonction-remixage\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">07 \u2014 Remixage<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Fonction \u00ab Remixage \u00bb<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Il existe dans Audition un outil puissant mais bien cach\u00e9. Cet outil permet d\u2019adapter une musique sur sa vid\u00e9o en ajustant sa dur\u00e9e. Par exemple nous voulons 1mn25 d\u2019une musique \u00e0 un moment pr\u00e9cis, or notre piste de musique fait 3m35. Audition analyse la musique et l\u2019ajuste \u00e0 la dur\u00e9e d\u00e9sir\u00e9e, en prenant en compte son tempo, son rythme, ses cycles et ses suites d\u2019accord.<\/p><p>Cet outil n\u2019est disponible qu\u2019en mode multipiste.<\/p><p> <\/p><ul><li>Importer son fichier de musique sur une piste sur la timeline et la s\u00e9lectionner.<\/li><li>Afficher le panneau des propri\u00e9t\u00e9s : <em>Fen\u00eatre &gt; Propri\u00e9t\u00e9s<\/em><\/li><li>S\u00e9lectionner, dans ce panneau, \u00ab <em>Remixer<\/em>\u00ab <\/li><li>Cliquer sur \u00ab <em>Activer le remixage \u00bb. <\/em>Audition analyse le fichier.<\/li><li>Entr\u00e9e la dur\u00e9e que l\u2019on voudrait pour cette piste musicale. Audition d\u00e9coupe et rassemble la musique de fa\u00e7on \u00e0 ce qu\u2019elle colle \u00e0 la dur\u00e9e voulue, en gardant le d\u00e9but et la fin du morceau et en respectant les changements d\u2019accord et les enchainement logiques des diff\u00e9rentes parties du morceau pour un rendu qui parait plut\u00f4t naturel et pas maladroitement tronqu\u00e9.<\/li><li>Ceci marche surtout avec les musiques modernes, rythmiques, de pr\u00e9f\u00e9rence avec batterie. Cela marche mal (ou pas du tout) sur les musiques qui n\u2019ont pas de tempo pr\u00e9cis (musiques classiques par exemple).<\/li><\/ul><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-rule\" aria-hidden=\"true\"><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"le-chemin-du-signal-piste-bus-master\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">08 \u2014 Routage<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Le chemin du <span class=\"mp-nobr\">signal&nbsp;:<\/span> piste, bus, master<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Dans Audition, nous avons le contr\u00f4le sur tous les chemins que prennent tous les sons. Toutes les pistes mix\u00e9es, au bout du chemin, sont envoy\u00e9es dans une seule piste, la piste <strong>mixage <\/strong>(souvent appel\u00e9e la piste master), qui, elle, envoie le tout vers la sortie audio de l\u2019ordinateur (casque, haut-parleur\u2026).<\/p><p>Le chemin le plus basique est le suivant :<\/p><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1171\" height=\"236\" alt=\"\" class=\"attachment-full size-full wp-image-636\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Chemin-1.png\" \/><\/figure><\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Lorsqu\u2019un effet est ins\u00e9r\u00e9 directement sur une piste, il ne traite <strong>que<\/strong> cette piste. Pour partager un m\u00eame effet entre plusieurs pistes, on peut utiliser un bus et des <strong>Sends<\/strong> :<\/p><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1277\" height=\"239\" alt=\"\" class=\"attachment-full size-full wp-image-637\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Chemin-2.png\" \/><\/figure><\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Maintenant, admettons que nous ayons 3 pistes. Nous avons cr\u00e9\u00e9 un son de coup de feu en combinant deux sons diff\u00e9rents, et il y a une musique de fond. La sc\u00e8ne se passe dans un hall d\u2019immeuble, donc nous voulons un effet de r\u00e9verb\u00e9ration sur ce coup de feu pour nous donner la sensation d\u2019espace.<\/p><p>Nous pouvons mettre un effet de reverb sur chaque coup de feu, et cela, en th\u00e9orie, peut fonctionner :<\/p><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1268\" height=\"593\" alt=\"\" class=\"attachment-full size-full wp-image-638\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Chemin-3.png\" \/><\/figure><\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Pour appliquer la m\u00eame r\u00e9verb\u00e9ration \u00e0 plusieurs sons, on peut cr\u00e9er un <strong>bus de r\u00e9verb\u00e9ration<\/strong>.<\/p><p>Les pistes continuent normalement leur chemin vers le <strong>Master<\/strong>. Gr\u00e2ce au <strong>Send<\/strong>, on envoie en parall\u00e8le une copie de chaque signal vers le bus de r\u00e9verb\u00e9ration.<\/p><p>On place alors une seule r\u00e9verb\u00e9ration sur ce bus, g\u00e9n\u00e9ralement r\u00e9gl\u00e9e \u00e0 <strong>100 % avec effet<\/strong>, puis on r\u00e8gle s\u00e9par\u00e9ment la quantit\u00e9 de r\u00e9verb\u00e9ration envoy\u00e9e par chaque piste gr\u00e2ce au niveau de Send.<\/p><p>Cela permet de partager le m\u00eame espace acoustique entre plusieurs sons, de garder un r\u00e9glage coh\u00e9rent et d\u2019utiliser moins de ressources processeur.<\/p><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1628\" height=\"409\" alt=\"\" class=\"attachment-full size-full wp-image-639\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Chemin-4.png\" \/><\/figure><\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Les pistes de bus servent donc \u00e0 <strong>optimiser<\/strong> l\u2019espace de travail, <strong>r\u00e9duire la charge<\/strong> sur le processeur et surtout <strong>organiser ses pistes<\/strong> et ses effets afin de garder un mixage coh\u00e9rent.<\/p><p>Dans cet exemple de routage, retenez surtout le principe suivant :<\/p><ul><li>les deux pistes de coup de feu peuvent envoyer en parall\u00e8le une partie de leur signal vers un bus A contenant la r\u00e9verb\u00e9ration ;<\/li><li>la musique peut conserver son traitement propre avant d\u2019aller au Master ;<\/li><li>un bus peut aussi servir \u00e0 regrouper plusieurs pistes pour leur appliquer un traitement commun, comme ici les dialogues avec le d\u00e9esseur ;<\/li><li>un limiteur plac\u00e9 sur la piste Master agit sur l\u2019ensemble du mixage.<\/li><\/ul><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1675\" height=\"787\" alt=\"\" class=\"attachment-full size-full wp-image-640\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Chemin-5.png\" \/><\/figure><\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Pour cr\u00e9er une piste de bus : <em>Multipiste &gt; Pistes &gt; Ajouter une piste de bus st\u00e9r\u00e9o.<\/em><\/p><p>Pour une r\u00e9verb\u00e9ration commune, laissez la sortie principale de chaque piste dirig\u00e9e vers le Master, puis utilisez un <strong>Send<\/strong> pour envoyer vers le bus la quantit\u00e9 de signal souhait\u00e9e.<\/p><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1290\" height=\"829\" alt=\"\" class=\"attachment-full size-full wp-image-641\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/ajout-bus-1.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/ajout-bus-1.jpg 1290w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/ajout-bus-1-300x193.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/ajout-bus-1-1024x658.jpg 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/ajout-bus-1-768x494.jpg 768w\" sizes=\"auto, (max-width: 1290px) 100vw, 1290px\" \/><\/figure><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"mixage\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">09 \u2014 Mixage<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Mixage<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-subhead mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_22\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_32 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_41 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_24\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_34 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h3>D\u00e9finition et objectif<\/h3><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\">Le mixage consiste \u00e0 organiser, nettoyer et \u00e9quilibrer plusieurs sources sonores (voix, musique, bruitages\/SFX) afin d\u2019obtenir un rendu <strong data-end=\"712\" data-start=\"696\">intelligible<\/strong>, <strong data-end=\"726\" data-start=\"714\">agr\u00e9able<\/strong> et <strong data-end=\"742\" data-start=\"730\">coh\u00e9rent<\/strong> avec l\u2019image.<\/div><div class=\"et_pb_text_inner\"><br data-end=\"759\" data-start=\"756\"\/>Il garantit la <strong data-end=\"820\" data-start=\"792\">compr\u00e9hension du message<\/strong>, le <strong data-end=\"845\" data-start=\"825\">confort d\u2019\u00e9coute<\/strong> et la <strong data-end=\"879\" data-start=\"852\">coh\u00e9rence audiovisuelle<\/strong>.<\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p data-end=\"352\" data-start=\"151\"><b>Sur tout logiciel de son ou de montage, le vu-m\u00e9tre g\u00e9n\u00e9ral repr\u00e9sente la somme du son de toutes les pistes jou\u00e9es. Toutes les pistes du  multipiste sont additionn\u00e9es envoy\u00e9es dans la \u201cPiste Principale\u201d (visible tout \u00e0 droite dans le panneau M\u00e9langeur). C\u2019est cette piste principale qui repr\u00e9sente la sortie globale de votre logiciel.<\/b><\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1024\" height=\"576\" alt=\"\" class=\"attachment-large size-large wp-image-2756\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/6or7dc8a-1920-1-1024x576.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/6or7dc8a-1920-1-1024x576.jpg 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/6or7dc8a-1920-1-300x169.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/6or7dc8a-1920-1-768x432.jpg 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/6or7dc8a-1920-1-1536x864.jpg 1536w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/6or7dc8a-1920-1.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n<div class=\"mp-subhead mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_22\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_32 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_41 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_24\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_34 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h3><strong>Fondamental : \u00e9viter la saturation<\/strong><\/h3><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>La saturation num\u00e9rique<\/strong> appara\u00eet lorsqu\u2019un signal d\u00e9passe la limite maximale autoris\u00e9e lors de l\u2019enregistrement ou de l\u2019export : <strong>0 dBFS<\/strong>.<\/p><p>Lorsque le signal est r\u00e9ellement \u00e9cr\u00eat\u00e9, sa forme est d\u00e9form\u00e9e et baisser ensuite son volume ne permet pas de retrouver le signal original.<\/p><p><strong>R\u00e8gle simple pour le mixage :<\/strong> le niveau du Master doit rester sous <strong>0 dBFS<\/strong>. Gardez toujours une petite marge de s\u00e9curit\u00e9.<\/p><p>Audition travaille en interne avec une grande marge de calcul : un d\u00e9passement temporaire dans le logiciel peut parfois \u00eatre r\u00e9cup\u00e9r\u00e9 avant l\u2019export. Cela ne change pas la r\u00e8gle \u00e0 retenir : \u00e9viter de d\u00e9passer <strong>0 dBFS<\/strong> sur la sortie finale.<\/p><p data-end=\"671\" data-start=\"503\"><strong data-end=\"517\" data-start=\"503\">S\u00e9curit\u00e9 :<\/strong><\/p><ul><li data-end=\"671\" data-start=\"503\">Gardez une marge de s\u00e9curit\u00e9<\/li><li data-end=\"671\" data-start=\"503\">Rep\u00e9rez le passage le plus fort du projet.<\/li><li data-end=\"671\" data-start=\"503\">R\u00e9glez-le pour qu\u2019il reste sous votre marge de s\u00e9curit\u00e9 : si lui est correct, tout le reste le sera aussi.<\/li><\/ul><p data-end=\"825\" data-start=\"673\"> <\/p><p data-end=\"825\" data-start=\"673\">Pour finir, appliquez un <strong data-end=\"710\" data-start=\"698\">limiteur<\/strong> sur le Master avec une amplitude maximale d\u2019environ <strong data-end=\"746\" data-start=\"735\">\u20130,3 dB<\/strong> afin de pr\u00e9venir les pics involontaires.<\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-aside mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p data-end=\"352\" data-start=\"151\"><b>Pour v\u00e9rifier votre travail, une excellent m\u00e9thode consiste \u00e0 exporter votre rendu et le remettre sur Audition afin de le visualiser.<\/b><\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-subhead mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_22\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_32 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_41 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_24\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_34 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h3>Enjeux du mixage<\/h3><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p data-end=\"1248\" data-start=\"1224\">Un mixage correct doit :<\/p><ul data-end=\"1483\" data-start=\"1249\"><li data-end=\"1293\" data-start=\"1249\"><p data-end=\"1293\" data-start=\"1251\">pr\u00e9server la <strong data-end=\"1278\" data-start=\"1264\">lisibilit\u00e9<\/strong> de la voix ;<\/p><\/li><li data-end=\"1351\" data-start=\"1294\"><p data-end=\"1351\" data-start=\"1296\">assurer un <strong data-end=\"1320\" data-start=\"1307\">\u00e9quilibre<\/strong> entre musique et bruitages ;<\/p><\/li><li data-end=\"1419\" data-start=\"1352\"><p data-end=\"1419\" data-start=\"1354\">\u00e9viter toute g\u00eane auditive (pics, agressivit\u00e9, d\u00e9s\u00e9quilibres) ;<\/p><\/li><li data-end=\"1483\" data-start=\"1420\"><p data-end=\"1483\" data-start=\"1422\">maintenir une <strong data-end=\"1458\" data-start=\"1436\">coh\u00e9rence spatiale<\/strong> (st\u00e9r\u00e9o, environnement).<\/p><\/li><\/ul><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-subhead mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_22\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_32 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_41 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_24\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_34 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h1>M\u00e9thode simplifi\u00e9e en quatre \u00e9tapes<\/h1><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h2 data-end=\"1582\" data-start=\"1542\">\u2460 <strong data-end=\"1582\" data-start=\"1547\">Nettoyage (EQ correctif simple)<\/strong><\/h2><p data-end=\"1616\" data-start=\"1583\">Objectif : enlever ce qui g\u00eane.<\/p><p><strong>Quelques valeurs indicatives pour commencer :<\/strong><\/p><ul data-end=\"1897\" data-start=\"1617\"><li><p><strong>Voix<\/strong> : un coupe-bas situ\u00e9 approximativement entre <strong>80 et 120 Hz<\/strong> peut permettre de retirer des fr\u00e9quences graves inutiles. Ajustez toujours \u00e0 l\u2019\u00e9coute.<\/p><\/li><li><p>Si la voix pr\u00e9sente trop de sifflantes : cherchez g\u00e9n\u00e9ralement autour de <strong>5\u20138 kHz<\/strong>.<\/p><\/li><li><p><strong>Musique<\/strong> : si le grave prend trop de place, on peut l\u00e9g\u00e8rement l\u2019att\u00e9nuer.<\/p><\/li><li><p><strong>SFX<\/strong> : adaptez l\u2019\u00e9galisation au son et \u00e0 sa fonction dans la sc\u00e8ne.<\/p><\/li><\/ul><p><strong>Ces valeurs sont des points de d\u00e9part, pas des r\u00e8gles fixes.<\/strong><\/p><p data-end=\"1959\" data-start=\"1899\">But : avoir des sources <strong data-end=\"1934\" data-start=\"1923\">propres<\/strong> avant de les \u00e9quilibrer.<\/p><p data-end=\"1731\" data-start=\"1673\">Le but est une <strong data-end=\"1704\" data-start=\"1688\">voix lisible<\/strong> avant toute mise en forme.<\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h2 data-end=\"1998\" data-start=\"1966\">\u2461 <strong data-end=\"1998\" data-start=\"1971\">\u00c9quilibrage des niveaux<\/strong><\/h2><p data-end=\"2034\" data-start=\"1999\"><strong>M\u00e9thode simple :<\/strong><\/p><ul><li data-end=\"2034\" data-start=\"1999\">Garder toujours un oeil sur  le vu-m\u00e8tre global<\/li><li data-end=\"2034\" data-start=\"1999\">R\u00e9gler la voix d\u2019abord, puis ajouter la musique \u00ab au minimum n\u00e9cessaire \u00bb, puis les SFX pour compl\u00e9ter l\u2019action sans distraire.<\/li><li data-end=\"2034\" data-start=\"1999\"> <\/li><\/ul><p data-end=\"2034\" data-start=\"1999\">A titre indicatif, ci-dessous un sch\u00e9ma pour garder en t\u00eate certaines valeurs.<\/p><ol data-end=\"147\" data-start=\"111\"><li data-end=\"147\" data-start=\"111\"><p data-end=\"147\" data-start=\"114\"><strong data-end=\"145\" data-start=\"114\">Zones (verte \/ jaune \/ rouge)<\/strong><\/p><\/li><\/ol><ul data-end=\"295\" data-start=\"148\"><li data-end=\"189\" data-start=\"148\"><p data-end=\"189\" data-start=\"150\"><strong data-end=\"159\" data-start=\"150\">Verte<\/strong> : signal normal, niveau s\u00fbr<\/p><\/li><li data-end=\"240\" data-start=\"190\"><p data-end=\"240\" data-start=\"192\"><strong data-end=\"201\" data-start=\"192\">Jaune<\/strong> : signal \u00e9lev\u00e9, approche des limites<\/p><\/li><li data-end=\"295\" data-start=\"241\"><p data-end=\"295\" data-start=\"243\"><strong data-end=\"252\" data-start=\"243\">Rouge<\/strong> : signal trop fort, risque de saturation<\/p><\/li><\/ul><ol data-end=\"325\" data-start=\"297\" start=\"2\"><li data-end=\"325\" data-start=\"297\"><p data-end=\"325\" data-start=\"300\"><strong data-end=\"323\" data-start=\"300\">Voyant rouge (clip)<\/strong><\/p><\/li><\/ol><ul data-end=\"456\" data-start=\"326\"><li data-end=\"373\" data-start=\"326\"><p data-end=\"373\" data-start=\"328\">S\u2019allume <strong data-end=\"371\" data-start=\"337\">lorsque le signal atteint 0\u202fdB<\/strong><\/p><\/li><li data-end=\"456\" data-start=\"374\"><p data-end=\"456\" data-start=\"376\">Indique que le son est <strong data-end=\"418\" data-start=\"399\">\u00e9cr\u00eat\u00e9 \/ satur\u00e9<\/strong> et qu\u2019il faut <strong data-end=\"454\" data-start=\"433\">baisser le niveau<\/strong><\/p><\/li><\/ul><\/div><\/div><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"1024\" height=\"525\" alt=\"\" class=\"attachment-large size-large wp-image-2749\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/niveaux-mixage-1024x525.jpg\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/niveaux-mixage-1024x525.jpg 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/niveaux-mixage-300x154.jpg 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/niveaux-mixage-768x394.jpg 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/niveaux-mixage.jpg 1500w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure><\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><ul data-end=\"2527\" data-start=\"2347\"><li data-end=\"2413\" data-start=\"2347\"><p data-end=\"2413\" data-start=\"2349\">Une r\u00e9verb\u00e9ration l\u00e9g\u00e8re peut apporter une sensation d\u2019espace.<\/p><\/li><li data-end=\"2527\" data-start=\"2414\"><p data-end=\"2527\" data-start=\"2416\">La voix doit rester <strong data-end=\"2449\" data-start=\"2436\">au centre<\/strong>, la st\u00e9r\u00e9o peut \u00eatre utilis\u00e9e pour les SFX et la musique afin d\u2019a\u00e9rer le mix.<\/p><\/li><\/ul><p data-end=\"2617\" data-start=\"2529\">Techniquement, l\u2019objectif n\u2019est pas de \u00ab faire joli \u00bb, mais d\u2019obtenir un rendu <strong data-end=\"2616\" data-start=\"2593\">naturel et homog\u00e8ne<\/strong>.<\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h2 data-end=\"2443\" data-start=\"2395\">\u2462 <strong data-end=\"2443\" data-start=\"2400\">Compression : Stabiliser les variations<\/strong><\/h2><h3 data-end=\"2492\" data-start=\"2444\"><strong data-end=\"2492\" data-start=\"2448\">Intro \u00e0 la compression (clair et concis)<\/strong><\/h3><p data-end=\"2725\" data-start=\"2493\">La compression sert \u00e0 <strong data-end=\"2537\" data-start=\"2515\">r\u00e9duire les \u00e9carts<\/strong> entre les passages faibles et les passages forts (r\u00e9duire la dynamique).<br data-end=\"2590\" data-start=\"2587\"\/>Elle rend les \u00e9l\u00e9ments audio <strong data-end=\"2637\" data-start=\"2619\">plus constants<\/strong> et donc plus faciles \u00e0 int\u00e9grer dans un mix.<br data-end=\"2685\" data-start=\"2682\"\/>Elle n\u2019amplifie pas \u2014 elle <strong data-end=\"2724\" data-start=\"2712\">contr\u00f4le<\/strong>.<\/p><p data-end=\"2756\" data-start=\"2727\">On compresse principalement :<\/p><ul data-end=\"2932\" data-start=\"2757\"><li data-end=\"2793\" data-start=\"2757\"><p data-end=\"2793\" data-start=\"2759\"><strong data-end=\"2770\" data-start=\"2759\">la voix<\/strong>, pour la r\u00e9gularit\u00e9,<\/p><\/li><li data-end=\"2852\" data-start=\"2794\"><p data-end=\"2852\" data-start=\"2796\"><strong data-end=\"2812\" data-start=\"2796\">certains SFX<\/strong>, pour \u00e9viter des pics trop agressifs,<\/p><\/li><li data-end=\"2932\" data-start=\"2853\"><p data-end=\"2932\" data-start=\"2855\"><strong data-end=\"2869\" data-start=\"2855\">la musique<\/strong>, si elle a trop d\u2019\u00e9carts dynamiques (souvent l\u00e9ger seulement).<\/p><\/li><\/ul><h3 data-end=\"2971\" data-start=\"2934\"> <\/h3><h4 data-end=\"2987\" data-start=\"2972\"><strong data-end=\"2987\" data-start=\"2977\">Exemple sur une voix :<\/strong><\/h4><ul data-end=\"3124\" data-start=\"2988\"><li><p>Threshold (seuil de d\u00e9clenchement) : <strong>\u20136 dB<\/strong><\/p><\/li><li><p>Ratio : <strong>2:1<\/strong> \u2192 lorsque le signal augmente de 2 dB au-dessus du seuil, la sortie n\u2019augmente que de 1 dB.<\/p><\/li><li><p>Attack : <strong>15 ms<\/strong><\/p><\/li><li><p>Release : <strong>50 ms<\/strong><\/p><\/li><li><p>Gain reduction : <strong>environ \u20131 dB<\/strong><\/p><\/li><\/ul><p>Ces valeurs sont donn\u00e9es \u00e0 titre d\u2019exemple : le bon r\u00e9glage d\u00e9pend toujours du signal trait\u00e9.<\/p><p data-end=\"3533\" data-start=\"3487\">Objectif global : <strong data-end=\"3519\" data-start=\"3505\">stabiliser<\/strong>, pas \u00e9craser.<\/p><p data-end=\"3533\" data-start=\"3487\"> <\/p><p data-end=\"3533\" data-start=\"3487\">Exemple de r\u00e9glage d\u2019un compresseur sur un signal (courbe grise sur le graph) et son action sur le volume (courbe blanche). Observez les vu-m\u00e8tres d\u2019entr\u00e9e et sortie.<\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"768\" height=\"600\" alt=\"\" class=\"attachment-medium_large size-medium_large wp-image-2750\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/Capture-decran-2025-11-26-a-10.35.40-768x600.png\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/Capture-decran-2025-11-26-a-10.35.40-768x600.png 768w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/Capture-decran-2025-11-26-a-10.35.40-300x234.png 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/Capture-decran-2025-11-26-a-10.35.40-1024x800.png 1024w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2025\/11\/Capture-decran-2025-11-26-a-10.35.40.png 2026w\" sizes=\"auto, (max-width: 768px) 100vw, 768px\" \/><\/figure><\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h2 data-end=\"3586\" data-start=\"3540\">\u2463 <strong data-end=\"3586\" data-start=\"3545\">Coh\u00e9rence et espace (panoramique st\u00e9r\u00e9o)<\/strong><\/h2><ul data-end=\"3795\" data-start=\"3587\"><li><p><strong>Voix principale :<\/strong> g\u00e9n\u00e9ralement plac\u00e9e au centre.<\/p><\/li><li><p><strong>Musique st\u00e9r\u00e9o :<\/strong> conserver en g\u00e9n\u00e9ral son image st\u00e9r\u00e9o d\u2019origine.<\/p><\/li><li><p><strong>SFX :<\/strong> peuvent \u00eatre plac\u00e9s dans la st\u00e9r\u00e9o afin de suivre l\u2019image ou d\u2019a\u00e9rer le mix.<\/p><\/li><li><p>Les panoramiques extr\u00eames, <strong>100 % \u00e0 gauche ou \u00e0 droite<\/strong>, sont parfaitement possibles mais doivent \u00eatre utilis\u00e9s volontairement lorsqu\u2019ils servent la sc\u00e8ne ou l\u2019effet recherch\u00e9.<\/p><\/li><\/ul><p data-end=\"2617\" data-start=\"2529\">Techniquement, l\u2019objectif n\u2019est pas de \u00ab faire joli \u00bb, mais d\u2019obtenir un rendu <strong data-end=\"2616\" data-start=\"2593\">naturel et homog\u00e8ne<\/strong>.<\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"verification-avant-export\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">10 \u2014 Contr\u00f4le<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">V\u00e9rification avant export<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h2 data-end=\"3930\" data-start=\"3905\" style=\"text-align: left;\"><strong>Trois questions simples :<\/strong><\/h2><ol data-end=\"4094\" data-start=\"3931\"><li data-end=\"3980\" data-start=\"3931\"><p data-end=\"3980\" data-start=\"3934\">La voix est-elle parfaitement intelligible ?<\/p><\/li><li data-end=\"4016\" data-start=\"3981\"><p data-end=\"4016\" data-start=\"3984\">Aucun \u00e9l\u00e9ment ne sature-t-il ?<\/p><\/li><li data-end=\"4094\" data-start=\"4017\"><p data-end=\"4094\" data-start=\"4020\">La musique et les SFX respectent-ils leur place dans l\u2019\u00e9quilibre g\u00e9n\u00e9ral ?<\/p><\/li><\/ol><p data-end=\"4146\" data-start=\"4096\">Si la r\u00e9ponse est oui aux trois : le mix est pr\u00eat.<\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"exporter-un-fichier-audio\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">11 \u2014 Export<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Exporter un fichier audio<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_with_border et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><em>Prenez soin de <strong>nettoyer<\/strong> tout son qui d\u00e9passera la dur\u00e9e voule de votre rendu<\/em><\/p><p>Aller dans =&gt; <strong><em style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\">Fichier &gt; Exporter &gt; Mixage multipiste &gt; Session compl\u00e8te.<\/em><\/strong><\/p><p>Dans la boite de dialogue, il faut :<\/p><ul><li>Entrer le nom du fichier audio,<\/li><li>D\u00e9finir l\u2019emplacement de sauvegarde du fichier ,<\/li><li>Choisir le format d\u2019export (choisir .wav \u00ab onde PCM \u00bb pour un format full def sans compression)<\/li><li>D\u00e9finir le type d\u2019\u00e9chantillonnage (44100 Hz pour l\u2019audio, 48000 Hz pour la vid\u00e9o),<\/li><li>D\u00e9finir la r\u00e9solution (24 bits).<\/li><\/ul><p>Audition exportera un fichier audio de 0\u201900 \u00e0 la fin du dernier clip de la timeline.<\/p><p>Si l\u2019on souhaite n\u2019exporter qu\u2019une partie, il faut la selctionner avec l\u2019outil temporel et faire : <strong><em style=\"font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\">Fichier &gt; Exporter &gt; Mixage multipiste &gt; Selection temporelle.<\/em><\/strong><\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-subhead mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_22\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_32 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_41 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_24\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_34 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_43 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h3>Exporter un fichier vid\u00e9o<\/h3><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Pour obtenir un fichier vid\u00e9o contenant le mixage r\u00e9alis\u00e9 dans Audition, il faut passer soit par Adobe Premiere Pro, soit par Adobe Media Encoder. Ici, nous allons voir la manipulation avec Media Encoder.<\/p><p><em>Fichier &gt; Exporter &gt; Exporter avec Adobe Media Encoder.<\/em><\/p><p>Audition va lancer Media Encoder en arri\u00e8re plan.<\/p><p>Dans la boite de dialogue, il faut :<\/p><ul><li>Entrer le nom du fichier vid\u00e9o,<\/li><li>D\u00e9finir l\u2019emplacement du disque dur o\u00f9 le fichier sera export\u00e9,<\/li><li>Choisir le format vid\u00e9o de Media Encoder.<\/li><\/ul><p>D\u00e8s qu\u2019on valide, Media Encoder va travailler en arri\u00e8re plan et produire le fichier voulu. Audition exportera (normalement) un fichier vid\u00e9o d\u00e9butant \u00e0 0\u201900 et s\u2019\u00e9tendant jusqu\u2019\u00e0 la fin du dernier clip audio de la timeline.<\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p>Pour des raisons obscures, avec Audition en mode multipiste, <b>la dur\u00e9e du fichier export n\u2019est pas toujours celle d\u00e9sir\u00e9e<\/b>. Pour obtenir un .wav avec une dur\u00e9e pr\u00e9cise, 2 options :<\/p><ul><li>Utiliser l\u2019outil de s\u00e9l\u00e9ction temporelle dans la barre d\u2019outils tout en haut (raccourci : T) pour s\u00e9lectionner la portion du projet que l\u2019on veut exporter. Ajuster en entrant, au clavier, la dur\u00e9e exacte voulue dans la fen\u00eatre \u00ab S\u00e9lection\/affichage \u00bb en bas \u00e0 droite (si elle n\u2019y est pas, cocher dans le menu <em>Fen\u00eatre &gt; S\u00e9lection\/Affichage<\/em>). Ensuite, exporter via <em>Fichier &gt; Exporter &gt; Mixage multipiste &gt; S\u00e9lection temporelle.<\/em><\/li><li>Exporter le .wav puis l\u2019ouvrir en mode forme d\u2019onde. Ajuster la dur\u00e9e exacte, si besoin, ajouter des fondus entrants\/sortants. Exporter de nouveau avec <em>Fichier &gt; Exporter &gt; Fichier\u2026<\/em> (raccourci ctrl+maj+E).<\/li><\/ul><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"analogique-numerique\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">12 \u2014 Conversion<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Analogique \u2014 num\u00e9rique<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5><strong>Analogique vs num\u00e9rique<\/strong><\/h5><p>Le son qui se propage dans l\u2019air correspond \u00e0 des variations continues de pression.<\/p><p>Un microphone transforme ces variations en un signal \u00e9lectrique <strong>analogique<\/strong>, lui aussi continu.<\/p><p>Lors d\u2019un enregistrement <strong>num\u00e9rique<\/strong>, un convertisseur analogique-num\u00e9rique mesure r\u00e9guli\u00e8rement l\u2019amplitude de ce signal et transforme ces mesures en valeurs num\u00e9riques.<\/p><p>\u00c0 la lecture, un convertisseur num\u00e9rique-analogique effectue le chemin inverse afin de recr\u00e9er un signal \u00e9lectrique envoy\u00e9 vers les haut-parleurs ou le casque.<\/p><p>Avec une fr\u00e9quence d\u2019\u00e9chantillonnage et une r\u00e9solution adapt\u00e9es, cette conversion permet de reproduire le signal avec une tr\u00e8s grande fid\u00e9lit\u00e9.<\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"966\" height=\"516\" alt=\"\" class=\"attachment-large size-large wp-image-645\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/courbe.png\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/courbe.png 966w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/courbe-300x160.png 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/courbe-768x410.png 768w\" sizes=\"auto, (max-width: 966px) 100vw, 966px\" \/><\/figure><\/div>\n<div class=\"mp-rule\" aria-hidden=\"true\"><\/div>\n<div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5>Lorsque le travail est termin\u00e9 dans Audition (ou n\u2019importe quel autre logiciel), on va exporter le r\u00e9sultat final. Il y a deux r\u00e9glages principaux \u00e0 prendre en compte : l\u2019\u00e9chantillonnage (en Hz) et la r\u00e9solution (en bits).<\/h5><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><ul><li><p><strong>L\u2019\u00e9chantillonnage<\/strong> indique combien de fois par seconde le signal est mesur\u00e9.<\/p><p>Par exemple, une fr\u00e9quence de <strong>44 100 Hz<\/strong> signifie que le signal est mesur\u00e9 44 100 fois par seconde.<\/p><p>Plus la fr\u00e9quence d\u2019\u00e9chantillonnage est \u00e9lev\u00e9e, plus on peut enregistrer des fr\u00e9quences hautes. Avec 44,1 kHz, on peut th\u00e9oriquement reproduire des fr\u00e9quences jusqu\u2019\u00e0 environ 22 kHz, ce qui couvre le spectre audible humain.<\/p><\/li><li><p><strong>44,1 kHz<\/strong> est tr\u00e8s courant pour la musique et correspond notamment au format CD.<\/p><\/li><li><p><strong>48 kHz<\/strong> est le standard courant pour la vid\u00e9o et l\u2019audiovisuel.<\/p><\/li><li><p>Pour nos projets vid\u00e9o, nous travaillerons donc g\u00e9n\u00e9ralement en <strong>48 kHz<\/strong>.<\/p><\/li><\/ul><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"945\" height=\"839\" alt=\"\" class=\"attachment-large size-large wp-image-646\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/echantillonnage.png\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/echantillonnage.png 945w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/echantillonnage-300x266.png 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/echantillonnage-768x682.png 768w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><\/figure><\/div>\n<div class=\"mp-pair mp-pair-text-first\"><div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>La r\u00e9solution<\/strong> indique avec quelle pr\u00e9cision l\u2019amplitude de chaque \u00e9chantillon est enregistr\u00e9e. Une r\u00e9solution plus \u00e9lev\u00e9e offre notamment une plus grande marge dynamique.<\/p><p><strong>24 bits<\/strong> est largement suffisant pour obtenir une tr\u00e8s haute qualit\u00e9 dans la majorit\u00e9 des productions audio.<\/p><p>Il existe \u00e9galement des enregistreurs en <strong>32 bits flottants<\/strong>. Ce format offre une tr\u00e8s grande marge dynamique et rend le r\u00e9glage du niveau d\u2019enregistrement beaucoup moins critique.<\/p><p>Un signal qui para\u00eet trop fort peut souvent \u00eatre baiss\u00e9 apr\u00e8s l\u2019enregistrement sans avoir \u00e9t\u00e9 r\u00e9ellement \u00e9cr\u00eat\u00e9, et un signal tr\u00e8s faible peut \u00eatre remont\u00e9 dans de bonnes conditions.<\/p><p><strong>Attention :<\/strong> le 32 bits flottants ne fait pas de miracle. Si le microphone ou l\u2019\u00e9lectronique d\u2019entr\u00e9e sature r\u00e9ellement, cette distorsion ne pourra pas \u00eatre r\u00e9par\u00e9e.<\/p><p>Pour retenir simplement : le 32 bits flottants offre une \u00e9norme marge de s\u00e9curit\u00e9 \u00e0 l\u2019enregistrement, mais il ne rend pas le mat\u00e9riel impossible \u00e0 saturer.<\/p><\/div><\/div> <\/div><figure class=\"mp-media mp-reveal\"><img loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" loading=\"lazy\" width=\"945\" height=\"939\" alt=\"\" class=\"attachment-large size-large wp-image-647\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/resolution.png\" srcset=\"https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/resolution.png 945w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/resolution-300x298.png 300w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/resolution-150x150.png 150w, https:\/\/lucasgoret.com\/wp-content\/uploads\/2024\/10\/resolution-768x763.png 768w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><\/figure><\/div>\n<div class=\"mp-aside mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_52 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p><strong>Pour retenir :<\/strong> la fr\u00e9quence d\u2019\u00e9chantillonnage indique combien de fois le son est mesur\u00e9 chaque seconde ; la r\u00e9solution en bits indique avec quelle finesse on mesure son amplitude.<\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-statement mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_with_border et_pb_row et_pb_row_22\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_28 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_53 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><p style=\"text-align: center;\">Pour approfondir vos connaissances : <a href=\"http:\/\/culturesciencesphysique.ens-lyon.fr\/ressource\/principe-numerisation.xml\">http\\:\/\/culturesciencesphysique.ens-lyon.fr\/ressource\/principe-numerisation.xml<\/a><\/p><\/div><\/div><\/div><\/div><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_29 et_pb_css_mix_blend_mode_passthrough et-last-child\" style=\"text-align: center;\"> <\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-rule\" aria-hidden=\"true\"><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"pense-bete\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">13 \u2014 M\u00e9thode<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Pense-b\u00eate<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_40 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5><strong><u>Application des effets<\/u><\/strong><\/h5><p><strong>Sur la voix<\/strong> : EQ \/ compresseur \/ d\u00e9esseur<\/p><p><strong>Sur la musique<\/strong> : EQ \/ compresseur<\/p><p><strong>Sur les bruitages \/ sound design<\/strong> : EQ \/ compresseur \/ reverb \/ autres effets<\/p><p><strong>Sur la piste mixage<\/strong> : limiteur avec une amplitude maximale d\u2019environ \u20130,3 dB<\/p><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-rule\" aria-hidden=\"true\"><\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"son-gratuit\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">14 \u2014 Ressources<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Son gratuit<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-statement mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5 style=\"text-align: center;\"><strong>Banques de son gratuites<\/strong><\/h5><p style=\"text-align: center;\"><a href=\"https:\/\/freesound.org\/\">Freesound<\/a><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/lasonotheque.org\/\">La sonoth\u00e8que<\/a><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/quicksounds.com\/\">Quick sounds<\/a><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/sound-effects.bbcrewind.co.uk\/\">Banque de la BBC<\/a><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/www.universal-soundbank.com\/\">Universal soundbank<\/a><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/www.saturax.fr\/blog\/liste-meilleures-banques-de-son-gratuit-libre-de-droit\/\">20 autres banques<\/a><\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-statement mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5 style=\"text-align: center;\"><strong>Musiques libres de droits (sous conditions)<\/strong><\/h5><p style=\"text-align: center;\"><span style=\"text-decoration: underline;\">Toujours v\u00e9rifier les licences <\/span><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/studio.youtube.com\">Youtube Studio<\/a><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/pixabay.com\/music\/\">Pixabay<\/a><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/freepd.com\/\">FreePD<\/a><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/musopen.org\/fr\/\">Musopen<\/a><\/p><p style=\"text-align: center;\"><a href=\"https:\/\/www.auboutdufil.com\/index.php?license=CC-BY\">Au bout du fil<\/a><\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"utilisation-de-musique\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">15 \u2014 Musique<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">Utilisation de musique<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-reading mp-reveal\">\n<p><span style=\"font-size: 1rem; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\">Partez du principe qu\u2019il faut respecter le travail de l\u2019artiste et qu\u2019il-elle est prot\u00e9g\u00e9-e par <\/span><strong style=\"font-size: 1rem; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\">des droits d\u2019auteur<\/strong><span style=\"font-size: 1rem; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';\">.<\/span><\/p><div><h5><span style=\"font-size: 1rem;\">Cependant, il existe de la <\/span><strong data-end=\"134\" data-start=\"108\" style=\"font-size: 1rem;\">musique libre de droit<\/strong><span style=\"font-size: 1rem;\">, elle implique souvent une contre partie. Il faut donc choisir des morceaux provenant de plateformes fiables (Pixabay Music, Audionautix, Musopen, Free Music Archive\u2026) et toujours <\/span><strong data-end=\"292\" data-start=\"269\" style=\"font-size: 1rem;\">v\u00e9rifier la licence<\/strong><span style=\"font-size: 1rem;\"> indiqu\u00e9e pour chaque morceau. <\/span><\/h5><p><strong>Pas de licence explicite ? M\u00e9fiance !<\/strong> Cela peut \u00eatre le signe d\u2019une volont\u00e9 de r\u00e9clamer des droits a posteriori.<\/p><h5><span style=\"font-size: 1rem;\">Les licences les plus permissives sont <\/span><em><strong data-end=\"383\" data-start=\"360\" style=\"font-size: 1rem;\">Public Domain \/ CC0<\/strong><\/em><span style=\"font-size: 1rem;\"> (totalement libres) et <\/span><em><strong data-end=\"427\" data-start=\"407\" style=\"font-size: 1rem;\">Creative Commons<\/strong><\/em><span style=\"font-size: 1rem;\"> (CC BY, CC BY-SA, etc.), qui peuvent exiger une <\/span><strong data-end=\"491\" data-start=\"476\" style=\"font-size: 1rem;\">attribution<\/strong><span style=\"font-size: 1rem;\">, interdire l\u2019usage commercial ou imposer le partage sous la m\u00eame licence. <\/span><\/h5><div><span style=\"font-size: 1rem;\"> <\/span><\/div><div><h4 data-end=\"619\" data-start=\"582\" style=\"text-align: center;\"><strong data-end=\"619\" data-start=\"584\">Les licences les plus courantes<\/strong><\/h4><div class=\"\\_tableContainer_1rjym_1\"><div class=\"group \\_tableWrapper_1rjym_13 flex w-fit flex-col-reverse\" tabindex=\"-1\"><table class=\"w-fit min-w-(--thread-content-width)\" data-end=\"1461\" data-start=\"621\"><thead data-end=\"673\" data-start=\"621\"><tr data-end=\"673\" data-start=\"621\"><th data-col-size=\"sm\" data-end=\"631\" data-start=\"621\">Licence<\/th><th data-col-size=\"md\" data-end=\"654\" data-start=\"631\">Autorisations<\/th><th data-col-size=\"md\" data-end=\"673\" data-start=\"654\">Exemple d\u2019usage<\/th><\/tr><\/thead><tbody data-end=\"1461\" data-start=\"724\"><tr data-end=\"835\" data-start=\"724\"><td data-col-size=\"sm\" data-end=\"750\" data-start=\"724\"><strong data-end=\"749\" data-start=\"726\">CC0 \/ Public Domain<\/strong><\/td><td data-col-size=\"md\" data-end=\"786\" data-start=\"750\">Tout, librement, sans attribution<\/td><td data-col-size=\"md\" data-end=\"835\" data-start=\"786\">Parfait pour les vid\u00e9os YouTube, TikTok, pub\u2026<\/td><\/tr><tr data-end=\"955\" data-start=\"836\"><td data-col-size=\"sm\" data-end=\"848\" data-start=\"836\"><strong data-end=\"847\" data-start=\"838\">CC BY<\/strong><\/td><td data-col-size=\"md\" data-end=\"909\" data-start=\"848\">Utiliser et modifier, mais <strong data-end=\"908\" data-start=\"877\">donner le cr\u00e9dit \u00e0 l\u2019auteur<\/strong><\/td><td data-col-size=\"md\" data-end=\"955\" data-start=\"909\">Exemple : \u201cMusique par Jean Dupont, CC BY\u201d<\/td><\/tr><tr data-end=\"1114\" data-start=\"956\"><td data-col-size=\"sm\" data-end=\"971\" data-start=\"956\"><strong data-end=\"970\" data-start=\"958\">CC BY-SA<\/strong><\/td><td data-col-size=\"md\" data-end=\"1067\" data-start=\"971\">Comme CC BY, mais si tu modifies, tu dois <strong data-end=\"1066\" data-start=\"1015\">partager la nouvelle \u0153uvre sous la m\u00eame licence<\/strong><\/td><td data-col-size=\"md\" data-end=\"1114\" data-start=\"1067\">Remix musical libre \u00e0 partager pareillement<\/td><\/tr><tr data-end=\"1224\" data-start=\"1115\"><td data-col-size=\"sm\" data-end=\"1130\" data-start=\"1115\"><strong data-end=\"1129\" data-start=\"1117\">CC BY-NC<\/strong><\/td><td data-col-size=\"md\" data-end=\"1174\" data-start=\"1130\">Utilisation <strong data-end=\"1173\" data-start=\"1144\">non commerciale seulement<\/strong><\/td><td data-col-size=\"md\" data-end=\"1224\" data-start=\"1174\">Utilisation interdite dans une pub payante<\/td><\/tr><tr data-end=\"1325\" data-start=\"1225\"><td data-col-size=\"sm\" data-end=\"1240\" data-start=\"1225\"><strong data-end=\"1239\" data-start=\"1227\">CC BY-ND<\/strong><\/td><td data-col-size=\"md\" data-end=\"1281\" data-start=\"1240\">Tu peux utiliser <strong data-end=\"1280\" data-start=\"1259\">mais pas modifier<\/strong><\/td><td data-col-size=\"md\" data-end=\"1325\" data-start=\"1281\">Musique originale, pas de remix autoris\u00e9<\/td><\/tr><tr data-end=\"1461\" data-start=\"1326\"><td data-col-size=\"sm\" data-end=\"1352\" data-start=\"1326\"><strong data-end=\"1351\" data-start=\"1328\">CC BY-NC-SA \/ NC-ND<\/strong><\/td><td data-col-size=\"md\" data-end=\"1440\" data-start=\"1352\">Combinaison de conditions : non commercial + partage identique ou pas de modification<\/td><td data-col-size=\"md\" data-end=\"1461\" data-start=\"1440\">Usage tr\u00e8s limit\u00e9<\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div><h5><strong><em><span style=\"font-size: 1rem;\"> <\/span><\/em><\/strong><\/h5><h5><strong><em><span style=\"font-size: 1rem;\">Pour \u00eatre s\u00fbr de ne prendre aucun risque, il faut lire la licence sur la page officielle, noter l\u2019auteur et la source, et garder une preuve de la licence. Ainsi, on peut utiliser l\u00e9galement la musique dans des vid\u00e9os, projets ou diffusions mondiales sans probl\u00e8me.<\/span><\/em><\/strong><\/h5><\/div> <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"youtube\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">16 \u2014 Diffusion<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">YouTube<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-reading mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5><span style=\"font-size: 1rem;\">On trouve \u00e9galement des tonnes de bruitages et sound design sur YouTube. Les sons peuvent \u00eatre t\u00e9l\u00e9charg\u00e9s avec un outil en ligne, par exemple <\/span><a href=\"https:\/\/www.converto.io\/fr66\/?\" rel=\"noopener\" style=\"background-color: #ffffff; font-size: 1rem;\" target=\"\\_blank\">converto.io.<\/a><\/h5><p><strong>Ces sons peuvent-\u00eatre eux aussi soumis \u00e0 des droits d\u2019auteur<\/strong>, faites en sorte de les respecter. Dans la mesure o\u00f9 ils sont moins identifiables que de la musique, leur utilisation noy\u00e9e dans un mix est moins contraignante. Une technique efficace actuellement est de poster un contenu en priv\u00e9 sur youtube studio et laisser les bots du <strong>CONTENT ID<\/strong> v\u00e9rifier automatiquement.<\/p><p>Dans la mesure du possible, faire les recherches en anglais pour plus de r\u00e9sultats.<\/p><p>Utiliser les termes vu dans le \u00ab vocabulaire du sound design \u00bb, essayer en ajoutant les termes \u00ab SFX \u00bb ou \u00ab cinematic \u00bb pour tout ce qui est sound design, et \u00ab foley \u00bb pour tout ce qui est bruitage (ex: \u00ab cinematic deep impact \u00bb, \u00ab heavy boot foley \u00bb, \u00ab small explosion SFX \u00bb).<\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n  <\/div>\n<\/section>\n\n<section class=\"mp-section\" id=\"ia\">\n  <div class=\"mp-head\">\n    <div class=\"mp-index\">17 \u2014 IA<\/div>\n    <div class=\"mp-head-main\">\n      <h2 data-mp-parallax=\"-0.022\">IA<\/h2>\n    <\/div>\n  <\/div>\n  <div class=\"mp-flow\">\n    <div class=\"mp-subhead mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5 style=\"text-align: center;\">IA de Adobe pour le nettoyage des voix :<\/h5><p style=\"text-align: center;\"><a href=\"https:\/\/podcast.adobe.com\/enhance\" rel=\"noopener\" target=\"\\_blank\">https\\:\/\/podcast.adobe.com\/enhance<\/a><\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-subhead mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5 style=\"text-align: center;\">IA pour la cr\u00e9ation de chanson :<\/h5><\/div><p style=\"text-align: center;\"><a href=\"https:\/\/suno.com\/\">https\\:\/\/suno.com\/<\/a><\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n<div class=\"mp-subhead mp-reveal\">\n<div class=\"et_pb_module et_pb_text et_pb_text_3 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_module et_pb_text et_pb_text_35 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><div class=\"et_pb_row et_pb_row_23\"><div class=\"et_pb_column et_pb_column_4_4 et_pb_column_33 et_pb_css_mix_blend_mode_passthrough et-last-child\"><div class=\"et_pb_module et_pb_text et_pb_text_42 et_pb_text_align_left et_pb_bg_layout_light\"><div class=\"et_pb_text_inner\"><h5 style=\"text-align: center;\">IA pour la cr\u00e9ation de voix off \u00e0 partir de texte :<\/h5><\/div><p style=\"text-align: center;\"><a href=\"https:\/\/www.naturalreaders.com\/\">https\\:\/\/www.naturalreaders.com\/<\/a><\/p><\/div><\/div><\/div><\/div><\/div><\/div><\/div> <\/div>\n  <\/div>\n<\/section>\n\n\n  <section class=\"mp-final\">\n    <h2>Organiser.<br>Router.<br>Mixer.<\/h2>\n  <\/section>\n  <footer class=\"mp-footer\">\n    <span>Audition \u00b7 Multipiste \u00b7 Cours 03<\/span>\n    <span>\u00a9 2026 Lucas Goret \u00b7 Tous droits r\u00e9serv\u00e9s.<\/span>\n  <\/footer>\n<\/div>\n\n<script>\n\n(function(){\nconst root=document.getElementById('mprt-rt4');\nconst workspace=document.getElementById('mprt-workspace');\nconst trackList=document.getElementById('mprt-trackList');\nconst busList=document.getElementById('mprt-busList');\nconst consoleGrid=document.getElementById('mprt-consoleGrid');\nconst routingWires=document.getElementById('mprt-routingWires');\nconst consolePatchSvg=document.getElementById('mprt-consolePatchSvg');\nconst status=document.getElementById('mprt-status');\nconst playBtn=document.getElementById('mprt-playBtn');\nconst stopBtn=document.getElementById('mprt-stopBtn');\nconst rewindBtn=document.getElementById('mprt-rewindBtn');\nconst resetMixBtn=document.getElementById('mprt-resetMixBtn');\nconst masterVol=document.getElementById('mprt-masterVol');\nconst masterOut=document.getElementById('mprt-masterOut');\nconst timeline=document.getElementById('mprt-timeline');\nconst timeCurrent=document.getElementById('mprt-timeCurrent');\nconst timeDuration=document.getElementById('mprt-timeDuration');\nfunction mprtViewportScale(){\n const v=parseFloat(workspace.dataset.mprtScale||'1');\n return Number.isFinite(v)&&v>0?v:1;\n}\n\n\nconst tracks=[\n {id:'femme',name:'Voix Femme',short:'FEMME',color:'#48c77a',url:'https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Scene-Voix-Femme.wav',route:'dialog',send:.24,vol:.8,mute:false,solo:false},\n {id:'homme',name:'Voix Homme',short:'HOMME',color:'#e46470',url:'https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Scene-Voix-Homme.wav',route:'dialog',send:.22,vol:.8,mute:false,solo:false},\n {id:'ambiance',name:'Ambiance',short:'AMBI.',color:'#4f9ae8',url:'https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Scene-Ambiance-station.wav',route:'decor',send:0,vol:.8,mute:false,solo:false},\n {id:'bruitages',name:'Bruitages',short:'FX',color:'#e5b94f',url:'https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Scene-Bruitage.wav',route:'decor',send:.18,vol:.8,mute:false,solo:false},\n {id:'musique',name:'Musique',short:'MUS.',color:'#b866d5',url:'https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Scene-Musique.wav',route:'master',send:0,vol:.8,mute:false,solo:false},\n {id:'rumble',name:'Rumble',short:'RUM.',color:'#9b91a6',url:'https:\/\/lucasgoret.com\/wp-content\/uploads\/2026\/09\/Scene-Rumble.wav',route:'decor',send:0,vol:.8,mute:false,solo:false}\n];\nconst buses=[\n {id:'dialog',name:'Bus DIALOGUES',short:'DIALOG.',color:'#22c7b8',vol:.8,mute:false,solo:false},\n {id:'decor',name:'Bus D\u00c9COR',short:'D\u00c9COR',color:'#ff8e4d',vol:.8,mute:false,solo:false},\n {id:'reverb',name:'Bus REVERB',short:'REVERB',color:'#5bc8f2',vol:.8,mute:false,solo:false}\n];\nconst defaultRoutes=tracks.map(t=>t.route);\nconst defaultSends=tracks.map(t=>t.send);\n\nlet ac=null,buffers={},trackNodes={},busNodes={},sources=[];\nlet playing=false,pausedAt=0,startedAt=0,duration=0,raf=0;\nlet fxState={dialogEq:true,dialogComp:true,dialogDeess:true,decorEq:true};\nlet timelineScrubbing=false;\nlet timelineWasPlaying=false;\n\nfunction formatTransportTime(seconds){\n if(!Number.isFinite(seconds)||seconds<0)return '--:--';\n const m=Math.floor(seconds\/60);\n const s=Math.floor(seconds%60);\n return m+':'+String(s).padStart(2,'0');\n}\n\nfunction updateTimelineUI(seconds){\n const d=Math.max(0,duration||0);\n const raw=Number.isFinite(seconds)?seconds:(playing?Math.min(d,ac.currentTime-startedAt):pausedAt);\n const t=Math.max(0,Math.min(d,raw||0));\n\n timeline.max=d>0?String(d):'1';\n timeline.value=String(t);\n\n const ratio=d>0?t\/d:0;\n timeline.style.setProperty('--p',(ratio*100).toFixed(3)+'%');\n\n timeCurrent.textContent=formatTransportTime(t);\n timeDuration.textContent=d>0?formatTransportTime(d):'--:--';\n}\n\nfunction seekTo(seconds,resumeAfter){\n if(!ac||duration<=0)return;\n\n const target=Math.max(0,Math.min(duration-.001,seconds));\n\n if(playing){\n  playing=false;\n  stopSources(false);\n  cancelAnimationFrame(raf);\n }\n\n pausedAt=target;\n\n if(resumeAfter){\n  startSources(pausedAt);\n  playing=true;\n  applyMuteSoloAudio();\n  drawRoutingWires();\n  updateTimelineUI(pausedAt);\n  animate();\n }else{\n  drawRoutingWires();\n  updateTimelineUI(pausedAt);\n }\n}\n\n\nfunction clamp(v,a,b){return Math.max(a,Math.min(b,v))}\nfunction pct(v){return Math.round(v*100)+' %'}\nfunction gainDb(g){\n if(g<=.0001)return '\u2212\u221e';\n const d=20*Math.log10(g);\n return (d>=0?'+':'')+d.toFixed(1).replace('.0','')+' dB';\n}\nfunction setStatus(msg,type=''){\n status.textContent=msg;\n status.className='status'+(type?' '+type:'');\n}\n\nfunction buildLeft(){\n trackList.innerHTML='';\n tracks.forEach((t,i)=>{\n  const el=document.createElement('div');\n  el.className='track';el.style.setProperty('--c',t.color);\n  el.innerHTML=`\n   <div class=\"track-color\"><\/div>\n   <div class=\"track-main\">\n    <div class=\"track-head\">\n      <div class=\"track-name\">\n        <strong>${t.name}<\/strong>\n        <small>PISTE ${String(i+1).padStart(2,'0')}<\/small>\n        <span class=\"mprt-track-vu\" aria-hidden=\"true\"><i id=\"leftmeter-${t.id}\"><\/i><\/span>\n      <\/div>\n      <div class=\"ms\">\n        <button type=\"button\" class=\"mute${t.mute?' active':''}\" data-mute=\"${t.id}\" aria-pressed=\"${t.mute}\">M<\/button>\n        <button type=\"button\" class=\"solo${t.solo?' active':''}\" data-solo=\"${t.id}\" aria-pressed=\"${t.solo}\">S<\/button>\n      <\/div>\n    <\/div>\n    <div class=\"row\"><label>VOL<\/label><input type=\"range\" min=\"0\" max=\"1\" step=\".01\" value=\"${t.vol}\" data-trackvol=\"${t.id}\"><output id=\"leftvol-${t.id}\">${gainDb(t.vol)}<\/output><\/div>\n    <div class=\"route-row\"><label>OUT<\/label><select data-route=\"${t.id}\">\n      <option value=\"master\">MASTER<\/option><option value=\"dialog\">BUS DIALOGUES<\/option><option value=\"decor\">BUS D\u00c9COR<\/option>\n    <\/select><\/div>\n    <div class=\"row\"><label>SEND<\/label><input type=\"range\" min=\"0\" max=\".6\" step=\".01\" value=\"${t.send}\" data-send=\"${t.id}\"><output id=\"sendout-${t.id}\">${pct(t.send)}<\/output><\/div>\n   <\/div>\n   <span class=\"port\" id=\"port-${t.id}\"><\/span>`;\n  trackList.appendChild(el);\n  el.querySelector('select').value=t.route;\n });\n\n busList.innerHTML='';\n buses.forEach(b=>{\n  const el=document.createElement('div');\n  el.className='bus-track';el.style.setProperty('--c',b.color);\n  el.innerHTML=`\n   <div class=\"bus-symbol\"><i><\/i><\/div>\n   <div class=\"bus-content\">\n    <div class=\"bus-title\">\n      <div class=\"bus-title-main\"><strong>${b.name}<\/strong><span>BUS<\/span><\/div>\n      <div class=\"bus-ms\">\n        <button type=\"button\" class=\"mute${b.mute?' active':''}\" data-busmute=\"${b.id}\" aria-pressed=\"${b.mute}\">M<\/button>\n        <button type=\"button\" class=\"solo${b.solo?' active':''}\" data-bussolo=\"${b.id}\" aria-pressed=\"${b.solo}\">S<\/button>\n      <\/div>\n    <\/div>\n    <div class=\"bus-fader\"><input type=\"range\" min=\"0\" max=\"1\" step=\".01\" value=\"${b.vol}\" data-busvol=\"${b.id}\"><output id=\"busout-${b.id}\">${gainDb(b.vol)}<\/output><\/div>\n   <\/div>`;\n  busList.appendChild(el);\n });\n}\n\nfunction busSlots(t){\n return `<div class=\"bus-slots\">\n  <span class=\"bus-slot dialog ${t.route==='dialog'?'on':''}\" title=\"Bus Dialogues\"><\/span>\n  <span class=\"bus-slot decor ${t.route==='decor'?'on':''}\" title=\"Bus D\u00e9cor\"><\/span>\n  <span class=\"bus-slot reverb ${t.send>0?'on':''}\" title=\"Send Reverb\"><\/span>\n <\/div>`;\n}\nfunction buildConsole(){\n consoleGrid.innerHTML='';\n const strips=[\n  ...tracks.map(t=>({type:'track',id:t.id,name:t.short,color:t.color,value:t.vol,track:t})),\n  ...buses.map(b=>({type:'bus',id:b.id,name:b.short,color:b.color,value:b.vol})),\n  {type:'master',id:'master',name:'MASTER',color:'#ffb33f',value:parseFloat(masterVol.value)}\n ];\n strips.forEach(s=>{\n  const el=document.createElement('div');\n  el.className='strip'+(s.id==='master'?' master':'');\n  el.style.setProperty('--sc',s.color);\n  el.dataset.stripId=s.id;\n  el.innerHTML=`\n   <div class=\"strip-name\">${s.name}<\/div>\n   <div class=\"strip-color\"><\/div>\n   ${s.track?busSlots(s.track):'<div class=\"bus-slots\"><span class=\"bus-slot\"><\/span><span class=\"bus-slot\"><\/span><span class=\"bus-slot\"><\/span><\/div>'}\n   <div class=\"meter\"><i id=\"meter-${s.id}\"><\/i><\/div>\n   <div class=\"fader-area\">\n     <div class=\"console-fader\" data-console=\"${s.type}:${s.id}\" data-value=\"${s.value}\" style=\"--v:${s.value}\">\n       <div class=\"console-fader-track\"><\/div>\n       <div class=\"console-fader-fill\"><\/div>\n       <button type=\"button\" class=\"console-fader-thumb\" aria-label=\"Volume ${s.name}\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"${Math.round(s.value*100)}\"><\/button>\n     <\/div>\n   <\/div>\n   <div class=\"strip-value\" id=\"stripval-${s.id}\">${gainDb(s.value)}<\/div>`;\n  consoleGrid.appendChild(el);\n });\n requestAnimationFrame(drawConsolePatching);\n}\nfunction updateConsoleSlots(){\n tracks.forEach(t=>{\n  const f=document.querySelector(`.console-fader[data-console=\"track:${t.id}\"]`);\n  if(!f)return;\n  const slots=f.closest('.strip').querySelectorAll('.bus-slot');\n  slots[0].className='bus-slot dialog'+(t.route==='dialog'?' on':'');\n  slots[1].className='bus-slot decor'+(t.route==='decor'?' on':'');\n  slots[2].className='bus-slot reverb'+(t.send>0?' on':'');\n });\n}\n\nfunction drawConsolePatching(){\n const consoleEl=document.querySelector('#mp-router-embed .console');\n const strips=[...consoleGrid.querySelectorAll('.strip')];\n const masterStrip=strips.find(s=>s.dataset.stripId==='master');\n const speaker=document.querySelector('#mp-router-embed .speaker');\n if(!consoleEl||!masterStrip||!speaker)return;\n\n const sc=mprtViewportScale();\n const cr=consoleEl.getBoundingClientRect();\n const cw=cr.width\/sc;\n const ch=cr.height\/sc;\n\n consolePatchSvg.setAttribute('viewBox',`0 0 ${cw} ${ch}`);\n consolePatchSvg.innerHTML='';\n\n const mr=masterStrip.getBoundingClientRect();\n const masterBottomX=(mr.left+mr.width\/2-cr.left)\/sc;\n const masterBottomY=(mr.bottom-cr.top)\/sc;\n const masterTopX=masterBottomX;\n const masterTopY=(mr.top-cr.top)\/sc;\n\n const sr=speaker.getBoundingClientRect();\n const speakerX=(sr.left+sr.width\/2-cr.left)\/sc;\n const speakerY=(sr.bottom-cr.top)\/sc;\n\n const colors=[...tracks.map(t=>t.color),...buses.map(b=>b.color),'#ffb33f'];\n\n strips.forEach((s,i)=>{\n   if(s===masterStrip)return;\n   const r=s.getBoundingClientRect();\n   const x=(r.left+r.width\/2-cr.left)\/sc;\n   const y0=(r.bottom-cr.top)\/sc;\n   const laneY=Math.min(ch-26,y0+16+(i%4)*7);\n\n   const p=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','path');\n   p.setAttribute('d',`M ${x.toFixed(1)} ${y0.toFixed(1)} V ${laneY.toFixed(1)} H ${masterBottomX.toFixed(1)} V ${masterBottomY.toFixed(1)}`);\n   p.setAttribute('stroke',colors[i]);\n   p.setAttribute('class','patch-path');\n   consolePatchSvg.appendChild(p);\n });\n\n const out=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','path');\n out.setAttribute('d',`M ${masterTopX.toFixed(1)} ${masterTopY.toFixed(1)} V ${(speakerY+11).toFixed(1)} H ${speakerX.toFixed(1)} V ${speakerY.toFixed(1)}`);\n out.setAttribute('class','patch-path patch-master');\n consolePatchSvg.appendChild(out);\n}\n\nfunction createImpulse(ctx,seconds=2.1,decay=2.15){\n const rate=ctx.sampleRate,len=Math.floor(rate*seconds),b=ctx.createBuffer(2,len,rate);\n for(let c=0;c<2;c++){\n  const d=b.getChannelData(c);\n  for(let i=0;i<len;i++)d[i]=(Math.random()*2-1)*Math.pow(1-i\/len,decay);\n }\n return b;\n}\n\nasync function ensureAudio(){\n if(ac)return;\n const AC=window.AudioContext||window.webkitAudioContext;\n if(!AC)throw new Error('Web Audio API non disponible.');\n ac=new AC();\n setStatus('Chargement des six fichiers audio\u2026');\n const decoded=await Promise.all(tracks.map(async t=>{\n  const r=await fetch(t.url,{mode:'cors'});\n  if(!r.ok)throw new Error('Impossible de charger '+t.name);\n  return ac.decodeAudioData(await r.arrayBuffer());\n }));\n decoded.forEach((b,i)=>buffers[tracks[i].id]=b);\n duration=Math.min(...decoded.map(b=>b.duration));\n updateTimelineUI(pausedAt);\n\n const masterIn=ac.createGain();\n const directGain=ac.createGain();directGain.gain.value=1;\n directGain.connect(masterIn);\n const masterGain=ac.createGain();masterGain.gain.value=.8;\n const masterAnalyser=ac.createAnalyser();masterAnalyser.fftSize=256;\n const safety=ac.createDynamicsCompressor();\n safety.threshold.value=-1;safety.knee.value=0;safety.ratio.value=20;safety.attack.value=.002;safety.release.value=.08;\n masterIn.connect(safety);safety.connect(masterGain);masterGain.connect(masterAnalyser);masterAnalyser.connect(ac.destination);\n\n const dialogGain=ac.createGain();dialogGain.gain.value=.8;\n const dialogGate=ac.createGain();dialogGate.gain.value=1;\n const dialogAnalyser=ac.createAnalyser();dialogAnalyser.fftSize=256;\n const dEq=ac.createBiquadFilter();dEq.type='highpass';dEq.frequency.value=125;dEq.Q.value=.65;\n const deess=ac.createBiquadFilter();deess.type='peaking';deess.frequency.value=6200;deess.Q.value=1.5;deess.gain.value=-6;\n const dComp=ac.createDynamicsCompressor();\n dComp.threshold.value=-24;dComp.knee.value=8;dComp.ratio.value=3.6;dComp.attack.value=.01;dComp.release.value=.14;\n\n const decorGain=ac.createGain();decorGain.gain.value=.8;\n const decorGate=ac.createGain();decorGate.gain.value=1;\n const decorAnalyser=ac.createAnalyser();decorAnalyser.fftSize=256;\n const decorEq=ac.createBiquadFilter();decorEq.type='highpass';decorEq.frequency.value=70;decorEq.Q.value=.65;\n\n const revIn=ac.createGain();\n const conv=ac.createConvolver();conv.buffer=createImpulse(ac);\n const revTone=ac.createBiquadFilter();revTone.type='lowpass';revTone.frequency.value=5600;\n const revGain=ac.createGain();revGain.gain.value=.8;\n const reverbGate=ac.createGain();reverbGate.gain.value=1;\n const reverbAnalyser=ac.createAnalyser();reverbAnalyser.fftSize=256;\n revIn.connect(conv);conv.connect(revTone);revTone.connect(revGain);revGain.connect(reverbGate);reverbGate.connect(reverbAnalyser);reverbAnalyser.connect(masterIn);\n\n busNodes={\n  master:{input:masterIn,gain:masterGain,analyser:masterAnalyser},\n  direct:{gain:directGain},\n  dialog:{gain:dialogGain,gate:dialogGate,eq:dEq,deess,comp:dComp,analyser:dialogAnalyser},\n  decor:{gain:decorGain,gate:decorGate,eq:decorEq,analyser:decorAnalyser},\n  reverb:{input:revIn,gain:revGain,gate:reverbGate,analyser:reverbAnalyser}\n };\n rebuildBusChains();\n\n tracks.forEach(t=>{\n  const vol=ac.createGain();vol.gain.value=t.vol;\n\n  \/\/ Gate piste : Mute \/ Solo de la piste.\n  const gate=ac.createGain();gate.gain.value=1;\n\n  \/\/ Branche principale et gate de routage :\n  \/\/ permet au Solo d'un Bus de couper r\u00e9ellement les autres chemins,\n  \/\/ y compris une piste envoy\u00e9e directement au Master.\n  const dry=ac.createGain();\n  const mainGate=ac.createGain();mainGate.gain.value=1;\n\n  \/\/ Send parall\u00e8le ind\u00e9pendant du trajet principal.\n  const send=ac.createGain();send.gain.value=t.send;\n\n  const analyser=ac.createAnalyser();analyser.fftSize=256;\n\n  vol.connect(gate);\n  gate.connect(dry);\n  dry.connect(mainGate);\n  gate.connect(send);\n  send.connect(revIn);\n  gate.connect(analyser);\n\n  trackNodes[t.id]={vol,gate,dry,mainGate,send,analyser};\n });\n connectRoutes();\n applyMuteSoloAudio();\n updateBusMSVisual();\n setStatus('Audio pr\u00eat. Les effets de Bus sont actifs et peuvent \u00eatre compar\u00e9s en direct.','ok');\n}\n\nfunction rebuildBusChains(){\n if(!ac||!busNodes.dialog)return;\n const d=busNodes.dialog,c=busNodes.decor;\n [d.gain,d.gate,d.eq,d.deess,d.comp,d.analyser,c.gain,c.gate,c.eq,c.analyser].forEach(n=>{try{n.disconnect()}catch(e){}});\n d.gain.connect(d.gate);\n let n=d.gate;\n if(fxState.dialogEq){n.connect(d.eq);n=d.eq}\n if(fxState.dialogDeess){n.connect(d.deess);n=d.deess}\n if(fxState.dialogComp){n.connect(d.comp);n=d.comp}\n n.connect(d.analyser);\n d.analyser.connect(busNodes.master.input);\n c.gain.connect(c.gate);\n if(fxState.decorEq){c.gate.connect(c.eq);c.eq.connect(c.analyser)}\n else c.gate.connect(c.analyser);\n c.analyser.connect(busNodes.master.input);\n}\nfunction connectRoutes(){\n if(!ac)return;\n tracks.forEach(t=>{\n  const n=trackNodes[t.id];\n  try{n.mainGate.disconnect()}catch(e){}\n  if(t.route==='dialog')n.mainGate.connect(busNodes.dialog.gain);\n  else if(t.route==='decor')n.mainGate.connect(busNodes.decor.gain);\n  else n.mainGate.connect(busNodes.direct.gain);\n });\n \/\/ Un changement de sortie doit imm\u00e9diatement respecter les Solo de Bus actifs.\n applyBusMuteSoloAudio();\n}\n\nfunction updateBusMSVisual(){\n buses.forEach(b=>{\n  const mb=document.querySelector(`[data-busmute=\"${b.id}\"]`);\n  const sb=document.querySelector(`[data-bussolo=\"${b.id}\"]`);\n  if(mb){mb.classList.toggle('active',b.mute);mb.setAttribute('aria-pressed',String(b.mute))}\n  if(sb){sb.classList.toggle('active',b.solo);sb.setAttribute('aria-pressed',String(b.solo))}\n });\n}\nfunction applyBusMuteSoloAudio(){\n if(!ac)return;\n\n const soloBusIds=buses.filter(b=>b.solo).map(b=>b.id);\n const anyBusSolo=soloBusIds.length>0;\n\n \/\/ 1) Ouvre\/ferme les sorties des Bus eux-m\u00eames.\n buses.forEach(b=>{\n   const audible=!b.mute && (!anyBusSolo || b.solo);\n   const g=busNodes[b.id].gate.gain;\n   g.cancelScheduledValues(ac.currentTime);\n   g.setValueAtTime(audible?1:0,ac.currentTime);\n });\n\n \/\/ 2) Le trajet direct MASTER est coup\u00e9 d\u00e8s qu'un Bus est en Solo.\n \/\/ C'est ce qui emp\u00eache notamment la Musique de rester audible\n \/\/ quand BUS DIALOGUES ou BUS D\u00c9COR est isol\u00e9.\n const direct=busNodes.direct.gain.gain;\n direct.cancelScheduledValues(ac.currentTime);\n direct.setValueAtTime(anyBusSolo?0:1,ac.currentTime);\n\n \/\/ 3) Porte d\u00e9di\u00e9e sur le trajet PRINCIPAL de chaque piste.\n \/\/ - Solo DIALOGUES : seules les pistes rout\u00e9es DIALOGUES passent.\n \/\/ - Solo D\u00c9COR : seules les pistes rout\u00e9es D\u00c9COR passent.\n \/\/ - Solo REVERB seul : aucun trajet sec ne passe ; seuls les Sends\n \/\/   alimentent la r\u00e9verb\u00e9ration.\n tracks.forEach(t=>{\n   let mainAudible=true;\n\n   if(anyBusSolo){\n     const mainBusSolo =\n       (t.route==='dialog' && soloBusIds.includes('dialog')) ||\n       (t.route==='decor' && soloBusIds.includes('decor'));\n\n     mainAudible=mainBusSolo;\n   }\n\n   const g=trackNodes[t.id].mainGate.gain;\n   g.cancelScheduledValues(ac.currentTime);\n   g.setValueAtTime(mainAudible?1:0,ac.currentTime);\n });\n}\nfunction setConsoleFaderValue(type,id,v){\n const f=document.querySelector(`.console-fader[data-console=\"${type}:${id}\"]`);\n if(!f)return;\n v=clamp(v,0,1);\n f.dataset.value=String(v);\n f.style.setProperty('--v',String(v));\n const thumb=f.querySelector('.console-fader-thumb');\n if(thumb)thumb.setAttribute('aria-valuenow',String(Math.round(v*100)));\n}\nfunction applyConsoleFader(type,id,v){\n v=clamp(v,0,1);\n if(type==='track')syncTrackVol(id,v);\n else if(type==='bus')syncBusVol(id,v);\n else syncMaster(v);\n}\nfunction bindConsoleFaders(){\n document.querySelectorAll('.console-fader').forEach(f=>{\n   const key=f.dataset.console;\n   const [type,id]=key.split(':');\n   const setFromClientY=(clientY)=>{\n     const r=f.getBoundingClientRect();\n     const usable=Math.max(1,r.height-8);\n     const y=clamp(clientY-r.top-4,0,usable);\n     const v=1-y\/usable;\n     applyConsoleFader(type,id,Math.round(v*100)\/100);\n   };\n   f.addEventListener('pointerdown',e=>{\n     e.preventDefault();\n     f.setPointerCapture(e.pointerId);\n     setFromClientY(e.clientY);\n   });\n   f.addEventListener('pointermove',e=>{\n     if(f.hasPointerCapture(e.pointerId))setFromClientY(e.clientY);\n   });\n   const thumb=f.querySelector('.console-fader-thumb');\n   thumb.addEventListener('keydown',e=>{\n     let v=parseFloat(f.dataset.value||'0');\n     if(e.key==='ArrowUp'||e.key==='ArrowRight')v+=.01;\n     else if(e.key==='ArrowDown'||e.key==='ArrowLeft')v-=.01;\n     else if(e.key==='Home')v=0;\n     else if(e.key==='End')v=1;\n     else return;\n     e.preventDefault();\n     applyConsoleFader(type,id,Math.round(clamp(v,0,1)*100)\/100);\n   });\n });\n}\n\nfunction applyMuteSoloAudio(){\n if(!ac)return;\n const anySolo=tracks.some(t=>t.solo);\n tracks.forEach(t=>{\n  const audible=!t.mute&&(!anySolo||t.solo);\n  const g=trackNodes[t.id].gate.gain;\n  g.cancelScheduledValues(ac.currentTime);\n  g.setValueAtTime(audible?1:0,ac.currentTime);\n });\n applyBusMuteSoloAudio();\n}\nfunction updateMSVisual(){\n tracks.forEach(t=>{\n  const mb=document.querySelector(`[data-mute=\"${t.id}\"]`);\n  const sb=document.querySelector(`[data-solo=\"${t.id}\"]`);\n  if(mb){mb.classList.toggle('active',t.mute);mb.setAttribute('aria-pressed',String(t.mute))}\n  if(sb){sb.classList.toggle('active',t.solo);sb.setAttribute('aria-pressed',String(t.solo))}\n });\n}\n\nfunction startSources(offset){\n stopSources(false);sources=[];\n tracks.forEach(t=>{\n  const s=ac.createBufferSource();s.buffer=buffers[t.id];\n  s.connect(trackNodes[t.id].vol);s.start(0,offset);sources.push(s);\n });\n startedAt=ac.currentTime-offset;\n}\nfunction stopSources(reset=true){\n sources.forEach(s=>{try{s.stop()}catch(e){}});\n sources=[];if(reset)playing=false;\n}\nfunction currentTime(){return playing?Math.min(duration,ac.currentTime-startedAt):pausedAt}\nfunction analyserLevel(an){\n const a=new Uint8Array(an.frequencyBinCount);an.getByteFrequencyData(a);\n return a.reduce((s,v)=>s+v,0)\/a.length\/255;\n}\nfunction animate(){\n if(!playing||!ac)return;\n tracks.forEach(t=>{\n  const level=Math.round(clamp(analyserLevel(trackNodes[t.id].analyser)*165,0,100));\n  const m=document.getElementById('meter-'+t.id);\n  if(m)m.style.height=level+'%';\n  const lm=document.getElementById('leftmeter-'+t.id);\n  if(lm)lm.style.width=level+'%';\n });\n const dm=document.getElementById('meter-dialog');\n if(dm)dm.style.height=Math.round(clamp(analyserLevel(busNodes.dialog.analyser)*165,0,100))+'%';\n const de=document.getElementById('meter-decor');\n if(de)de.style.height=Math.round(clamp(analyserLevel(busNodes.decor.analyser)*165,0,100))+'%';\n const rv=document.getElementById('meter-reverb');\n if(rv)rv.style.height=Math.round(clamp(analyserLevel(busNodes.reverb.analyser)*175,0,100))+'%';\n const mm=document.getElementById('meter-master');\n if(mm)mm.style.height=Math.round(clamp(analyserLevel(busNodes.master.analyser)*165,0,100))+'%';\n updateTimelineUI(currentTime());\n if(currentTime()>=duration-.03){\n  playing=false;\n  pausedAt=0;\n  stopSources(false);\n  drawRoutingWires();\n  updateTimelineUI(0);\n  return;\n }\n raf=requestAnimationFrame(animate);\n}\n\nfunction pnt(el,side='center'){\n const sc=mprtViewportScale();\n const r=el.getBoundingClientRect(),w=workspace.getBoundingClientRect();\n return{\n  x:((side==='left'?r.left:side==='right'?r.right:r.left+r.width\/2)-w.left)\/sc,\n  y:(r.top+r.height\/2-w.top)\/sc\n };\n}\nfunction bez(a,b){\n const dx=Math.max(36,(b.x-a.x)*.42);\n return `M ${a.x} ${a.y} C ${a.x+dx} ${a.y}, ${b.x-dx} ${b.y}, ${b.x} ${b.y}`;\n}\nfunction addWire(a,b,color,kind=''){\n const p=document.createElementNS('http:\/\/www.w3.org\/2000\/svg','path');\n p.setAttribute('d',bez(a,b));p.setAttribute('stroke',color);\n p.setAttribute('class','wire '+kind+(playing?' active':''));\n routingWires.appendChild(p);\n}\nfunction drawRoutingWires(){\n const sc=mprtViewportScale();\n const wr=workspace.getBoundingClientRect();\n routingWires.setAttribute('viewBox',`0 0 ${wr.width\/sc} ${wr.height\/sc}`);\n routingWires.innerHTML='';\n const dialog=pnt(document.getElementById('mprt-dialogNode'),'left');\n const decor=pnt(document.getElementById('mprt-decorNode'),'left');\n const reverb=pnt(document.getElementById('mprt-reverbNode'),'left');\n const master=pnt(document.getElementById('mprt-masterNode'),'left');\n tracks.forEach(t=>{\n  const start=pnt(document.getElementById('port-'+t.id));\n  addWire(start,t.route==='dialog'?dialog:t.route==='decor'?decor:master,t.color);\n  if(t.send>.001)addWire({x:start.x+3,y:start.y+3},reverb,t.color,'send');\n });\n addWire(pnt(document.getElementById('mprt-dialogOut')),master,'#22c7b8');\n addWire(pnt(document.getElementById('mprt-decorOut')),master,'#ff8e4d');\n addWire(pnt(document.getElementById('mprt-reverbOut')),master,'#5bc8f2','send');\n}\n\nfunction syncTrackVol(id,v){\n const t=tracks.find(x=>x.id===id);t.vol=v;\n document.querySelectorAll(`[data-trackvol=\"${id}\"]`).forEach(el=>{if(Math.abs(parseFloat(el.value)-v)>.001)el.value=v});\n setConsoleFaderValue('track',id,v);\n document.getElementById('leftvol-'+id).value=gainDb(v);\n document.getElementById('stripval-'+id).textContent=gainDb(v);\n if(ac)trackNodes[id].vol.gain.setTargetAtTime(v,ac.currentTime,.01);\n}\nfunction syncBusVol(id,v){\n const b=buses.find(x=>x.id===id);b.vol=v;\n document.querySelectorAll(`[data-busvol=\"${id}\"]`).forEach(el=>{if(Math.abs(parseFloat(el.value)-v)>.001)el.value=v});\n setConsoleFaderValue('bus',id,v);\n document.getElementById('busout-'+id).value=gainDb(v);\n document.getElementById('stripval-'+id).textContent=gainDb(v);\n if(ac)busNodes[id].gain.gain.setTargetAtTime(v,ac.currentTime,.01);\n}\nfunction syncMaster(v){\n masterVol.value=v;masterOut.value=pct(v);\n setConsoleFaderValue('master','master',v);\n document.getElementById('stripval-master').textContent=gainDb(v);\n if(ac)busNodes.master.gain.gain.setTargetAtTime(v,ac.currentTime,.01);\n}\n\nroot.addEventListener('input',e=>{\n if(e.target.dataset.trackvol)syncTrackVol(e.target.dataset.trackvol,parseFloat(e.target.value));\n if(e.target.dataset.busvol)syncBusVol(e.target.dataset.busvol,parseFloat(e.target.value));\n if(e.target.dataset.send){\n  const t=tracks.find(x=>x.id===e.target.dataset.send);t.send=parseFloat(e.target.value);\n  document.getElementById('sendout-'+t.id).value=pct(t.send);\n  if(ac)trackNodes[t.id].send.gain.setTargetAtTime(t.send,ac.currentTime,.01);\n  updateConsoleSlots();drawRoutingWires();\n }\n if(e.target===masterVol)syncMaster(parseFloat(masterVol.value));\n});\n\nroot.addEventListener('change',e=>{\n if(e.target.dataset.route){\n  const t=tracks.find(x=>x.id===e.target.dataset.route);t.route=e.target.value;\n  connectRoutes();updateConsoleSlots();drawRoutingWires();\n  setStatus(`${t.name} \u2192 ${t.route==='master'?'MASTER':t.route==='dialog'?'BUS DIALOGUES':'BUS D\u00c9COR'}.`,'ok');\n }\n});\n\nroot.addEventListener('click',e=>{\n const mid=e.target.dataset.mute,sid=e.target.dataset.solo;\n const bmid=e.target.dataset.busmute,bsid=e.target.dataset.bussolo;\n if(mid||sid){\n  const t=tracks.find(x=>x.id===(mid||sid));\n  if(mid)t.mute=!t.mute; else t.solo=!t.solo;\n  updateMSVisual();applyMuteSoloAudio();\n  setStatus(`${t.name} : ${mid?'Mute':'Solo'} ${mid?(t.mute?'activ\u00e9':'d\u00e9sactiv\u00e9'):(t.solo?'activ\u00e9':'d\u00e9sactiv\u00e9')}.`);\n }\n if(bmid||bsid){\n  const b=buses.find(x=>x.id===(bmid||bsid));\n  if(bmid)b.mute=!b.mute; else b.solo=!b.solo;\n  updateBusMSVisual();applyBusMuteSoloAudio();\n  setStatus(`${b.name} : ${bmid?'Mute':'Solo'} ${bmid?(b.mute?'activ\u00e9':'d\u00e9sactiv\u00e9'):(b.solo?'activ\u00e9':'d\u00e9sactiv\u00e9')}.`);\n }\n});\n\nasync function play(){\n try{\n  await ensureAudio();if(ac.state==='suspended')await ac.resume();if(playing)return;\n  if(pausedAt>=duration-.03)pausedAt=0;\n  startSources(pausedAt);playing=true;applyMuteSoloAudio();drawRoutingWires();updateTimelineUI(pausedAt);animate();\n  setStatus('Lecture en cours : les c\u00e2bles anim\u00e9s montrent les chemins r\u00e9ellement audibles.','ok');\n }catch(err){\n  console.error(err);setStatus('Erreur audio : '+err.message+' \u2014 v\u00e9rifiez CORS si le test est effectu\u00e9 hors lucasgoret.com.','error');\n }\n}\nfunction stop(){\n if(!ac||!playing)return;\n pausedAt=currentTime();playing=false;stopSources(false);cancelAnimationFrame(raf);drawRoutingWires();updateTimelineUI(pausedAt);\n setStatus('Stop : la position de lecture est conserv\u00e9e.');\n}\nfunction rewind(){\n if(ac&&playing){playing=false;stopSources(false);cancelAnimationFrame(raf)}\n pausedAt=0;updateTimelineUI(0);drawRoutingWires();setStatus('Retour au d\u00e9but. Les r\u00e9glages du mix restent inchang\u00e9s.');\n}\nplayBtn.addEventListener('click',play);\nstopBtn.addEventListener('click',stop);\nrewindBtn.addEventListener('click',rewind);\n\ntimeline.addEventListener('pointerdown',async function(e){\n if(duration>0)return;\n\n e.preventDefault();\n\n try{\n  await ensureAudio();\n\n  const r=timeline.getBoundingClientRect();\n  const ratio=Math.max(0,Math.min(1,(e.clientX-r.left)\/r.width));\n  pausedAt=ratio*duration;\n  updateTimelineUI(pausedAt);\n  setStatus('Position de lecture pr\u00eate.','ok');\n }catch(err){\n  console.error(err);\n  setStatus('Impossible de charger les pistes : '+err.message,'error');\n }\n});\n\ntimeline.addEventListener('pointerdown',function(){\n if(duration<=0)return;\n\n timelineScrubbing=true;\n timelineWasPlaying=playing;\n\n if(playing){\n  pausedAt=currentTime();\n  playing=false;\n  stopSources(false);\n  cancelAnimationFrame(raf);\n  drawRoutingWires();\n }\n});\n\ntimeline.addEventListener('input',function(){\n if(duration<=0)return;\n\n pausedAt=Math.max(\n  0,\n  Math.min(duration,parseFloat(timeline.value)||0)\n );\n\n updateTimelineUI(pausedAt);\n});\n\nfunction commitTimelineSeek(){\n if(!timelineScrubbing||duration<=0)return;\n\n timelineScrubbing=false;\n\n const target=Math.max(\n  0,\n  Math.min(duration-.001,parseFloat(timeline.value)||0)\n );\n\n const resume=timelineWasPlaying;\n timelineWasPlaying=false;\n\n seekTo(target,resume);\n\n setStatus(\n  'Position : '+formatTransportTime(target)+' \/ '+formatTransportTime(duration)+'.',\n  'ok'\n );\n}\n\ntimeline.addEventListener('change',commitTimelineSeek);\ntimeline.addEventListener('pointerup',commitTimelineSeek);\ntimeline.addEventListener('pointercancel',commitTimelineSeek);\n\nupdateTimelineUI(0);\n\nfunction resetMix(){\n tracks.forEach((t,i)=>{\n  t.vol=.8;t.route=defaultRoutes[i];t.send=defaultSends[i];t.mute=false;t.solo=false;\n  document.querySelector(`[data-route=\"${t.id}\"]`).value=t.route;\n  document.querySelector(`[data-send=\"${t.id}\"]`).value=t.send;\n  document.getElementById('sendout-'+t.id).value=pct(t.send);\n  syncTrackVol(t.id,.8);\n  if(ac)trackNodes[t.id].send.gain.setTargetAtTime(t.send,ac.currentTime,.01);\n });\n buses.forEach(b=>{b.mute=false;b.solo=false;syncBusVol(b.id,.8)});syncMaster(.8);\n fxState={dialogEq:true,dialogComp:true,dialogDeess:true,decorEq:true};\n document.querySelectorAll('.fx button').forEach(b=>b.classList.remove('off'));\n updateMSVisual();updateBusMSVisual();updateConsoleSlots();drawRoutingWires();\n if(ac){rebuildBusChains();connectRoutes();applyMuteSoloAudio()}\n setStatus('Mix r\u00e9initialis\u00e9 : tous les niveaux reviennent \u00e0 80 %.');\n}\nresetMixBtn.addEventListener('click',resetMix);\n\nfunction scenePreset(){\n const r=['dialog','dialog','decor','decor','master','decor'];\n const s=[.24,.22,0,.18,0,0];\n tracks.forEach((t,i)=>{\n  t.route=r[i];t.send=s[i];\n  document.querySelector(`[data-route=\"${t.id}\"]`).value=t.route;\n  document.querySelector(`[data-send=\"${t.id}\"]`).value=t.send;\n  document.getElementById('sendout-'+t.id).value=pct(t.send);\n  if(ac)trackNodes[t.id].send.gain.setTargetAtTime(t.send,ac.currentTime,.01);\n });\n if(ac)connectRoutes();updateConsoleSlots();drawRoutingWires();setStatus('Routing recommand\u00e9 appliqu\u00e9.','ok');\n}\ndocument.getElementById('mprt-presetScene').addEventListener('click',scenePreset);\ndocument.getElementById('mprt-presetDirect').addEventListener('click',()=>{\n tracks.forEach(t=>{t.route='master';document.querySelector(`[data-route=\"${t.id}\"]`).value='master'});\n if(ac)connectRoutes();updateConsoleSlots();drawRoutingWires();setStatus('Toutes les pistes sont rout\u00e9es directement vers le Master.');\n});\ndocument.getElementById('mprt-cutSends').addEventListener('click',()=>{\n tracks.forEach(t=>{\n  t.send=0;document.querySelector(`[data-send=\"${t.id}\"]`).value=0;document.getElementById('sendout-'+t.id).value='0 %';\n  if(ac)trackNodes[t.id].send.gain.setTargetAtTime(0,ac.currentTime,.01);\n });\n updateConsoleSlots();drawRoutingWires();setStatus('Tous les Sends vers la r\u00e9verb\u00e9ration sont coup\u00e9s.');\n});\n\nfunction fxToggle(id,key,label){\n const b=document.getElementById(id);\n b.addEventListener('click',()=>{\n  fxState[key]=!fxState[key];b.classList.toggle('off',!fxState[key]);\n  if(ac)rebuildBusChains();\n  setStatus(`${label} ${fxState[key]?'activ\u00e9':'d\u00e9sactiv\u00e9'} \u2014 comparez pendant la lecture.`,'ok');\n });\n}\nfxToggle('mprt-fxDialogEq','dialogEq','EQ Dialogues');\nfxToggle('mprt-fxDialogComp','dialogComp','Compression Dialogues');\nfxToggle('mprt-fxDialogDeess','dialogDeess','De-esser Dialogues');\nfxToggle('mprt-fxDecorEq','decorEq','EQ D\u00e9cor');\n\nwindow.addEventListener('resize',()=>{\n requestAnimationFrame(drawRoutingWires);requestAnimationFrame(drawConsolePatching);\n});\n\nbuildLeft();\nbuildConsole();\nbindConsoleFaders();\nupdateConsoleSlots();\nupdateMSVisual();\nupdateBusMSVisual();\nrequestAnimationFrame(drawRoutingWires);\nrequestAnimationFrame(drawConsolePatching);\n})();\n\n<\/script>\n\n<script id=\"MPRT_INTERNAL_VIEWPORT_ZOOM\">\n(function(){\n\n function initMprtInternalZoom(){\n\n  const root=document.getElementById('mp-router-embed');\n  if(!root)return;\n\n  const viewport=root.querySelector('.viewport');\n  const workspace=root.querySelector('#mprt-workspace');\n\n  if(!viewport||!workspace||viewport.dataset.mprtZoomReady==='1')return;\n  viewport.dataset.mprtZoomReady='1';\n\n  const nativeWidth=Math.max(\n   Math.ceil(workspace.scrollWidth),\n   Math.ceil(workspace.offsetWidth)\n  );\n\n  let nativeHeight=Math.max(\n   Math.ceil(workspace.scrollHeight),\n   Math.ceil(workspace.offsetHeight)\n  );\n\n  workspace.dataset.mprtScale='1';\n  workspace.style.width=nativeWidth+'px';\n  workspace.style.minWidth=nativeWidth+'px';\n  workspace.style.maxWidth=nativeWidth+'px';\n\n  const stage=document.createElement('div');\n  stage.className='mprt-zoom-stage';\n\n  viewport.insertBefore(stage,workspace);\n  stage.appendChild(workspace);\n\n  const windowFrame=document.createElement('div');\n  windowFrame.className='mprt-window-frame';\n\n  viewport.parentNode.insertBefore(windowFrame,viewport);\n  windowFrame.appendChild(viewport);\n\n  const zoomFloating=document.createElement('div');\n  zoomFloating.className='mprt-zoom-floating';\n  zoomFloating.innerHTML=\n   '<button type=\"button\" class=\"mprt-zoom-minus\" aria-label=\"R\u00e9duire la vue\">\u2212<\/button>'+\n   '<output class=\"mprt-zoom-value\">70 %<\/output>'+\n   '<button type=\"button\" class=\"mprt-zoom-plus\" aria-label=\"Agrandir la vue\">+<\/button>';\n\n  windowFrame.appendChild(zoomFloating);\n\n  const minus=zoomFloating.querySelector('.mprt-zoom-minus');\n  const plus=zoomFloating.querySelector('.mprt-zoom-plus');\n  const value=zoomFloating.querySelector('.mprt-zoom-value');\n\n  const MIN=.50;\n  const MAX=1.30;\n  const BUTTON_STEP=.10;\n  const WHEEL_STEP=.05;\n  const DEFAULT=.70;\n  const STORAGE_KEY='mprt-internal-routing-scale-v3';\n\n  let scale=DEFAULT;\n  let wheelAccumulator=0;\n\n  try{\n   const saved=parseFloat(localStorage.getItem(STORAGE_KEY));\n   if(Number.isFinite(saved)){\n    scale=Math.max(MIN,Math.min(MAX,saved));\n   }\n  }catch(e){}\n\n  function clamp(v,a,b){\n   return Math.max(a,Math.min(b,v));\n  }\n\n  function measureHeight(){\n   nativeHeight=Math.max(\n    1,\n    Math.ceil(workspace.scrollHeight),\n    Math.ceil(workspace.offsetHeight)\n   );\n  }\n\n  function maxScrollX(){\n   return Math.max(0,viewport.scrollWidth-viewport.clientWidth);\n  }\n\n  function maxScrollY(){\n   return Math.max(0,viewport.scrollHeight-viewport.clientHeight);\n  }\n\n  function applyScale(next,anchorClientX,anchorClientY){\n\n   const previousScale=scale;\n   const vr=viewport.getBoundingClientRect();\n\n   const anchorX=\n    Number.isFinite(anchorClientX)\n     ? clamp(anchorClientX-vr.left,0,viewport.clientWidth)\n     : viewport.clientWidth\/2;\n\n   const anchorY=\n    Number.isFinite(anchorClientY)\n     ? clamp(anchorClientY-vr.top,0,viewport.clientHeight)\n     : viewport.clientHeight\/2;\n\n   const logicalX=\n    previousScale>0\n     ? (viewport.scrollLeft+anchorX)\/previousScale\n     : 0;\n\n   const logicalY=\n    previousScale>0\n     ? (viewport.scrollTop+anchorY)\/previousScale\n     : 0;\n\n   scale=Math.round(clamp(next,MIN,MAX)*100)\/100;\n\n   measureHeight();\n\n   workspace.dataset.mprtScale=String(scale);\n   workspace.style.transform='scale('+scale+')';\n\n   stage.style.width=Math.ceil(nativeWidth*scale)+'px';\n   stage.style.height=Math.ceil(nativeHeight*scale)+'px';\n   stage.style.marginLeft='auto';\n   stage.style.marginRight='auto';\n\n   value.textContent=Math.round(scale*100)+' %';\n\n   minus.disabled=scale<=MIN+.001;\n   plus.disabled=scale>=MAX-.001;\n\n   try{\n    localStorage.setItem(STORAGE_KEY,String(scale));\n   }catch(e){}\n\n   requestAnimationFrame(function(){\n\n    viewport.scrollLeft=clamp(\n     logicalX*scale-anchorX,\n     0,\n     maxScrollX()\n    );\n\n    viewport.scrollTop=clamp(\n     logicalY*scale-anchorY,\n     0,\n     maxScrollY()\n    );\n\n    window.dispatchEvent(new Event('resize'));\n   });\n  }\n\n  minus.addEventListener('click',function(){\n   applyScale(scale-BUTTON_STEP);\n  });\n\n  plus.addEventListener('click',function(){\n   applyScale(scale+BUTTON_STEP);\n  });\n\n  const interactiveSelector=[\n   'button','input','select','textarea','a','label',\n   '[role=\"button\"]','[role=\"slider\"]',\n   '[contenteditable=\"true\"]',\n   '.console-fader','.console-fader-thumb'\n  ].join(',');\n\n  function isInteractiveTarget(target){\n   return !!(\n    target &&\n    target.closest &&\n    target.closest(interactiveSelector)\n   );\n  }\n\n  let dragState=null;\n  let suppressClick=false;\n\n  viewport.addEventListener('pointerdown',function(e){\n\n   if(e.button!==0)return;\n   if(isInteractiveTarget(e.target))return;\n\n   dragState={\n    pointerId:e.pointerId,\n    startX:e.clientX,\n    startY:e.clientY,\n    startLeft:viewport.scrollLeft,\n    startTop:viewport.scrollTop,\n    moved:false\n   };\n\n   suppressClick=false;\n   viewport.classList.add('mprt-grabbing');\n\n   try{\n    viewport.setPointerCapture(e.pointerId);\n   }catch(err){}\n\n   e.preventDefault();\n  });\n\n  viewport.addEventListener('pointermove',function(e){\n\n   if(!dragState||e.pointerId!==dragState.pointerId)return;\n\n   const dx=e.clientX-dragState.startX;\n   const dy=e.clientY-dragState.startY;\n\n   if(!dragState.moved&&Math.hypot(dx,dy)>3){\n    dragState.moved=true;\n    suppressClick=true;\n   }\n\n   viewport.scrollLeft=clamp(\n    dragState.startLeft-dx,\n    0,\n    maxScrollX()\n   );\n\n   viewport.scrollTop=clamp(\n    dragState.startTop-dy,\n    0,\n    maxScrollY()\n   );\n\n   e.preventDefault();\n  });\n\n  function finishDrag(e){\n\n   if(!dragState)return;\n   if(e&&e.pointerId!==undefined&&e.pointerId!==dragState.pointerId)return;\n\n   try{\n    if(\n     viewport.hasPointerCapture &&\n     viewport.hasPointerCapture(dragState.pointerId)\n    ){\n     viewport.releasePointerCapture(dragState.pointerId);\n    }\n   }catch(err){}\n\n   dragState=null;\n   viewport.classList.remove('mprt-grabbing');\n  }\n\n  viewport.addEventListener('pointerup',finishDrag);\n  viewport.addEventListener('pointercancel',finishDrag);\n  viewport.addEventListener('lostpointercapture',finishDrag);\n\n  viewport.addEventListener('click',function(e){\n   if(!suppressClick)return;\n   suppressClick=false;\n   e.preventDefault();\n   e.stopPropagation();\n  },true);\n\n  viewport.addEventListener('wheel',function(e){\n\n   if(Math.abs(e.deltaX)>Math.abs(e.deltaY)){\n    if(maxScrollX()>0){\n     e.preventDefault();\n     viewport.scrollLeft=clamp(\n      viewport.scrollLeft+e.deltaX,\n      0,\n      maxScrollX()\n     );\n    }\n    return;\n   }\n\n   const wantsZoomOut=e.deltaY>0;\n\n   const atLimit=\n    (wantsZoomOut&&scale<=MIN+.001) ||\n    (!wantsZoomOut&&scale>=MAX-.001);\n\n   if(atLimit)return;\n\n   e.preventDefault();\n\n   wheelAccumulator+=e.deltaY;\n   if(Math.abs(wheelAccumulator)<18)return;\n\n   const direction=wheelAccumulator>0?-1:1;\n   wheelAccumulator=0;\n\n   applyScale(\n    scale+direction*WHEEL_STEP,\n    e.clientX,\n    e.clientY\n   );\n\n  },{passive:false});\n\n  if('ResizeObserver' in window){\n   const ro=new ResizeObserver(function(){\n    measureHeight();\n    stage.style.height=Math.ceil(nativeHeight*scale)+'px';\n   });\n   ro.observe(workspace);\n  }\n\n  applyScale(scale);\n }\n\n if(document.readyState==='loading'){\n  document.addEventListener(\n   'DOMContentLoaded',\n   function(){requestAnimationFrame(initMprtInternalZoom);},\n   {once:true}\n  );\n }else{\n  requestAnimationFrame(initMprtInternalZoom);\n }\n\n})();\n<\/script>\n\n<script>\n\n(function(){\n  const audio=document.getElementById('mpcp-audio');\n  const transferCanvas=document.getElementById('mpcp-transferCanvas');\n  const historyCanvas=document.getElementById('mpcp-historyCanvas');\n  const tctx=transferCanvas.getContext('2d');\n  const hctx=historyCanvas.getContext('2d');\n  const playBtn=document.getElementById('mpcp-playBtn');\n  const resetBtn=document.getElementById('mpcp-resetBtn');\n  const masterVol=document.getElementById('mpcp-masterVol');\n  const masterOut=document.getElementById('mpcp-masterOut');\n  const grValue=document.getElementById('mpcp-grValue');\n  const grMeter=document.getElementById('mpcp-grMeter');\n  const status=document.getElementById('mpcp-status');\n  const compressorMode=document.getElementById('mpcp-compressorMode');\n  const limiterMode=document.getElementById('mpcp-limiterMode');\n  const ratioCaption=document.getElementById('mpcp-ratioCaption');\n\n  let ac=null,source=null,inputAnalyser=null,compressor=null,makeupGain=null,outputAnalyser=null,masterGain=null;\n  let raf=null,limiter=false;\n  let inputHistory=new Array(260).fill(-60);\n  let outputHistory=new Array(260).fill(-60);\n\n  const params={\n    threshold:{value:-18,min:-60,max:0,step:1,default:-18,el:'mpcp-knobThreshold',out:'mpcp-thresholdValue',format:v=>(v<0?'\u2212':'')+Math.abs(Math.round(v))+' dB'},\n    ratio:{value:4,min:1,max:20,step:.5,default:4,el:'mpcp-knobRatio',out:'mpcp-ratioValue',format:v=>v.toFixed(1).replace('.0','')+':1'},\n    knee:{value:18,min:0,max:40,step:1,default:18,el:'mpcp-knobKnee',out:'mpcp-kneeValue',format:v=>Math.round(v)+' dB'},\n    attack:{value:15,min:1,max:200,step:1,default:15,el:'mpcp-knobAttack',out:'mpcp-attackValue',format:v=>Math.round(v)+' ms'},\n    release:{value:250,min:50,max:1500,step:10,default:250,el:'mpcp-knobRelease',out:'mpcp-releaseValue',format:v=>Math.round(v)+' ms'},\n    makeup:{value:0,min:-12,max:12,step:.5,default:0,el:'mpcp-knobMakeup',out:'mpcp-makeupValue',format:v=>(v>0?'+':'')+v.toFixed(1).replace('.0','')+' dB'}\n  };\n\n  function clamp(v,min,max){return Math.max(min,Math.min(max,v))}\n  function norm(p){return (p.value-p.min)\/(p.max-p.min)}\n  function roundStep(v,step){return Math.round(v\/step)*step}\n\n  function updateKnob(name){\n    const p=params[name];\n    const el=document.getElementById(p.el);\n    const out=document.getElementById(p.out);\n    const n=clamp(norm(p),0,1);\n    el.style.setProperty('--p',n);\n    el.setAttribute('aria-valuenow',p.value);\n    out.textContent=p.format(p.value);\n  }\n\n  Object.keys(params).forEach(updateKnob);\n\n  function compressorOutputDb(x,threshold,ratio,knee){\n    if(knee<=0){\n      return x<=threshold ? x : threshold+(x-threshold)\/ratio;\n    }\n    const lower=threshold-knee\/2;\n    const upper=threshold+knee\/2;\n    if(x<lower)return x;\n    if(x>upper)return threshold+(x-threshold)\/ratio;\n    const d=x-lower;\n    return x + (1\/ratio-1)*(d*d)\/(2*knee);\n  }\n\n  function drawTransfer(){\n    const w=transferCanvas.width,h=transferCanvas.height;\n    const padL=62,padR=22,padT=22,padB=54;\n    const gw=w-padL-padR,gh=h-padT-padB;\n    const minDb=-60,maxDb=0;\n\n    tctx.clearRect(0,0,w,h);\n    tctx.fillStyle='#9d9d99';tctx.fillRect(0,0,w,h);\n\n    tctx.strokeStyle='rgba(20,20,20,.18)';\n    tctx.lineWidth=1;\n    tctx.font='16px Arial';\n    tctx.fillStyle='rgba(20,20,20,.72)';\n\n    for(let db=-60;db<=0;db+=10){\n      const x=padL+(db-minDb)\/(maxDb-minDb)*gw;\n      const y=padT+gh-(db-minDb)\/(maxDb-minDb)*gh;\n      tctx.beginPath();tctx.moveTo(x,padT);tctx.lineTo(x,padT+gh);tctx.stroke();\n      tctx.beginPath();tctx.moveTo(padL,y);tctx.lineTo(padL+gw,y);tctx.stroke();\n      if(db%20===0||db===0){\n        tctx.textAlign='center';tctx.fillText(String(db),x,padT+gh+28);\n        tctx.textAlign='right';tctx.fillText(String(db),padL-11,y+5);\n      }\n    }\n    tctx.textAlign='left';tctx.fillText('dB entr\u00e9e',padL+gw-68,h-10);\n    tctx.save();tctx.translate(17,padT+85);tctx.rotate(-Math.PI\/2);tctx.fillText('dB sortie',0,0);tctx.restore();\n\n    \/\/ diagonale\n    tctx.strokeStyle='rgba(30,30,30,.45)';\n    tctx.lineWidth=2;\n    tctx.beginPath();tctx.moveTo(padL,padT+gh);tctx.lineTo(padL+gw,padT);tctx.stroke();\n\n    const th=params.threshold.value;\n    const ra=limiter?20:params.ratio.value;\n    const kn=limiter?0:params.knee.value;\n\n    \/\/ zone d'att\u00e9nuation\n    tctx.beginPath();\n    for(let i=0;i<=240;i++){\n      const xdb=minDb+(maxDb-minDb)*i\/240;\n      let ydb=compressorOutputDb(xdb,th,ra,kn);\n      if(limiter && xdb>th) ydb=th;\n      const x=padL+(xdb-minDb)\/(maxDb-minDb)*gw;\n      const y=padT+gh-(ydb-minDb)\/(maxDb-minDb)*gh;\n      if(i===0)tctx.moveTo(x,y);else tctx.lineTo(x,y);\n    }\n    tctx.lineTo(padL+gw,padT);\n    tctx.lineTo(padL,padT+gh);\n    tctx.closePath();\n    tctx.fillStyle='rgba(35,35,35,.23)';\n    tctx.fill();\n\n    \/\/ courbe blanche\n    tctx.beginPath();\n    for(let i=0;i<=240;i++){\n      const xdb=minDb+(maxDb-minDb)*i\/240;\n      let ydb=compressorOutputDb(xdb,th,ra,kn);\n      if(limiter && xdb>th) ydb=th;\n      const x=padL+(xdb-minDb)\/(maxDb-minDb)*gw;\n      const y=padT+gh-(ydb-minDb)\/(maxDb-minDb)*gh;\n      if(i===0)tctx.moveTo(x,y);else tctx.lineTo(x,y);\n    }\n    tctx.strokeStyle='#fff';\n    tctx.lineWidth=3;\n    tctx.stroke();\n\n    \/\/ threshold marker\n    const tx=padL+(th-minDb)\/(maxDb-minDb)*gw;\n    const ty=padT+gh-(compressorOutputDb(th,th,ra,kn)-minDb)\/(maxDb-minDb)*gh;\n    tctx.fillStyle='#fff';tctx.beginPath();tctx.arc(tx,ty,5,0,Math.PI*2);tctx.fill();\n    tctx.strokeStyle='#444';tctx.lineWidth=2;tctx.stroke();\n  }\n\n  function drawHistoryStatic(){\n    const w=historyCanvas.width,h=historyCanvas.height;\n    hctx.clearRect(0,0,w,h);\n    hctx.fillStyle='#9d9d99';hctx.fillRect(0,0,w,h);\n\n    hctx.strokeStyle='rgba(20,20,20,.18)';\n    hctx.lineWidth=1;\n    hctx.font='16px Arial';\n    hctx.fillStyle='rgba(20,20,20,.72)';\n    for(let db=-60;db<=0;db+=10){\n      const y=h-28-(db+60)\/60*(h-48);\n      hctx.beginPath();hctx.moveTo(0,y);hctx.lineTo(w,y);hctx.stroke();\n      if(db%20===0||db===0){hctx.fillText(db+' dB',8,y-5)}\n    }\n\n    const chartTop=18,chartBottom=h-28,chartH=chartBottom-chartTop;\n    function yFor(db){return chartBottom-(clamp(db,-60,0)+60)\/60*chartH}\n\n    \/\/ Threshold \/ Ceiling line\n    const limitDb=params.threshold.value;\n    const limitY=yFor(limitDb);\n    hctx.save();\n    hctx.strokeStyle='#ff5d73';\n    hctx.lineWidth=2;\n    hctx.setLineDash([8,7]);\n    hctx.beginPath();\n    hctx.moveTo(0,limitY);\n    hctx.lineTo(w,limitY);\n    hctx.stroke();\n    hctx.setLineDash([]);\n    hctx.fillStyle='#ff5d73';\n    hctx.font='bold 15px Arial';\n    hctx.textAlign='right';\n    hctx.fillText((limiter?'CEILING ':'THRESHOLD ')+String(Math.round(limitDb))+' dB',w-12,Math.max(18,limitY-7));\n    hctx.restore();\n\n    \/\/ input profile fill\n    hctx.beginPath();\n    hctx.moveTo(0,chartBottom);\n    inputHistory.forEach((db,i)=>{\n      const x=i\/(inputHistory.length-1)*w;\n      const y=yFor(db);\n      hctx.lineTo(x,y);\n    });\n    hctx.lineTo(w,chartBottom);\n    hctx.closePath();\n    hctx.fillStyle='rgba(35,35,35,.43)';\n    hctx.fill();\n\n    \/\/ output white line\n    hctx.beginPath();\n    outputHistory.forEach((db,i)=>{\n      const x=i\/(outputHistory.length-1)*w;\n      const y=yFor(db);\n      if(i===0)hctx.moveTo(x,y);else hctx.lineTo(x,y);\n    });\n    hctx.strokeStyle='#fff';\n    hctx.lineWidth=3;\n    hctx.stroke();\n  }\n\n  function ensureAudioGraph(){\n    if(ac)return;\n    const AC=window.AudioContext||window.webkitAudioContext;\n    if(!AC)throw new Error('Web Audio API non disponible.');\n    ac=new AC();\n    source=ac.createMediaElementSource(audio);\n    inputAnalyser=ac.createAnalyser();\n    compressor=ac.createDynamicsCompressor();\n    makeupGain=ac.createGain();\n    outputAnalyser=ac.createAnalyser();\n    masterGain=ac.createGain();\n\n    inputAnalyser.fftSize=1024;\n    outputAnalyser.fftSize=1024;\n\n    source.connect(inputAnalyser);\n    inputAnalyser.connect(compressor);\n    compressor.connect(makeupGain);\n    makeupGain.connect(outputAnalyser);\n    outputAnalyser.connect(masterGain);\n    masterGain.connect(ac.destination);\n    applyAudioParams();\n  }\n\n  function applyAudioParams(){\n    if(!compressor||!ac)return;\n    compressor.threshold.setTargetAtTime(params.threshold.value,ac.currentTime,.01);\n    compressor.ratio.setTargetAtTime(limiter?20:params.ratio.value,ac.currentTime,.01);\n    compressor.knee.setTargetAtTime(limiter?0:params.knee.value,ac.currentTime,.01);\n    compressor.attack.setTargetAtTime(params.attack.value\/1000,ac.currentTime,.01);\n    compressor.release.setTargetAtTime(params.release.value\/1000,ac.currentTime,.01);\n    makeupGain.gain.setTargetAtTime(Math.pow(10,params.makeup.value\/20),ac.currentTime,.01);\n    masterGain.gain.setTargetAtTime(parseFloat(masterVol.value),ac.currentTime,.01);\n  }\n\n  function analyserDb(analyser){\n    const data=new Float32Array(analyser.fftSize);\n    analyser.getFloatTimeDomainData(data);\n    let sum=0;\n    for(let i=0;i<data.length;i++)sum+=data[i]*data[i];\n    const rms=Math.sqrt(sum\/data.length);\n    if(rms<=1e-7)return -60;\n    return clamp(20*Math.log10(rms),-60,0);\n  }\n\n  function animate(){\n    if(!ac||!compressor)return;\n    const inDb=analyserDb(inputAnalyser);\n    const gr=compressor.reduction||0;\n    let outDb=clamp(inDb+gr+params.makeup.value,-60,0);\n    if(limiter) outDb=Math.min(outDb,params.threshold.value);\n\n    inputHistory.push(inDb);inputHistory.shift();\n    outputHistory.push(outDb);outputHistory.shift();\n\n    const grAbs=Math.min(30,Math.abs(gr));\n    grValue.textContent=gr.toFixed(1)+' dB';\n    grMeter.style.width=(grAbs\/30*100)+'%';\n\n    drawHistoryStatic();\n    if(!audio.paused)raf=requestAnimationFrame(animate);\n  }\n\n  function attachKnob(name){\n    const p=params[name],el=document.getElementById(p.el);\n    let startY=0,startValue=0,drag=false;\n\n    function locked(){return limiter&&name==='ratio'}\n\n    el.addEventListener('pointerdown',e=>{\n      if(locked())return;\n      drag=true;startY=e.clientY;startValue=p.value;\n      el.setPointerCapture(e.pointerId);\n    });\n    el.addEventListener('pointermove',e=>{\n      if(!drag||locked())return;\n      const dy=startY-e.clientY;\n      const range=p.max-p.min;\n      const next=startValue+(dy\/160)*range;\n      p.value=clamp(roundStep(next,p.step),p.min,p.max);\n      updateKnob(name);drawTransfer();applyAudioParams();\n    });\n    el.addEventListener('pointerup',()=>{drag=false});\n    el.addEventListener('pointercancel',()=>{drag=false});\n\n    el.addEventListener('keydown',e=>{\n      if(locked())return;\n      let delta=0;\n      if(e.key==='ArrowUp'||e.key==='ArrowRight')delta=p.step;\n      if(e.key==='ArrowDown'||e.key==='ArrowLeft')delta=-p.step;\n      if(e.key==='Home')p.value=p.min;\n      else if(e.key==='End')p.value=p.max;\n      else if(delta)p.value=clamp(roundStep(p.value+delta,p.step),p.min,p.max);\n      else return;\n      e.preventDefault();\n      updateKnob(name);drawTransfer();applyAudioParams();\n    });\n    el.addEventListener('dblclick',()=>{\n      if(locked())return;\n      p.value=p.default;updateKnob(name);drawTransfer();applyAudioParams();\n    });\n  }\n  Object.keys(params).forEach(attachKnob);\n\n  function setMode(isLimiter){\n    limiter=isLimiter;\n    compressorMode.classList.toggle('active',!limiter);\n    limiterMode.classList.toggle('active',limiter);\n\n    const ratioKnob=document.getElementById('mpcp-knobRatio');\n    ratioKnob.classList.toggle('locked',limiter);\n    ratioKnob.setAttribute('aria-disabled',limiter?'true':'false');\n    document.getElementById('mpcp-ratioValue').textContent=limiter?'\u221e : 1':params.ratio.format(params.ratio.value);\n    ratioCaption.textContent=limiter?'Ratio fixe \u2014 limiteur':'Intensit\u00e9';\n    document.getElementById('mpcp-thresholdLegend').textContent=limiter?'Ceiling':'Threshold';\n\n    drawTransfer();\n    applyAudioParams();\n    status.textContent=limiter\n      ?'Mode Limiteur : Ratio verrouill\u00e9. La ligne rouge devient le Ceiling et la sortie affich\u00e9e ne d\u00e9passe plus ce niveau.'\n      :'Mode Compresseur : la ligne rouge repr\u00e9sente le Threshold, c\u2019est-\u00e0-dire le niveau \u00e0 partir duquel la compression agit.';\n  }\n\n  compressorMode.addEventListener('click',()=>setMode(false));\n  limiterMode.addEventListener('click',()=>setMode(true));\n\n  masterVol.addEventListener('input',()=>{\n    masterOut.value=Math.round(parseFloat(masterVol.value)*100)+' %';\n    applyAudioParams();\n  });\n\n  playBtn.addEventListener('click',async()=>{\n    try{\n      ensureAudioGraph();\n      if(ac.state==='suspended')await ac.resume();\n      if(audio.paused){\n        await audio.play();\n        playBtn.textContent='\u25a0';\n        playBtn.classList.add('stop');\n        playBtn.setAttribute('aria-label','Stop');\n        status.textContent='Lecture en cours : observez la ligne blanche r\u00e9agir aux cr\u00eates du signal.';\n        status.className='status ok';\n        animate();\n      }else{\n        audio.pause();\n        playBtn.textContent='\u25b6';\n        playBtn.classList.remove('stop');\n        playBtn.setAttribute('aria-label','Lire');\n        cancelAnimationFrame(raf);\n        status.className='status';\n      }\n    }catch(err){\n      console.error(err);\n      status.textContent='Erreur audio : '+err.message+' V\u00e9rifiez l\u2019autorisation CORS du fichier.';\n      status.className='status error';\n    }\n  });\n\n  resetBtn.addEventListener('click',()=>{\n    audio.pause();\n    audio.currentTime=0;\n    playBtn.textContent='\u25b6';\n    playBtn.classList.remove('stop');\n    playBtn.setAttribute('aria-label','Lire');\n    cancelAnimationFrame(raf);\n\n    Object.keys(params).forEach(name=>{\n      params[name].value=params[name].default;\n      updateKnob(name);\n    });\n\n    limiter=false;\n    compressorMode.classList.add('active');\n    limiterMode.classList.remove('active');\n    document.getElementById('mpcp-knobRatio').classList.remove('locked');\n    document.getElementById('mpcp-knobRatio').setAttribute('aria-disabled','false');\n    ratioCaption.textContent='Intensit\u00e9';\n    document.getElementById('mpcp-thresholdLegend').textContent='Threshold';\n    document.getElementById('mpcp-ratioValue').textContent=params.ratio.format(params.ratio.value);\n\n    masterVol.value=.8;\n    masterOut.value='80 %';\n    inputHistory=new Array(260).fill(-60);\n    outputHistory=new Array(260).fill(-60);\n    grValue.textContent='0.0 dB';\n    grMeter.style.width='0%';\n\n    drawTransfer();\n    drawHistoryStatic();\n    applyAudioParams();\n    status.textContent='R\u00e9glages remis \u00e0 z\u00e9ro.';\n    status.className='status';\n  });\n\n  audio.addEventListener('ended',()=>{\n    playBtn.textContent='\u25b6';\n    playBtn.classList.remove('stop');\n    playBtn.setAttribute('aria-label','Lire');\n    audio.currentTime=0;\n    cancelAnimationFrame(raf);\n  });\n\n  drawTransfer();\n  drawHistoryStatic();\n})();\n\n<\/script>\n<script>\n(function(){\n  var page=document.getElementById(\"mp26\");\n  if(!page || page.dataset.init===\"1\") return;\n  page.dataset.init=\"1\";\n\n  var button=document.getElementById(\"mp26-theme\");\n  if(button){\n    var saved=null;\n    try{saved=localStorage.getItem(\"sd26-theme\")}catch(e){}\n    if(saved===\"dark\"||(!saved&&window.matchMedia&&window.matchMedia(\"(prefers-color-scheme: dark)\").matches)){\n      page.classList.add(\"mp-dark\");button.textContent=\"\u2600\";\n    }\n    button.addEventListener(\"click\",function(){\n      page.classList.toggle(\"mp-dark\");\n      var dark=page.classList.contains(\"mp-dark\");\n      button.textContent=dark?\"\u2600\":\"\u263e\";\n      try{localStorage.setItem(\"sd26-theme\",dark?\"dark\":\"light\")}catch(e){}\n    });\n  }\n\n  page.querySelectorAll('.mp-nav a[href^=\"#\"]').forEach(function(link){\n    link.addEventListener(\"click\",function(e){\n      var target=page.querySelector(link.getAttribute(\"href\"));\n      if(!target) return;\n      e.preventDefault();\n      target.scrollIntoView({behavior:\"smooth\",block:\"start\"});\n    });\n  });\n\n  var reduced=window.matchMedia && window.matchMedia(\"(prefers-reduced-motion: reduce)\").matches;\n  if(!reduced) page.classList.add(\"mp-motion-ready\");\n\n  var parallaxNodes=[].slice.call(page.querySelectorAll(\"[data-mp-parallax]\"));\n  if(!reduced && parallaxNodes.length){\n    var tick=false;\n    function updateParallax(){\n      var vh=window.innerHeight;\n      parallaxNodes.forEach(function(el){\n        var r=el.getBoundingClientRect();\n        if(r.bottom>0 && r.top<vh){\n          var speed=parseFloat(el.getAttribute(\"data-mp-parallax\")) || 0;\n          var delta=(r.top+r.height\/2)-(vh\/2);\n          var y=delta*speed;\n          var max=Math.abs(speed)>=.06?48:(Math.abs(speed)>=.02?26:17);\n          y=Math.max(-max,Math.min(max,y));\n          el.style.transform=\"translate3d(0,\"+y.toFixed(2)+\"px,0)\";\n        }\n      });\n      tick=false;\n    }\n    window.addEventListener(\"scroll\",function(){\n      if(!tick){requestAnimationFrame(updateParallax);tick=true;}\n    },{passive:true});\n    window.addEventListener(\"resize\",updateParallax,{passive:true});\n    updateParallax();\n  }\n\n  var reveal=[].slice.call(page.querySelectorAll(\".mp-reveal\"));\n  if(!reduced && \"IntersectionObserver\" in window){\n    var io=new IntersectionObserver(function(entries){\n      entries.forEach(function(entry){\n        if(entry.isIntersecting){\n          entry.target.classList.add(\"is-visible\");\n          io.unobserve(entry.target);\n        }\n      });\n    },{threshold:.08,rootMargin:\"0px 0px -5% 0px\"});\n    reveal.forEach(function(el){io.observe(el)});\n  } else {\n    reveal.forEach(function(el){el.classList.add(\"is-visible\")});\n  }\n})();\n<\/script>\n\n\n<!-- PATCH CIBL\u00c9 \u2014 seule la barre \u00ab Audition \u00b7 Multipiste \u00bb suit le scroll -->\n<style id=\"mp26-coursebar-only-follow-style\">\n#mp26 .mp-nobr{white-space:nowrap!important}\n\n\/* On neutralise uniquement le sticky natif de cette barre pour utiliser\n   un suivi fixe robuste. Aucun chapitre \/ titre de section n'est concern\u00e9. *\/\n#mp26 .mp-top-wrap{\n  position:relative!important;\n  top:auto!important;\n}\n#mp26 .mp-top-wrap.mp-coursebar-following{\n  position:fixed!important;\n  top:12px!important;\n  left:0!important;\n  right:0!important;\n  width:100%!important;\n  z-index:10000!important;\n  padding-top:12px!important;\n  pointer-events:none!important;\n}\n#mp26 .mp-top-wrap.mp-coursebar-following .mp-top{\n  pointer-events:auto!important;\n}\n#mp26 .mp-coursebar-follow-placeholder{\n  display:block;\n  height:0;\n  margin:0;\n  padding:0;\n  border:0;\n}\n<\/style>\n<script id=\"mp26-coursebar-only-follow-js\">\n(function(){\n  var root=document.getElementById('mp26');\n  if(!root || root.dataset.coursebarOnlyFollow==='1') return;\n  root.dataset.coursebarOnlyFollow='1';\n\n  var wrap=root.querySelector('.mp-top-wrap');\n  if(!wrap) return;\n\n  var placeholder=document.createElement('div');\n  placeholder.className='mp-coursebar-follow-placeholder';\n  placeholder.setAttribute('aria-hidden','true');\n  wrap.parentNode.insertBefore(placeholder,wrap);\n\n  var following=false;\n  var ticking=false;\n\n  function naturalHeight(){\n    var was=wrap.classList.contains('mp-coursebar-following');\n    if(was) wrap.classList.remove('mp-coursebar-following');\n    var h=wrap.getBoundingClientRect().height;\n    if(was) wrap.classList.add('mp-coursebar-following');\n    return h;\n  }\n\n  function update(){\n    var markerTop=placeholder.getBoundingClientRect().top;\n    var shouldFollow=markerTop<=12;\n\n    if(shouldFollow!==following){\n      following=shouldFollow;\n      if(following){\n        placeholder.style.height=naturalHeight()+'px';\n        wrap.classList.add('mp-coursebar-following');\n      }else{\n        wrap.classList.remove('mp-coursebar-following');\n        placeholder.style.height='0px';\n      }\n    }\n    ticking=false;\n  }\n\n  function requestUpdate(){\n    if(ticking) return;\n    ticking=true;\n    requestAnimationFrame(update);\n  }\n\n  window.addEventListener('scroll',requestUpdate,{passive:true});\n  window.addEventListener('resize',function(){\n    if(following) placeholder.style.height=naturalHeight()+'px';\n    requestUpdate();\n  },{passive:true});\n\n  update();\n})();\n<\/script>\n<script id=\"mp26-to-top-js\">\n(function(){\n  var button=document.getElementById(\"mp26-to-top\");\n  if(!button || button.dataset.ready===\"1\") return;\n  button.dataset.ready=\"1\";\n  button.addEventListener(\"click\",function(){\n    window.scrollTo({top:0,behavior:\"smooth\"});\n  });\n})();\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>INITIATION Sound Design AUDITION Forme d&#8217;onde AUDITION Multipiste PREMI\u00c8RE PRO Mixage L\u2019ENREGISTREMENT Prise de son AUDIO BRANDING EXERCICES Astuces Audition \u00b7 Multipiste Cours 03 \u00b7 Montage multipiste \u263e Formation \u00b7 Chapitre 03 Audition Multipiste. Organiser plusieurs pistes, comprendre le routage, automatiser les param\u00e8tres, traiter les signaux et construire un mixage coh\u00e9rent dans Adobe Audition. Cours03 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":{"footnotes":""},"class_list":["post-3731","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/lucasgoret.com\/index.php\/wp-json\/wp\/v2\/pages\/3731","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lucasgoret.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lucasgoret.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lucasgoret.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lucasgoret.com\/index.php\/wp-json\/wp\/v2\/comments?post=3731"}],"version-history":[{"count":24,"href":"https:\/\/lucasgoret.com\/index.php\/wp-json\/wp\/v2\/pages\/3731\/revisions"}],"predecessor-version":[{"id":3817,"href":"https:\/\/lucasgoret.com\/index.php\/wp-json\/wp\/v2\/pages\/3731\/revisions\/3817"}],"wp:attachment":[{"href":"https:\/\/lucasgoret.com\/index.php\/wp-json\/wp\/v2\/media?parent=3731"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}