An advanced custom visual for Power BI that transforms your workspace into a professional music studio with real-time audio visualization.
- Multi-track playlist with shuffle/repeat functionality
- Advanced audio processing with bass, treble, and reverb controls
- Real-time beat detection with visual feedback
- Progress tracking with seek functionality
- Keyboard shortcuts for full control
- 5 Professional Themes: Neon, Cyberpunk, Retro 80s, Nature, Fire
- Dynamic theme transitions based on music mood and energy
- Audio-reactive backgrounds with breathing effects
- Customizable color palettes for each visualization
- ๐ Frequency Bars - Classic equalizer bars
- โญ Circular - Radial frequency display
- ใฐ๏ธ Waveform - Real-time waveform visualization
- ๐ Spectrum - Full spectrum analysis
- ๐ Galaxy Spiral - Cosmic visualization effects
- ๐ Matrix Rain - Digital matrix-style display
- ๐ VU Meters - Professional VU meter display
- ๐ Liquid Wave - Fluid wave animations
- Beat Detection with screen flash synchronization
- Audio Waterfall - Cascading frequency visualization
- Smart Particle Explosions - Beat-triggered particle effects
- Interactive Elements - Mouse/touch responsive effects
- Music Analysis - BPM detection, tempo, mood, and energy analysis
- Background Effects - Audio-reactive gradients and patterns
- Power BI Desktop (latest version)
- Node.js (version 18 or higher)
- PowerBI-Visuals-Tools CLI
-
Clone this repository:
git clone https://github.com/dax-tips/powerbi-music-player.git cd powerbi-music-player -
Install dependencies:
npm install
-
Build the visual:
npm run package
-
Import the
.pbivizfile into Power BI Desktop
- Play/Pause: Space bar or click the play button
- Volume: Mouse wheel or volume slider
- Skip: Arrow keys (โโ) or skip buttons
- Themes: Dropdown selector or 'T' key
- Visualizations: Style dropdown or number keys (1-8)
| Key | Action |
|---|---|
SPACE |
Play/Pause |
โ / โ |
Skip 10 seconds |
โ / โ |
Volume control |
F |
Toggle fullscreen |
1-8 |
Switch visualizations |
T |
Cycle themes |
P |
Toggle particles |
S |
Toggle shuffle |
R |
Toggle repeat |
N / B |
Next/Previous track |
H |
Toggle help |
ESC |
Exit fullscreen |
- Beat Detection: Automatically detects beats and triggers visual effects
- Music Analysis: Real-time BPM, tempo, energy, and mood detection
- Interactive Mode: Click and drag for ripple effects
- Particle System: Audio-reactive particle explosions
- Theme Transitions: Automatic theme changes based on music energy
powerbi-music-player/
โโโ src/
โ โโโ visual.ts # Main visual implementation
โ โโโ settings.ts # Power BI settings configuration
โโโ style/
โ โโโ visual.less # Styling and themes
โโโ assets/
โ โโโ icon.png # Visual icon
โโโ capabilities.json # Power BI capabilities definition
โโโ pbiviz.json # Visual metadata
โโโ package.json # Dependencies and scripts
โโโ tsconfig.json # TypeScript configuration
- Open
src/visual.ts - Find the
initializeThemes()method - Add your new theme following the existing pattern:
this.themes.set('custom', {
name: 'Custom Theme',
colors: {
primary: '#your-primary-color',
secondary: '#your-secondary-color',
accent: '#your-accent-color',
background: 'linear-gradient(45deg, #color1, #color2)',
text: '#ffffff',
glow: '#your-glow-color'
},
particleColors: ['#color1', '#color2', '#color3']
});- Create a new visualization method in
src/visual.ts - Add it to the visualization switch in
drawVisualization() - Update the style dropdown in
initializeMusicStudio()
npm run start- Start development servernpm run package- Build production packagenpm run lint- Run ESLint
The development server runs on https://localhost:8080/ with hot reload enabled.
- Audio Files: Supports MP3, WAV, OGG, M4A, FLAC
- Browser: Modern browser with Web Audio API support
- Power BI: Power BI Desktop or Power BI Service
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit your changes:
git commit -am 'Add new feature' - Push to the branch:
git push origin feature-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Spotify/Apple Music integration
- Cloud playlist synchronization
- Advanced DSP effects (EQ, compressor, limiter)
- Custom visualization scripting
- Export visualizations as video
- MIDI controller support
- Real-time collaboration features
- Large audio files may cause memory usage spikes
- Some visualization effects may reduce performance on older hardware
- Beat detection accuracy varies with music genre
For questions, bug reports, or feature requests:
- Create an issue in this repository
- Contact the DAX Tips team
- Check the Power BI Community
- Built with the Power BI Visuals SDK
- Uses Web Audio API for real-time analysis
- Inspired by professional music production software
- Special thanks to the Power BI developer community
Made with โค๏ธ by the DAX Tips Team
Transform your Power BI dashboards into an immersive music experience!