Skip to content

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎵daaaaniel - Music Player

HTML5 CSS3 JavaScript MIT License


📝 Descripción del Proyecto

Este proyecto implementa un reproductor de música web moderno e interactivo con características avanzadas que rivalizan con aplicaciones profesionales como Spotify y Apple Music. Desarrollado con HTML5, CSS3 y JavaScript ES6+, la aplicación ofrece una experiencia de usuario premium con sincronización de letras, efectos de audio, temas visuales y controles avanzados.

✨ Características Principales

  • 🎵 Reproducción de Audio: Soporte completo para archivos MP3 con controles avanzados
  • 📝 Letras Sincronizadas: Visualización de letras en tiempo real con sincronización perfecta
  • 🎬 Videos de Fondo: Videos de fondo dinámicos que cambian con cada canción
  • 🎨 Temas Visuales: 4 temas diferentes (Default, Dark, Neon, Sunset)
  • 🎛️ Efectos de Audio: Reverb, Bass Boost y Treble en tiempo real
  • ✨ Efectos Visuales: Partículas animadas y waveform de audio
  • ⌨️ Atajos de Teclado: Control completo desde el teclado
  • 📱 Diseño Responsive: Adaptable a todos los dispositivos

🚀 Funcionalidades Implementadas

Core Features

  • ✅ Reproducción de múltiples formatos de audio
  • ✅ Sincronización perfecta de letras con timestamps
  • ✅ Videos de fondo dinámicos por canción
  • ✅ Controles de reproducción avanzados (play, pause, next, prev)
  • ✅ Control de volumen y velocidad de reproducción
  • ✅ Modos de repetición (none, one, all) y shuffle

Advanced Features

  • Sistema de Temas: 4 temas visuales completamente personalizables
  • Efectos de Audio Profesionales: Web Audio API para efectos en tiempo real
  • Sistema de Partículas: Efectos visuales animados
  • Waveform en Tiempo Real: Visualización del audio que se mueve con la música
  • Atajos de Teclado: Control completo desde el teclado
  • Persistencia de Configuración: Las configuraciones se guardan automáticamente
  • Modal de Configuración Épico: Interfaz completa de personalización

🔧 Tecnologías Utilizadas

Frontend

  • HTML5: Estructura semántica y moderna
  • CSS3:
    • Grid y Flexbox para layouts complejos
    • Variables CSS (Custom Properties)
    • Animaciones y transiciones avanzadas
    • Diseño responsive con media queries
    • Efectos visuales y gradientes
  • JavaScript ES6+:
    • Web Audio API para efectos de audio
    • Canvas API para visualizaciones
    • LocalStorage para persistencia
    • Event handling avanzado
    • DOM manipulation moderna

Herramientas de Desarrollo

  • Git y GitHub: Control de versiones y despliegue
  • Font Awesome: Iconografía moderna
  • Google Fonts: Tipografía Poppins

🗂️ Estructura del Proyecto

arutia-music/
│
├── 📄 index.html          # Archivo HTML principal
├── 📁 style.css           # Estilos CSS modernos y responsivos
├── 📁 script.js           # Lógica JavaScript completa
├── 📁 audio/              # Archivos de audio MP3
├── 📁 videos/             # Videos de fondo MP4
├── 📄 README.md           # Documentación en español
├── 📄 README_EN.md        # Documentación en inglés
└── 📄 LICENSE             # Licencia MIT

🎮 Cómo Usar la Aplicación

Reproducción Básica

  1. Haz clic en "Enter Music World" para comenzar
  2. Selecciona una canción de la biblioteca
  3. Usa los controles de reproducción (play, pause, next, prev)
  4. Ajusta el volumen y velocidad según prefieras

Funciones Avanzadas

  • 📝 Letras: Toggle el botón de ojo para mostrar/ocultar letras
  • 🎨 Temas: Abre configuración para cambiar el tema visual
  • 🎛️ Efectos: Ajusta reverb, bass y treble en tiempo real
  • ✨ Visuales: Activa partículas y waveform para efectos épicos

Atajos de Teclado

  • Space: Play/Pause
  • ←/→: Anterior/Siguiente canción
  • ↑/↓: Subir/Bajar volumen
  • L: Mostrar/Ocultar letras
  • M: Mute/Unmute

🎨 Diseño y UX

Paleta de Colores

  • Primario: #e94560 (Rosa vibrante)
  • Secundario: #533483 (Púrpura)
  • Acento: #16213e (Azul oscuro)
  • Fondo: Gradientes dinámicos por tema

Características de Diseño

  • 🎯 Glassmorphism: Efectos de cristal y transparencias
  • 🎨 Animaciones Suaves: Transiciones de 0.3s en todos los elementos
  • 📱 Responsive Design: Layout adaptativo con CSS Grid y Flexbox
  • 🎭 Efectos Hover: Interacciones visuales avanzadas
  • ♿ Accesibilidad: Contraste adecuado y navegación por teclado

💻 Arquitectura del Código

Estructura Principal

// App State Management
let currentSongIndex = 0;
let isPlaying = false;
let settings = {
    theme: 'default',
    audioEffects: { reverb: 0, bass: 0, treble: 50 },
    visualEffects: { particles: false, waveform: false, blur: true },
    playback: { autoplay: true, crossfade: false, lyricsAuto: true }
};

