{"title":"Music","description":"\u003cp\u003eOriginal guitar music by GRAUX. Dark R\u0026amp;B, sensual French melodies, studio performances. Stream below.\u003c\/p\u003e \u003c!-- 🎥 VIDEO --\u003e \u003cdiv class=\"graux-video-container\"\u003e\u003ciframe src=\"https:\/\/www.youtube.com\/embed\/cgyMg5pZJUE?autoplay=0\u0026amp;mute=0\u0026amp;modestbranding=1\u0026amp;showinfo=0\u0026amp;rel=0\" title=\"GRAUX - Studio Performance 2025 Medley\"\u003e \u003c\/iframe\u003e\u003c\/div\u003e \u003c!-- 🎧 PLAYER --\u003e \u003csection class=\"graux-player\"\u003e \u003cdiv class=\"graux-player-inner\"\u003e \u003cdiv class=\"graux-player-header\"\u003e \u003ch2 id=\"track-title\"\u003eSelect a Track\u003c\/h2\u003e \u003cspan id=\"track-counter\"\u003e\u003c\/span\u003e \u003c\/div\u003e \u003cdiv id=\"waveform\" class=\"graux-waveform\"\u003e\u003c\/div\u003e \u003cdiv class=\"graux-controls\"\u003e \u003cbutton id=\"prev-track\" aria-label=\"Previous\"\u003e⏮\u003c\/button\u003e \u003cbutton id=\"play-pause\" aria-label=\"Play\"\u003e▶\u003c\/button\u003e \u003cbutton id=\"next-track\" aria-label=\"Next\"\u003e⏭\u003c\/button\u003e \u003c\/div\u003e \u003cdiv class=\"graux-timer\"\u003e \u003cspan id=\"current-time\"\u003e0:00\u003c\/span\u003e \u003cdiv class=\"graux-progress\"\u003e \u003cdiv id=\"progress\"\u003e\u003c\/div\u003e \u003c\/div\u003e \u003cspan id=\"duration\"\u003e0:00\u003c\/span\u003e \u003c\/div\u003e \u003cul class=\"graux-tracklist\" id=\"track-list\"\u003e \u003cli data-index=\"0\" data-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6220\/7680\/files\/GRAUX_Rouge_Noir_Ebmin_85_Master.mp3?v=1759865814\" data-title=\"Rouge Noir\"\u003eRouge Noir\u003c\/li\u003e \u003cli data-index=\"1\" data-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6220\/7680\/files\/GRAUX_-_Mi_Diosa_Emin_123_Master.mp3?v=1759865852\" data-title=\"Mi Diosa\"\u003eMi Diosa\u003c\/li\u003e \u003cli data-index=\"2\" data-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6220\/7680\/files\/GRAUX_Adrenaline_C_min_93_Master.mp3?v=1759865815\" data-title=\"Adrenaline\"\u003eAdrenaline\u003c\/li\u003e \u003cli data-index=\"3\" data-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6220\/7680\/files\/GRAUX_-_Caramel.mp3?v=1759873437\" data-title=\"Caramel\"\u003eCaramel\u003c\/li\u003e \u003cli data-index=\"4\" data-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6220\/7680\/files\/GRAUX_Estrellas_en_LA_Ebmin_157_3_4_Master.mp3?v=1759865812\" data-title=\"Estrellas en LA\"\u003eEstrellas en LA\u003c\/li\u003e \u003cli data-index=\"5\" data-src=\"https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6220\/7680\/files\/GRAUX_Petite_Mort_C_min_120_Master.mp3?v=1759865814\" data-title=\"Petite Mort\"\u003ePetite Mort\u003c\/li\u003e \u003c\/ul\u003e \u003c\/div\u003e \u003c\/section\u003e \u003c!-- 🎨 STYLE --\u003e \u003cstyle\u003e \/* --- Layout --- *\/ .graux-video-container { position: relative; width: 100%; max-width: 960px; aspect-ratio: 16\/9; margin: 0 auto 60px; border-radius: 20px; overflow: hidden; box-shadow: 0 0 32px rgba(255, 100, 0, 0.25); } .graux-video-container iframe { position: absolute; inset: 0; width: 100%; height: 100%; } \/* --- Player --- *\/ .graux-player { background: linear-gradient(180deg, #0a0a0a 0%, #141010 100%); border-radius: 20px; max-width: 640px; margin: 60px auto; padding: 36px 28px; color: #fff; text-align: center; box-shadow: 0 0 40px rgba(255, 80, 0, 0.18); backdrop-filter: blur(12px); } .graux-player-header { margin-bottom: 18px; } .graux-player-header h2 { font-size: 19px; font-weight: 600; text-transform: uppercase; color: #ff6930; letter-spacing: 1px; margin: 0; } #track-counter { display: block; font-size: 12px; color: #c76d3a; margin-top: 4px; } \/* --- Waveform --- *\/ .graux-waveform { height: 80px; margin: 22px 0; border-radius: 6px; background: rgba(255, 255, 255, 0.02); box-shadow: inset 0 0 15px rgba(255, 80, 0, 0.1); } \/* --- Controls --- *\/ .graux-controls { display: flex; justify-content: center; align-items: center; gap: 26px; margin-bottom: 20px; } .graux-controls button { background: rgba(255, 255, 255, 0.06); border: none; color: #ff6930; font-size: 22px; border-radius: 50%; width: 46px; height: 46px; cursor: pointer; transition: all 0.25s ease; } .graux-controls button:hover { background: linear-gradient(45deg, #ff6930, #ff3500); color: #fff; transform: scale(1.08); box-shadow: 0 0 20px rgba(255, 80, 0, 0.4); } \/* --- Timer --- *\/ .graux-timer { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; color: #aaa; margin-bottom: 18px; } .graux-progress { flex: 1; height: 3px; background: rgba(255, 255, 255, 0.08); border-radius: 2px; overflow: hidden; } .graux-progress #progress { width: 0; height: 100%; background: linear-gradient(90deg, #ff6930, #ff3500); transition: width 0.1s linear; } \/* --- Tracklist --- *\/ .graux-tracklist { list-style: none; padding: 0; margin: 0; } .graux-tracklist li { font-size: 14px; padding: 10px 0; color: #d6d6d6; cursor: pointer; transition: all 0.25s ease; border-bottom: 1px solid rgba(255, 255, 255, 0.05); } .graux-tracklist li:hover { color: #ff6930; } .graux-tracklist li.active { color: #fff; font-weight: 600; text-shadow: 0 0 10px rgba(255, 60, 0, 0.5); } \/* --- Responsive --- *\/ @media (max-width: 480px) { .graux-player { padding: 26px 18px; } .graux-waveform { height: 60px; } .graux-controls button { width: 42px; height: 42px; font-size: 20px; } } \u003c\/style\u003e \u003c!-- SCRIPT --\u003e \u003cp\u003e\u003cscript src=\"https:\/\/unpkg.com\/wavesurfer.js@7\"\u003e\u003c\/script\u003e \u003cscript\u003e document.addEventListener('DOMContentLoaded', function() { const playPauseBtn = document.getElementById('play-pause'); const progress = document.getElementById('progress'); const currentTime = document.getElementById('current-time'); const durationEl = document.getElementById('duration'); const trackList = document.getElementById('track-list'); const trackTitle = document.getElementById('track-title'); const trackCounter = document.getElementById('track-counter'); const prevBtn = document.getElementById('prev-track'); const nextBtn = document.getElementById('next-track'); const tracks = Array.from(trackList.querySelectorAll('li')); let wavesurfer = null; let currentTrackIndex = 0; const formatTime = s =\u003e { const m = Math.floor(s \/ 60); s = Math.floor(s % 60); return `${m}:${s \u003c 10 ? '0' : ''}${s}`; }; function loadTrack(index, playNow = false) { const track = tracks[index]; if (!track) return; const src = track.dataset.src; const title = track.dataset.title; tracks.forEach(t =\u003e t.classList.remove('active', 'playing')); track.classList.add('active'); trackTitle.textContent = title.toUpperCase(); trackCounter.textContent = `${index + 1}\/${tracks.length}`; if (wavesurfer) wavesurfer.destroy(); wavesurfer = WaveSurfer.create({ container: '#waveform', waveColor: 'rgba(255, 100, 40, 0.35)', progressColor: '#ff6930', cursorColor: '#fff', height: 70, barWidth: 2, barGap: 1, responsive: true }); wavesurfer.load(src); wavesurfer.on('ready', () =\u003e { durationEl.textContent = formatTime(wavesurfer.getDuration()); if (playNow) { wavesurfer.play(); playPauseBtn.textContent = '⏸'; track.classList.add('playing'); } else { playPauseBtn.textContent = '▶'; } }); wavesurfer.on('audioprocess', () =\u003e { const c = wavesurfer.getCurrentTime(); currentTime.textContent = formatTime(c); progress.style.width = `${(c \/ wavesurfer.getDuration()) * 100}%`; }); wavesurfer.on('finish', () =\u003e { loadTrack((index + 1) % tracks.length, true); }); } playPauseBtn.onclick = () =\u003e { if (!wavesurfer) return; if (wavesurfer.isPlaying()) { wavesurfer.pause(); playPauseBtn.textContent = '▶'; } else { wavesurfer.play(); playPauseBtn.textContent = '⏸'; tracks[currentTrackIndex].classList.add('playing'); } }; prevBtn.onclick = () =\u003e { currentTrackIndex = (currentTrackIndex - 1 + tracks.length) % tracks.length; loadTrack(currentTrackIndex, true); }; nextBtn.onclick = () =\u003e { currentTrackIndex = (currentTrackIndex + 1) % tracks.length; loadTrack(currentTrackIndex, true); }; tracks.forEach((t, i) =\u003e t.addEventListener('click', () =\u003e { currentTrackIndex = i; loadTrack(i, true); })); loadTrack(0, false); }); \u003c\/script\u003e\u003c\/p\u003e","products":[{"product_id":"mi-diosa","title":"GRAUX - Mi Diosa (EP)","description":"\u003c!-- GRAUX — Mi Diosa Player + DSP Links --\u003e \u003csection class=\"graux-diosa\"\u003e \u003cstyle\u003e .graux-diosa{ --brand:#ff7b4e; --bg:#0b0b0b; --fg:#f7f7f7; --muted:#b6b6b6; --playing:#2a2a2a; font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial,sans-serif; background:var(--bg); color:var(--fg); padding:40px 16px; border-radius:18px; text-align:center; } .graux-diosa h2{margin:0 0 10px;font-size:clamp(22px,3vw,34px)} .graux-diosa p{margin:0 0 18px;color:var(--muted)} #waveform-diosa{width:100%;margin:0 auto 12px auto} #playBtnDiosa{ border:none; border-radius:999px; padding:10px 18px; font-weight:700; cursor:pointer; margin-bottom:22px; transition:.25s ease; font-size:15px; } #playBtnDiosa.pause{ background:var(--brand); color:#0b0b0b; box-shadow:0 6px 18px rgba(255,123,78.35); } #playBtnDiosa.playing{ background:var(--playing); color:var(--fg); box-shadow:0 6px 18px rgba(0,0,0.45); } .note{margin-top:14px;font-size:14px;color:var(--muted);} .platforms{display:grid;gap:14px;max-width:500px;margin:28px auto 0 auto} @media(min-width:540px){.platforms{grid-template-columns:repeat(3,1fr)}} .btn{ display:flex;justify-content:center;align-items:center;gap:10px; padding:14px;background:#1f1f1f;border-radius:14px;text-decoration:none; color:var(--fg);font-weight:600;transition:.2s ease } .btn:hover{background:#2a2a2a;transform:translateY(-1px)} .dot{width:10px;height:10px;border-radius:50%} .yt{background:#FF0000}.sp{background:#1DB954}.am{background:#FA233B} \u003c\/style\u003e \u003ch2\u003eGRAUX — Mi Diosa (EP)\u003c\/h2\u003e \u003cp\u003ePreview \u0026amp; choose your platform — or support by buying the full EP\u003c\/p\u003e \u003c!-- Waveform Player --\u003e \u003cdiv id=\"waveform-diosa\"\u003e\u003c\/div\u003e \u003cbutton id=\"playBtnDiosa\" class=\"pause\"\u003e▶ Play\u003c\/button\u003e \u003c!-- Extra Info --\u003e \u003cp class=\"note\"\u003eWhen you purchase, you’ll receive all 3 high-quality WAV masters (44.1kHz \/ 24-bit, stereo):\u003cbr\u003e • Mi Diosa (Original) — 3:15\u003cbr\u003e • Mi Diosa (Acoustic) — 3:11\u003cbr\u003e • Mi Diosa (Afro House Remix) — 4:16\u003c\/p\u003e \u003c!-- DSP Buttons --\u003e \u003cdiv class=\"platforms\"\u003e \u003ca class=\"btn\" href=\"https:\/\/open.spotify.com\/album\/5ahl29cKelf0q0si8K6jR3?si=rpw1EcCKS6anDQEAyJKBkA\" target=\"_blank\" rel=\"noopener\"\u003e \u003cspan class=\"dot sp\"\u003e\u003c\/span\u003e Spotify \u003c\/a\u003e \u003ca class=\"btn\" href=\"https:\/\/music.apple.com\/tz\/album\/mi-diosa-single\/1842648768\" target=\"_blank\" rel=\"noopener\"\u003e \u003cspan class=\"dot am\"\u003e\u003c\/span\u003e Apple Music \u003c\/a\u003e \u003ca class=\"btn\" href=\"https:\/\/www.youtube.com\/watch?v=Syp2_fmrmdU\" target=\"_blank\" rel=\"noopener\"\u003e \u003cspan class=\"dot yt\"\u003e\u003c\/span\u003e YouTube \u003c\/a\u003e \u003c\/div\u003e \u003c!-- Wavesurfer.js --\u003e \u003cscript src=\"https:\/\/unpkg.com\/wavesurfer.js\"\u003e\u003c\/script\u003e \u003cscript\u003e const wavesurferDiosa = WaveSurfer.create({ container: '#waveform-diosa', waveColor: '#ccc', progressColor: '#ff7b4e', cursorColor: '#fff', height: 90, barWidth: 2, responsive: true }); \/\/ Mi Diosa snippet hosted on Shopify wavesurferDiosa.load('https:\/\/cdn.shopify.com\/s\/files\/1\/0522\/6220\/7680\/files\/GRAUX_-_Mi_Diosa_Snippet.mp3?v=1759135054'); const playBtnDiosa = document.getElementById('playBtnDiosa'); playBtnDiosa.onclick = () =\u003e { wavesurferDiosa.playPause(); }; wavesurferDiosa.on('play', () =\u003e { playBtnDiosa.textContent = '⏸ Pause'; playBtnDiosa.classList.remove('pause'); playBtnDiosa.classList.add('playing'); }); wavesurferDiosa.on('pause', () =\u003e { playBtnDiosa.textContent = '▶ Play'; playBtnDiosa.classList.remove('playing'); playBtnDiosa.classList.add('pause'); }); \u003c\/script\u003e \u003c\/section\u003e ","brand":"GRAUX Music","offers":[{"title":"Default Title","offer_id":52793990349130,"sku":null,"price":8.99,"currency_code":"USD","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0522\/6220\/7680\/files\/GRAUX-MiDiosa_Artwork.jpg?v=1757695401"}],"url":"https:\/\/grauxmusic.com\/es\/collections\/music.oembed","provider":"GRAUX Guitar Loops","version":"1.0","type":"link"}