Help
RSS
API
Feed
Maltego
Contact
Domain > aimusic.nodoutnetwork.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-07-01
104.21.40.44
(
ClassC
)
2025-12-03
172.67.175.94
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Wed, 03 Dec 2025 18:32:12 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareLast-Modified: Tue, 01 Jul 2025 05:25:36 GMTAccept-Ranges: bytesNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?s8ar7jSothnaC7uMS3zcQEXdcFfJRFFEuanrHeMGaYBsAfLstDb77Bssl7g8cwT6STUUNLzD%2F4ffymfKLG2xMjuiZO1E4DkdwdI2oT9u%2FCxtaScFT4QZO}}cf-cache-status: DYNAMICCF-RAY: 9a852536ec7eefe2-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langes>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>NeuroMusic AI - Generador de Música/title> style> * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Segoe UI, Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; overflow-x: hidden; } .container { max-width: 1400px; margin: 0 auto; padding: 20px; } .header { text-align: center; margin-bottom: 40px; animation: fadeInDown 1s ease-out; } .logo { font-size: 3.5rem; font-weight: 800; color: white; text-shadow: 0 4px 20px rgba(0,0,0,0.3); margin-bottom: 10px; } .subtitle { font-size: 1.2rem; color: rgba(255,255,255,0.9); margin-bottom: 30px; } .main-grid { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 30px; margin-bottom: 40px; } .card { background: rgba(255,255,255,0.15); backdrop-filter: blur(20px); border-radius: 20px; padding: 30px; border: 1px solid rgba(255,255,255,0.2); box-shadow: 0 15px 35px rgba(0,0,0,0.1); transition: all 0.3s ease; animation: fadeInUp 1s ease-out; } .card:hover { transform: translateY(-10px); box-shadow: 0 25px 50px rgba(0,0,0,0.2); } .card-title { font-size: 1.4rem; font-weight: 700; color: white; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; } .control-center { text-align: center; } .generate-btn { background: linear-gradient(45deg, #ff6b6b, #ff8e53); border: none; color: white; font-size: 1.1rem; font-weight: 600; padding: 20px 40px; border-radius: 50px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 10px 30px rgba(255,107,107,0.4); margin-bottom: 30px; position: relative; overflow: hidden; } .generate-btn:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(255,107,107,0.6); } .generate-btn:active { transform: scale(0.95); } .generate-btn::before { content: ; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: left 0.5s; } .generate-btn:hover::before { left: 100%; } .progress-container { width: 100%; height: 8px; background: rgba(255,255,255,0.2); border-radius: 10px; margin: 20px 0; overflow: hidden; } .progress-bar { height: 100%; background: linear-gradient(90deg, #4facfe, #00f2fe); border-radius: 10px; width: 0%; transition: width 0.3s ease; animation: shimmer 2s infinite; } @keyframes shimmer { 0% { background-position: -200px 0; } 100% { background-position: 200px 0; } } .status-text { color: white; font-size: 1rem; margin: 10px 0; opacity: 0.8; } .waveform { height: 100px; background: rgba(255,255,255,0.1); border-radius: 10px; margin: 20px 0; display: flex; align-items: end; justify-content: center; gap: 2px; padding: 10px; } .wave-bar { width: 4px; background: linear-gradient(to top, #ff6b6b, #4ecdc4); border-radius: 2px; animation: wave 1.5s ease-in-out infinite; } .wave-bar:nth-child(odd) { animation-delay: 0.1s; } .wave-bar:nth-child(even) { animation-delay: 0.2s; } @keyframes wave { 0%, 100% { height: 10px; } 50% { height: 60px; } } .parameter-group { margin-bottom: 25px; } .parameter-label { color: white; font-size: 0.9rem; margin-bottom: 8px; display: block; } .slider { width: 100%; height: 6px; border-radius: 5px; background: rgba(255,255,255,0.2); outline: none; appearance: none; cursor: pointer; } .slider::-webkit-slider-thumb { appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #ff6b6b; cursor: pointer; box-shadow: 0 2px 10px rgba(255,107,107,0.5); } .slider::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #ff6b6b; cursor: pointer; border: none; box-shadow: 0 2px 10px rgba(255,107,107,0.5); } .value-display { color: #4ecdc4; font-weight: 600; font-size: 0.9rem; } .audio-player { background: rgba(0,0,0,0.3); border-radius: 15px; padding: 20px; margin: 20px 0; } .play-btn { background: linear-gradient(45deg, #4ecdc4, #44a08d); border: none; color: white; width: 60px; height: 60px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; margin: 0 auto 15px; transition: all 0.3s ease; box-shadow: 0 8px 25px rgba(78,205,196,0.4); } .play-btn:hover { transform: scale(1.1); box-shadow: 0 12px 35px rgba(78,205,196,0.6); } .download-btn { background: linear-gradient(45deg, #667eea, #764ba2); border: none; color: white; padding: 12px 25px; border-radius: 25px; cursor: pointer; font-size: 0.9rem; margin: 10px 5px; transition: all 0.3s ease; } .download-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(102,126,234,0.4); } .visualizer { height: 200px; background: linear-gradient(45deg, rgba(255,107,107,0.1), rgba(78,205,196,0.1)); border-radius: 15px; margin: 20px 0; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; } .visualizer::before { content: ; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at center, rgba(255,255,255,0.1) 0%, transparent 70%); animation: pulse 3s ease-in-out infinite; } @keyframes pulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.8; } } .neural-network { display: flex; align-items: center; justify-content: space-between; height: 100%; padding: 20px; } .layer { display: flex; flex-direction: column; gap: 15px; } .neuron { width: 12px; height: 12px; background: #4ecdc4; border-radius: 50%; animation: neuronPulse 2s ease-in-out infinite; box-shadow: 0 0 10px rgba(78,205,196,0.5); } .neuron:nth-child(odd) { animation-delay: 0.3s; } @keyframes neuronPulse { 0%, 100% { opacity: 0.4; transform: scale(1); } 50% { opacity: 1; transform: scale(1.2); } } .connection { height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); flex: 1; margin: 0 10px; animation: dataFlow 3s linear infinite; } @keyframes dataFlow { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 0; } } .genre-selector { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px; } .genre-btn { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); color: white; padding: 12px; border-radius: 10px; cursor: pointer; transition: all 0.3s ease; text-align: center; font-size: 0.9rem; } .genre-btn:hover, .genre-btn.active { background: linear-gradient(45deg, #ff6b6b, #ff8e53); border-color: transparent; transform: translateY(-2px); } .bottom-section { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 40px; } @keyframes fadeInDown { from { opacity: 0; transform: translateY(-30px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 768px) { .main-grid { grid-template-columns: 1fr; } .logo { font-size: 2.5rem; } .card { padding: 20px; } } .floating-particles { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; } .particle { position: absolute; background: rgba(255,255,255,0.1); border-radius: 50%; animation: float 6s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-20px) rotate(180deg); } } /style>/head>body> div classfloating-particles> div classparticle stylewidth: 6px; height: 6px; left: 10%; top: 20%; animation-delay: 0s;>/div> div classparticle stylewidth: 8px; height: 8px; left: 20%; top: 80%; animation-delay: 1s;>/div> div classparticle stylewidth: 4px; height: 4px; left: 80%; top: 40%; animation-delay: 2s;>/div> div classparticle stylewidth: 10px; height: 10px; left: 90%; top: 70%; animation-delay: 3s;>/div> div classparticle stylewidth: 5px; height: 5px; left: 50%; top: 10%; animation-delay: 4s;>/div> /div> div classcontainer> div classheader> div classlogo>🎵 NeuroMusic AI/div> div classsubtitle>Generador de Música Inteligente con Redes Neuronales/div> /div> div classmain-grid> !-- Panel de Control --> div classcard> div classcard-title> 🎛️ Controles /div> div classgenre-selector> div classgenre-btn active onclickselectGenre(this, classical)>🎼 Clásica/div> div classgenre-btn onclickselectGenre(this, electronic)>🎹 Electrónica/div> div classgenre-btn onclickselectGenre(this, ambient)>🌙 Ambient/div> div classgenre-btn onclickselectGenre(this, jazz)>🎷 Jazz/div> /div> div classparameter-group> label classparameter-label>Duración: span classvalue-display iddurationValue>30s/span>/label> input typerange classslider min10 max120 value30 idduration oninputupdateValue(duration, this.value + s)> /div> div classparameter-group> label classparameter-label>Complejidad: span classvalue-display idcomplexityValue>Medium/span>/label> input typerange classslider min1 max5 value3 idcomplexity oninputupdateComplexity(this.value)> /div> div classparameter-group> label classparameter-label>Tempo: span classvalue-display idtempoValue>120 BPM/span>/label> input typerange classslider min60 max180 value120 idtempo oninputupdateValue(tempo, this.value + BPM)> /div> div classparameter-group> label classparameter-label>Creatividad: span classvalue-display idcreativityValue>70%/span>/label> input typerange classslider min0 max100 value70 idcreativity oninputupdateValue(creativity, this.value + %)> /div> /div> !-- Centro de Generación --> div classcard control-center> div classcard-title> 🧠 Centro de Generación /div> button classgenerate-btn onclickgenerateMusic()> ✨ Generar Música /button> div classprogress-container> div classprogress-bar idprogressBar>/div> /div> div classstatus-text idstatusText>Listo para generar/div> div classvisualizer> div classneural-network> div classlayer> div classneuron>/div> div classneuron>/div> div classneuron>/div> div classneuron>/div> /div> div classconnection>/div> div classlayer> div classneuron>/div> div classneuron>/div> div classneuron>/div> div classneuron>/div> div classneuron>/div> div classneuron>/div> /div> div classconnection>/div> div classlayer> div classneuron>/div> div classneuron>/div> div classneuron>/div> /div> /div> /div> div classwaveform idwaveform> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> /div> /div> !-- Panel de Resultados --> div classcard> div classcard-title> 🎧 Reproductor /div> div classaudio-player> button classplay-btn onclicktogglePlay()> span idplayIcon>▶️/span> /button> div styletext-align: center; color: white; font-size: 0.9rem;> Música Generada /div> /div> div styletext-align: center;> button classdownload-btn onclickdownloadFile(wav)>📥 WAV/button> button classdownload-btn onclickdownloadFile(mp3)>📥 MP3/button> button classdownload-btn onclickdownloadFile(midi)>📥 MIDI/button> /div> div classparameter-group stylemargin-top: 25px;> label classparameter-label>Historial de Generaciones/label> div stylemax-height: 150px; overflow-y: auto;> div stylebackground: rgba(255,255,255,0.1); padding: 10px; border-radius: 8px; margin: 5px 0; font-size: 0.8rem; color: white;> 🎵 Clásica - 30s - Hace 2 min /div> div stylebackground: rgba(255,255,255,0.1); padding: 10px; border-radius: 8px; margin: 5px 0; font-size: 0.8rem; color: white;> 🎹 Electrónica - 45s - Hace 5 min /div> div stylebackground: rgba(255,255,255,0.1); padding: 10px; border-radius: 8px; margin: 5px 0; font-size: 0.8rem; color: white;> 🌙 Ambient - 60s - Hace 10 min /div> /div> /div> /div> /div> div classbottom-section> !-- Análisis de la Música --> div classcard> div classcard-title> 📊 Análisis Musical /div> div styledisplay: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; color: white;> div> div stylefont-size: 0.8rem; opacity: 0.8;>Tonalidad/div> div stylefont-size: 1.1rem; font-weight: 600; color: #4ecdc4;>C Mayor/div> /div> div> div stylefont-size: 0.8rem; opacity: 0.8;>Escalas Usadas/div> div stylefont-size: 1.1rem; font-weight: 600; color: #4ecdc4;>Pentatónica/div> /div> div> div stylefont-size: 0.8rem; opacity: 0.8;>Acordes/div> div stylefont-size: 1.1rem; font-weight: 600; color: #4ecdc4;>C-Am-F-G/div> /div> div> div stylefont-size: 0.8rem; opacity: 0.8;>Estructura/div> div stylefont-size: 1.1rem; font-weight: 600; color: #4ecdc4;>ABA/div> /div> /div> /div> !-- Estadísticas del Modelo --> div classcard> div classcard-title> 🤖 Estado del Modelo /div> div stylecolor: white;> div stylemargin-bottom: 15px;> div stylefont-size: 0.9rem; margin-bottom: 5px;>Precisión del Modelo/div> div classprogress-container> div classprogress-bar stylewidth: 87%;>/div> /div> div styletext-align: right; font-size: 0.8rem; color: #4ecdc4;>87%/div> /div> div stylemargin-bottom: 15px;> div stylefont-size: 0.9rem; margin-bottom: 5px;>Creatividad/div> div classprogress-container> div classprogress-bar stylewidth: 92%;>/div> /div> div styletext-align: right; font-size: 0.8rem; color: #4ecdc4;>92%/div> /div> div styledisplay: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; font-size: 0.8rem;> div>Épocas: span stylecolor: #4ecdc4;>150/span>/div> div>Loss: span stylecolor: #4ecdc4;>0.023/span>/div> div>Tiempo: span stylecolor: #4ecdc4;>2.3s/span>/div> div>GPU: span stylecolor: #4ecdc4;>Activada/span>/div> /div> /div> /div> /div> /div> script> let isPlaying false; let currentGenre classical; function selectGenre(element, genre) { document.querySelectorAll(.genre-btn).forEach(btn > btn.classList.remove(active)); element.classList.add(active); currentGenre genre; } function updateValue(elementId, value) { document.getElementById(elementId + Value).textContent value; } function updateComplexity(value) { const levels Muy Simple, Simple, Medium, Complejo, Muy Complejo; document.getElementById(complexityValue).textContent levelsvalue - 1; } function generateMusic() { const progressBar document.getElementById(progressBar); const statusText document.getElementById(statusText); const generateBtn document.querySelector(.generate-btn); generateBtn.style.pointerEvents none; generateBtn.style.opacity 0.7; const steps Inicializando red neuronal..., Cargando parámetros..., Generando secuencias..., Procesando audio..., Optimizando calidad..., ¡Música lista! ; let currentStep 0; const interval setInterval(() > { if (currentStep steps.length) { statusText.textContent stepscurrentStep; progressBar.style.width ((currentStep + 1) / steps.length) * 100 + %; currentStep++; } else { clearInterval(interval); generateBtn.style.pointerEvents auto; generateBtn.style.opacity 1; showSuccessNotification(); } }, 800); } function togglePlay() { const playIcon document.getElementById(playIcon); isPlaying !isPlaying; playIcon.textContent isPlaying ? ⏸️ : ▶️; if (isPlaying) { animateWaveform(); } } function animateWaveform() { const waveBars document.querySelectorAll(.wave-bar); if (isPlaying) { waveBars.forEach((bar, index) > { const height Math.random() * 60 + 10; bar.style.height height + px; }); setTimeout(animateWaveform, 150); } } function downloadFile(format) { showDownloadNotification(format); } function showSuccessNotification() { const notification document.createElement(div); notification.style.cssText ` position: fixed; top: 20px; right: 20px; background: linear-gradient(45deg, #4ecdc4, #44a08d); color: white; padding: 15px 25px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); z-index: 1000; animation: slideIn 0.5s ease-out; `; notification.textContent ✅ ¡Música generada exitosamente!; document.body.appendChild(notification); setTimeout(() > { notification.remove(); }, 3000); } function showDownloadNotification(format) { const notification document.createElement(div); notification.style.cssText ` position: fixed; top: 20px; right: 20px; background: linear-gradient(45deg, #667eea, #764ba2); color: white; padding: 15px 25px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); z-index: 1000; animation: slideIn 0.5s ease-out; `; notification.textContent `📥 Descargando archivo ${format.toUpperCase()}...`; document.body.appendChild(notification); setTimeout(() > { notification.remove(); }, 3000); } // Crear más partículas flotantes dinámicamente function createFloatingParticles() { const container document.querySelector(.floating-particles); setInterval(() > { const particle document.createElement(div); particle.className particle; particle.style.cssText ` width: ${Math.random() * 8 + 4}px; height: ${Math.random() * 8 + 4}px; left: ${Math.random() * 100}%; top: ${Math.random() * 100}%; animation-delay: ${Math.random() * 6}s; `; container.appendChild(particle); setTimeout(() > { particle.remove(); }, 6000); }, 2000); } createFloatingParticles(); // Añadir estilos para animaciones const style document.createElement(style); style.textContent ` @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } `; document.head.appendChild(style); /script>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Wed, 03 Dec 2025 18:32:13 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareLast-Modified: Tue, 01 Jul 2025 05:25:36 GMTAccept-Ranges: bytesNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?saI2RhyLx9WUXNRhOt3%2B0ss4nTTDjGMCEqdp6FbhuapgBgy7qcNAjHpP81w7Ot2xXQv30MiadMo4QAkbCXTL3KD%2FqxCzUT8bqVswKrNYUAzs%2BFdEXwUO1tYM%3D}}cf-cache-status: DYNAMICCF-RAY: 9a852538aac5503f-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langes>head> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>NeuroMusic AI - Generador de Música/title> style> * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: Segoe UI, Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); min-height: 100vh; overflow-x: hidden; } .container { max-width: 1400px; margin: 0 auto; padding: 20px; } .header { text-align: center; margin-bottom: 40px; animation: fadeInDown 1s ease-out; } .logo { font-size: 3.5rem; font-weight: 800; color: white; text-shadow: 0 4px 20px rgba(0,0,0,0.3); margin-bottom: 10px; } .subtitle { font-size: 1.2rem; color: rgba(255,255,255,0.9); margin-bottom: 30px; } .main-grid { display: grid; grid-template-columns: 1fr 2fr 1fr; gap: 30px; margin-bottom: 40px; } .card { background: rgba(255,255,255,0.15); backdrop-filter: blur(20px); border-radius: 20px; padding: 30px; border: 1px solid rgba(255,255,255,0.2); box-shadow: 0 15px 35px rgba(0,0,0,0.1); transition: all 0.3s ease; animation: fadeInUp 1s ease-out; } .card:hover { transform: translateY(-10px); box-shadow: 0 25px 50px rgba(0,0,0,0.2); } .card-title { font-size: 1.4rem; font-weight: 700; color: white; margin-bottom: 20px; display: flex; align-items: center; gap: 10px; } .control-center { text-align: center; } .generate-btn { background: linear-gradient(45deg, #ff6b6b, #ff8e53); border: none; color: white; font-size: 1.1rem; font-weight: 600; padding: 20px 40px; border-radius: 50px; cursor: pointer; transition: all 0.3s ease; box-shadow: 0 10px 30px rgba(255,107,107,0.4); margin-bottom: 30px; position: relative; overflow: hidden; } .generate-btn:hover { transform: translateY(-3px); box-shadow: 0 15px 40px rgba(255,107,107,0.6); } .generate-btn:active { transform: scale(0.95); } .generate-btn::before { content: ; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: left 0.5s; } .generate-btn:hover::before { left: 100%; } .progress-container { width: 100%; height: 8px; background: rgba(255,255,255,0.2); border-radius: 10px; margin: 20px 0; overflow: hidden; } .progress-bar { height: 100%; background: linear-gradient(90deg, #4facfe, #00f2fe); border-radius: 10px; width: 0%; transition: width 0.3s ease; animation: shimmer 2s infinite; } @keyframes shimmer { 0% { background-position: -200px 0; } 100% { background-position: 200px 0; } } .status-text { color: white; font-size: 1rem; margin: 10px 0; opacity: 0.8; } .waveform { height: 100px; background: rgba(255,255,255,0.1); border-radius: 10px; margin: 20px 0; display: flex; align-items: end; justify-content: center; gap: 2px; padding: 10px; } .wave-bar { width: 4px; background: linear-gradient(to top, #ff6b6b, #4ecdc4); border-radius: 2px; animation: wave 1.5s ease-in-out infinite; } .wave-bar:nth-child(odd) { animation-delay: 0.1s; } .wave-bar:nth-child(even) { animation-delay: 0.2s; } @keyframes wave { 0%, 100% { height: 10px; } 50% { height: 60px; } } .parameter-group { margin-bottom: 25px; } .parameter-label { color: white; font-size: 0.9rem; margin-bottom: 8px; display: block; } .slider { width: 100%; height: 6px; border-radius: 5px; background: rgba(255,255,255,0.2); outline: none; appearance: none; cursor: pointer; } .slider::-webkit-slider-thumb { appearance: none; width: 20px; height: 20px; border-radius: 50%; background: #ff6b6b; cursor: pointer; box-shadow: 0 2px 10px rgba(255,107,107,0.5); } .slider::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: #ff6b6b; cursor: pointer; border: none; box-shadow: 0 2px 10px rgba(255,107,107,0.5); } .value-display { color: #4ecdc4; font-weight: 600; font-size: 0.9rem; } .audio-player { background: rgba(0,0,0,0.3); border-radius: 15px; padding: 20px; margin: 20px 0; } .play-btn { background: linear-gradient(45deg, #4ecdc4, #44a08d); border: none; color: white; width: 60px; height: 60px; border-radius: 50%; cursor: pointer; display: flex; align-items: center; justify-content: center; margin: 0 auto 15px; transition: all 0.3s ease; box-shadow: 0 8px 25px rgba(78,205,196,0.4); } .play-btn:hover { transform: scale(1.1); box-shadow: 0 12px 35px rgba(78,205,196,0.6); } .download-btn { background: linear-gradient(45deg, #667eea, #764ba2); border: none; color: white; padding: 12px 25px; border-radius: 25px; cursor: pointer; font-size: 0.9rem; margin: 10px 5px; transition: all 0.3s ease; } .download-btn:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(102,126,234,0.4); } .visualizer { height: 200px; background: linear-gradient(45deg, rgba(255,107,107,0.1), rgba(78,205,196,0.1)); border-radius: 15px; margin: 20px 0; display: flex; align-items: center; justify-content: center; position: relative; overflow: hidden; } .visualizer::before { content: ; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: radial-gradient(circle at center, rgba(255,255,255,0.1) 0%, transparent 70%); animation: pulse 3s ease-in-out infinite; } @keyframes pulse { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.8; } } .neural-network { display: flex; align-items: center; justify-content: space-between; height: 100%; padding: 20px; } .layer { display: flex; flex-direction: column; gap: 15px; } .neuron { width: 12px; height: 12px; background: #4ecdc4; border-radius: 50%; animation: neuronPulse 2s ease-in-out infinite; box-shadow: 0 0 10px rgba(78,205,196,0.5); } .neuron:nth-child(odd) { animation-delay: 0.3s; } @keyframes neuronPulse { 0%, 100% { opacity: 0.4; transform: scale(1); } 50% { opacity: 1; transform: scale(1.2); } } .connection { height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); flex: 1; margin: 0 10px; animation: dataFlow 3s linear infinite; } @keyframes dataFlow { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 0; } } .genre-selector { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-bottom: 20px; } .genre-btn { background: rgba(255,255,255,0.1); border: 1px solid rgba(255,255,255,0.2); color: white; padding: 12px; border-radius: 10px; cursor: pointer; transition: all 0.3s ease; text-align: center; font-size: 0.9rem; } .genre-btn:hover, .genre-btn.active { background: linear-gradient(45deg, #ff6b6b, #ff8e53); border-color: transparent; transform: translateY(-2px); } .bottom-section { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; margin-top: 40px; } @keyframes fadeInDown { from { opacity: 0; transform: translateY(-30px); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(30px); } to { opacity: 1; transform: translateY(0); } } @media (max-width: 768px) { .main-grid { grid-template-columns: 1fr; } .logo { font-size: 2.5rem; } .card { padding: 20px; } } .floating-particles { position: fixed; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1; } .particle { position: absolute; background: rgba(255,255,255,0.1); border-radius: 50%; animation: float 6s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-20px) rotate(180deg); } } /style>/head>body> div classfloating-particles> div classparticle stylewidth: 6px; height: 6px; left: 10%; top: 20%; animation-delay: 0s;>/div> div classparticle stylewidth: 8px; height: 8px; left: 20%; top: 80%; animation-delay: 1s;>/div> div classparticle stylewidth: 4px; height: 4px; left: 80%; top: 40%; animation-delay: 2s;>/div> div classparticle stylewidth: 10px; height: 10px; left: 90%; top: 70%; animation-delay: 3s;>/div> div classparticle stylewidth: 5px; height: 5px; left: 50%; top: 10%; animation-delay: 4s;>/div> /div> div classcontainer> div classheader> div classlogo>🎵 NeuroMusic AI/div> div classsubtitle>Generador de Música Inteligente con Redes Neuronales/div> /div> div classmain-grid> !-- Panel de Control --> div classcard> div classcard-title> 🎛️ Controles /div> div classgenre-selector> div classgenre-btn active onclickselectGenre(this, classical)>🎼 Clásica/div> div classgenre-btn onclickselectGenre(this, electronic)>🎹 Electrónica/div> div classgenre-btn onclickselectGenre(this, ambient)>🌙 Ambient/div> div classgenre-btn onclickselectGenre(this, jazz)>🎷 Jazz/div> /div> div classparameter-group> label classparameter-label>Duración: span classvalue-display iddurationValue>30s/span>/label> input typerange classslider min10 max120 value30 idduration oninputupdateValue(duration, this.value + s)> /div> div classparameter-group> label classparameter-label>Complejidad: span classvalue-display idcomplexityValue>Medium/span>/label> input typerange classslider min1 max5 value3 idcomplexity oninputupdateComplexity(this.value)> /div> div classparameter-group> label classparameter-label>Tempo: span classvalue-display idtempoValue>120 BPM/span>/label> input typerange classslider min60 max180 value120 idtempo oninputupdateValue(tempo, this.value + BPM)> /div> div classparameter-group> label classparameter-label>Creatividad: span classvalue-display idcreativityValue>70%/span>/label> input typerange classslider min0 max100 value70 idcreativity oninputupdateValue(creativity, this.value + %)> /div> /div> !-- Centro de Generación --> div classcard control-center> div classcard-title> 🧠 Centro de Generación /div> button classgenerate-btn onclickgenerateMusic()> ✨ Generar Música /button> div classprogress-container> div classprogress-bar idprogressBar>/div> /div> div classstatus-text idstatusText>Listo para generar/div> div classvisualizer> div classneural-network> div classlayer> div classneuron>/div> div classneuron>/div> div classneuron>/div> div classneuron>/div> /div> div classconnection>/div> div classlayer> div classneuron>/div> div classneuron>/div> div classneuron>/div> div classneuron>/div> div classneuron>/div> div classneuron>/div> /div> div classconnection>/div> div classlayer> div classneuron>/div> div classneuron>/div> div classneuron>/div> /div> /div> /div> div classwaveform idwaveform> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> div classwave-bar>/div> /div> /div> !-- Panel de Resultados --> div classcard> div classcard-title> 🎧 Reproductor /div> div classaudio-player> button classplay-btn onclicktogglePlay()> span idplayIcon>▶️/span> /button> div styletext-align: center; color: white; font-size: 0.9rem;> Música Generada /div> /div> div styletext-align: center;> button classdownload-btn onclickdownloadFile(wav)>📥 WAV/button> button classdownload-btn onclickdownloadFile(mp3)>📥 MP3/button> button classdownload-btn onclickdownloadFile(midi)>📥 MIDI/button> /div> div classparameter-group stylemargin-top: 25px;> label classparameter-label>Historial de Generaciones/label> div stylemax-height: 150px; overflow-y: auto;> div stylebackground: rgba(255,255,255,0.1); padding: 10px; border-radius: 8px; margin: 5px 0; font-size: 0.8rem; color: white;> 🎵 Clásica - 30s - Hace 2 min /div> div stylebackground: rgba(255,255,255,0.1); padding: 10px; border-radius: 8px; margin: 5px 0; font-size: 0.8rem; color: white;> 🎹 Electrónica - 45s - Hace 5 min /div> div stylebackground: rgba(255,255,255,0.1); padding: 10px; border-radius: 8px; margin: 5px 0; font-size: 0.8rem; color: white;> 🌙 Ambient - 60s - Hace 10 min /div> /div> /div> /div> /div> div classbottom-section> !-- Análisis de la Música --> div classcard> div classcard-title> 📊 Análisis Musical /div> div styledisplay: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; color: white;> div> div stylefont-size: 0.8rem; opacity: 0.8;>Tonalidad/div> div stylefont-size: 1.1rem; font-weight: 600; color: #4ecdc4;>C Mayor/div> /div> div> div stylefont-size: 0.8rem; opacity: 0.8;>Escalas Usadas/div> div stylefont-size: 1.1rem; font-weight: 600; color: #4ecdc4;>Pentatónica/div> /div> div> div stylefont-size: 0.8rem; opacity: 0.8;>Acordes/div> div stylefont-size: 1.1rem; font-weight: 600; color: #4ecdc4;>C-Am-F-G/div> /div> div> div stylefont-size: 0.8rem; opacity: 0.8;>Estructura/div> div stylefont-size: 1.1rem; font-weight: 600; color: #4ecdc4;>ABA/div> /div> /div> /div> !-- Estadísticas del Modelo --> div classcard> div classcard-title> 🤖 Estado del Modelo /div> div stylecolor: white;> div stylemargin-bottom: 15px;> div stylefont-size: 0.9rem; margin-bottom: 5px;>Precisión del Modelo/div> div classprogress-container> div classprogress-bar stylewidth: 87%;>/div> /div> div styletext-align: right; font-size: 0.8rem; color: #4ecdc4;>87%/div> /div> div stylemargin-bottom: 15px;> div stylefont-size: 0.9rem; margin-bottom: 5px;>Creatividad/div> div classprogress-container> div classprogress-bar stylewidth: 92%;>/div> /div> div styletext-align: right; font-size: 0.8rem; color: #4ecdc4;>92%/div> /div> div styledisplay: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; font-size: 0.8rem;> div>Épocas: span stylecolor: #4ecdc4;>150/span>/div> div>Loss: span stylecolor: #4ecdc4;>0.023/span>/div> div>Tiempo: span stylecolor: #4ecdc4;>2.3s/span>/div> div>GPU: span stylecolor: #4ecdc4;>Activada/span>/div> /div> /div> /div> /div> /div> script> let isPlaying false; let currentGenre classical; function selectGenre(element, genre) { document.querySelectorAll(.genre-btn).forEach(btn > btn.classList.remove(active)); element.classList.add(active); currentGenre genre; } function updateValue(elementId, value) { document.getElementById(elementId + Value).textContent value; } function updateComplexity(value) { const levels Muy Simple, Simple, Medium, Complejo, Muy Complejo; document.getElementById(complexityValue).textContent levelsvalue - 1; } function generateMusic() { const progressBar document.getElementById(progressBar); const statusText document.getElementById(statusText); const generateBtn document.querySelector(.generate-btn); generateBtn.style.pointerEvents none; generateBtn.style.opacity 0.7; const steps Inicializando red neuronal..., Cargando parámetros..., Generando secuencias..., Procesando audio..., Optimizando calidad..., ¡Música lista! ; let currentStep 0; const interval setInterval(() > { if (currentStep steps.length) { statusText.textContent stepscurrentStep; progressBar.style.width ((currentStep + 1) / steps.length) * 100 + %; currentStep++; } else { clearInterval(interval); generateBtn.style.pointerEvents auto; generateBtn.style.opacity 1; showSuccessNotification(); } }, 800); } function togglePlay() { const playIcon document.getElementById(playIcon); isPlaying !isPlaying; playIcon.textContent isPlaying ? ⏸️ : ▶️; if (isPlaying) { animateWaveform(); } } function animateWaveform() { const waveBars document.querySelectorAll(.wave-bar); if (isPlaying) { waveBars.forEach((bar, index) > { const height Math.random() * 60 + 10; bar.style.height height + px; }); setTimeout(animateWaveform, 150); } } function downloadFile(format) { showDownloadNotification(format); } function showSuccessNotification() { const notification document.createElement(div); notification.style.cssText ` position: fixed; top: 20px; right: 20px; background: linear-gradient(45deg, #4ecdc4, #44a08d); color: white; padding: 15px 25px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); z-index: 1000; animation: slideIn 0.5s ease-out; `; notification.textContent ✅ ¡Música generada exitosamente!; document.body.appendChild(notification); setTimeout(() > { notification.remove(); }, 3000); } function showDownloadNotification(format) { const notification document.createElement(div); notification.style.cssText ` position: fixed; top: 20px; right: 20px; background: linear-gradient(45deg, #667eea, #764ba2); color: white; padding: 15px 25px; border-radius: 10px; box-shadow: 0 10px 30px rgba(0,0,0,0.3); z-index: 1000; animation: slideIn 0.5s ease-out; `; notification.textContent `📥 Descargando archivo ${format.toUpperCase()}...`; document.body.appendChild(notification); setTimeout(() > { notification.remove(); }, 3000); } // Crear más partículas flotantes dinámicamente function createFloatingParticles() { const container document.querySelector(.floating-particles); setInterval(() > { const particle document.createElement(div); particle.className particle; particle.style.cssText ` width: ${Math.random() * 8 + 4}px; height: ${Math.random() * 8 + 4}px; left: ${Math.random() * 100}%; top: ${Math.random() * 100}%; animation-delay: ${Math.random() * 6}s; `; container.appendChild(particle); setTimeout(() > { particle.remove(); }, 6000); }, 2000); } createFloatingParticles(); // Añadir estilos para animaciones const style document.createElement(style); style.textContent ` @keyframes slideIn { from { transform: translateX(100%); opacity: 0; } to { transform: translateX(0); opacity: 1; } } `; document.head.appendChild(style); /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]