// Core Functions
- init()                    // Inicialización completa
- loadSong()               // Carga de canciones
- playTrack()              // Reproducción
- renderLyrics()           // Renderizado de letras
- applySettings()          // Aplicación de configuraciones

Características del Código

  • 🔧 Modular: Código organizado en funciones específicas
  • 🛡️ Robusto: Manejo completo de errores y estados
  • ⚡ Eficiente: Optimizado para performance
  • 📖 Legible: Comentarios detallados y nombres descriptivos
  • 🔄 Mantenible: Estructura clara y extensible

🎵 Biblioteca de Canciones

El reproductor incluye una colección diversa de canciones con letras sincronizadas:

  1. Bandida - C.R.O (Bardero)
  2. Hotel - Montel Fish (÷ Divide)
  3. One of the Girls - The Weeknd (The Highlights)
  4. SleepMode - Bones (TSoftwareUpdate1.0)
  5. Let Go - Ark Patrol (Soundcloud EPs)
  6. I Wanna Be Yours - Arctic Monkeys (AM)
  7. Coffee for Your Head - Powfu feat. beabadoobee
  8. Ginseng Strip 2002 - Yung Lean

👨‍💻 Autor del Proyecto

Nombre Info
🧑 Daniel Santiago Estudiante de Campuslands
🎓 Formación Desarrollo Web Full Stack
💻 Enfoque JavaScript, React, Node.js
📍 Ubicación Piedecuesta, Santander - Colombia

🧪 CÓDIGO DESTACADO

CSS Moderno con Variables

:root {
    --primary-color: #e94560;
    --secondary-color: #533483;
    --accent-color: #16213e;
    --shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
    --transition: all 0.3s ease;
}

.music-player-box {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
    border-radius: 20px;
    box-shadow: var(--shadow);
    backdrop-filter: blur(10px);
}

JavaScript Avanzado

function applyAudioEffects() {
    if (!audioContext || !reverbNode || !bassNode || !trebleNode) {
        return;
    }
    
    try {
        reverbNode.gain.value = settings.audioEffects.reverb / 100;
        bassNode.frequency.value = 100 + (settings.audioEffects.bass * 2);
        trebleNode.frequency.value = 2000 + (settings.audioEffects.treble * 20);
    } catch (error) {
        console.log('Error applying audio effects:', error);
    }
}

💬 Conclusión

Este proyecto representa la evolución del desarrollo web frontend hacia aplicaciones de nivel profesional. La implementación de un reproductor de música con características avanzadas como sincronización de letras, efectos de audio en tiempo real y visualizaciones dinámicas demuestra el potencial de las tecnologías web modernas para crear experiencias de usuario premium.

Logros Técnicos

  • Arquitectura Sólida: Código bien estructurado y mantenible
  • UX Premium: Interfaz profesional y visualmente atractiva
  • Performance Optimizada: Reproducción fluida y efectos en tiempo real
  • Responsive Design: Funciona perfectamente en todos los dispositivos
  • Características Avanzadas: Efectos de audio, visualizaciones y temas

Aprendizajes Clave

  • Web Audio API para efectos de audio profesionales
  • Canvas API para visualizaciones en tiempo real
  • Gestión avanzada de estado en aplicaciones web
  • Implementación de efectos visuales complejos
  • Sincronización de contenido multimedia
  • Persistencia de datos con LocalStorage

El proyecto no solo cumple con los requisitos funcionales de un reproductor de música, sino que también establece un estándar de calidad en términos de diseño, usabilidad y experiencia de usuario, rivalizando con aplicaciones comerciales del mercado.


🎯 Entregable Final

Repositorio: GitHub – daaaaaniel Music Player
Despliegue: GitHub Pages – daaaaaniel Music


📞 Contacto y Redes

📱 Contacto Directo

🌐 Redes Sociales


🎵 Ambiente de Trabajo


💭 Filosofía Personal

"La música y el código son el mismo lenguaje universal. Ambos crean experiencias que conectan con las emociones humanas y transforman la forma en que interactuamos con la tecnología." - Daniel Santiago


✨ Características Destacadas del Proyecto

✔️ 🎵 Reproducción Profesional: Controles avanzados y efectos de audio
✔️ 📝 Letras Sincronizadas: Visualización perfecta con timestamps
✔️ 🎬 Videos Dinámicos: Fondo que cambia con cada canción
✔️ 🎨 4 Temas Visuales: Personalización completa de la interfaz
✔️ 🎛️ Efectos de Audio: Reverb, Bass y Treble en tiempo real
✔️ ✨ Efectos Visuales: Partículas y waveform animados
✔️ ⌨️ Atajos de Teclado: Control completo desde el teclado
✔️ 💾 Persistencia: Configuraciones guardadas automáticamente
✔️ 📱 100% Responsive: Optimizado para todos los dispositivos
✔️ 🚀 Performance: Código optimizado y reproducción fluida


📄 Licencia

Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.


🌍 Documentación en Otros Idiomas


Desarrollado con ❤️ por Daniel Santiago Vinasco
🔥 Visita mi GitHub 🚀

About

🎵 Daaaaniel Music - Modern Web Music Player A sleek, modern web-based music player application featuring a stunning dark purple gradient theme with glassmorphism effects ✨. The app includes a welcome screen with animated logo 🎯, a comprehensive music library with search functionality 🔍, detailed song pages with album artwork 🖼️.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages