Advanced Features
Ready to become an Aurras power user? This guide covers the advanced features that make Aurras a truly powerful terminal music player.
Smart Playlists
Auto-Generated Playlists
# Create playlist based on listening history
aurras --smart-playlist "Recently Played" --criteria "last_played < 7days"
# Genre-based smart playlists
aurras --smart-playlist "Electronic Mix" --criteria "genre=electronic" --limit 50
# Rating-based playlists
aurras --smart-playlist "Top Rated" --criteria "rating >= 4" --sort "rating desc"
# Discovery playlist (least played tracks)
aurras --smart-playlist "Rediscover" --criteria "play_count < 3" --shuffle
Advanced Playlist Criteria
# Complex queries
aurras --smart-playlist "Chill Evening" \
--criteria "genre in [ambient,chillout,downtempo] and energy < 0.6" \
--duration "60min"
# Date-based playlists
aurras --smart-playlist "This Month's Additions" \
--criteria "date_added > 30days_ago"
# Collaborative filtering
aurras --smart-playlist "Similar to Current" \
--criteria "similar_to_current" --limit 20
Audio Processing & Effects
Real-time Audio Effects
# Enable equalizer with custom settings
aurras --eq-preset rock
# Custom equalizer
aurras --eq "60:+3,230:+1,910:-2,4k:+2,14k:+1"
# Audio effects
aurras --reverb 0.3 --chorus 0.2 --bass-boost +3db
# Dynamic range compression
aurras --compressor --threshold -18db --ratio 3:1
Audio Analysis
# Real-time spectrum analysis
aurras --spectrum-analyzer --style waterfall
# Audio fingerprinting
aurras --fingerprint /path/to/music/ --output fingerprints.db
# Loudness analysis (ReplayGain)
aurras --analyze-loudness --apply-replaygain /path/to/music/
Library Management
Advanced Scanning
# Deep scan with metadata enhancement
aurras --deep-scan ~/Music/ --enhance-metadata --fetch-artwork
# Duplicate detection
aurras --find-duplicates --algorithm acoustic --threshold 0.85
# Library cleanup
aurras --cleanup --remove-missing --fix-tags --optimize-database
Metadata Management
# Batch tag editing
aurras --edit-tags --artist "New Artist" --filter "album='Old Album'"
# Auto-tagging from filename
aurras --auto-tag --pattern "{artist} - {album} - {track:02d} - {title}"
# Fetch missing metadata
aurras --fetch-metadata --source musicbrainz,lastfm --missing-only
Advanced Playback Features
Gapless Playback & Crossfading
# Gapless playback for albums
aurras --gapless --album ~/Music/Pink\ Floyd/Dark\ Side\ of\ the\ Moon/
# Smart crossfading
aurras --crossfade auto --crossfade-analysis
# Custom fade profiles
aurras --fade-in 2s --fade-out 3s --crossfade 4s
Audio Enhancement
# Upsampling for high-quality DACs
aurras --upsample 192khz --dither --noise-shaping
# Stereo enhancement
aurras --stereo-width 1.2 --bass-management --room-correction
# Bit-perfect playback
aurras --bit-perfect --exclusive-mode --direct-mode
Automation & Scripting
Command-line Automation
# Scheduled playback
aurras --schedule "07:00" --playlist "Morning Energizer" --fade-in 30s
# Event-based actions
aurras --on-track-change "notify-send 'Now Playing: %title%'"
# Conditional playback
aurras --if "time > 22:00" --volume-limit 30 --eq-preset night
API Integration
# HTTP API server
aurras --api-server --port 8080 --auth-token your_token
# WebSocket for real-time updates
aurras --websocket --port 8081
# MIDI controller support
aurras --midi-controller --device "Launch Control XL"
Scripting Examples
Python API:
import aurras
# Connect to running instance
player = aurras.connect()
# Smart queue management
if player.queue_length() < 5:
similar_tracks = player.find_similar(player.current_track())
player.add_to_queue(similar_tracks[:3])
# Mood-based playlist
current_mood = analyze_listening_pattern()
playlist = player.generate_playlist(mood=current_mood, duration=60)
player.play_playlist(playlist)
Shell Integration:
# Function to play music based on current activity
play_music_for_activity() {
case "$1" in
"work")
aurras --smart-playlist "Focus" --criteria "energy < 0.7 and valence > 0.3"
;;
"gym")
aurras --smart-playlist "Workout" --criteria "bpm > 120 and energy > 0.8"
;;
"sleep")
aurras --smart-playlist "Sleep" --criteria "genre=ambient and energy < 0.3" --fade-out 30min
;;
esac
}
Advanced Audio Formats
High-Resolution Audio
# DSD support
aurras --dsd-playback --dsd-over-pcm /path/to/file.dff
# MQA unfolding
aurras --mqa-unfold --mqa-passthrough /path/to/file.mqa.flac
# Multi-channel audio
aurras --channels 5.1 --surround-mode /path/to/multichannel.flac
Network Streaming
# Network audio sources
aurras --add-source "smb://nas/music" --cache-locally
# Streaming protocols
aurras --stream-server --protocol upnp --port 1900
# Remote control
aurras --remote-control --allow-host 192.168.1.0/24
Performance Optimization
Memory Management
# Memory optimization for large libraries
aurras --memory-limit 512mb --lazy-loading --cache-strategy lru
# Database optimization
aurras --optimize-db --vacuum --reindex --compress
CPU Optimization
# Multi-threading configuration
aurras --audio-threads 2 --io-threads 4 --ui-threads 1
# CPU-specific optimizations
aurras --cpu-optimizations avx2,sse4 --audio-priority high
Integration Features
Desktop Integration
# System tray integration
aurras --system-tray --minimize-to-tray
# Global hotkeys
aurras --global-hotkeys --media-keys --custom-keys "ctrl+alt+p:play_pause"
# Notification system
aurras --notifications --notification-style "native" --artwork-in-notifications
Cloud Services
# Sync playlists across devices
aurras --sync-service dropbox --sync-playlists --sync-settings
# Scrobbling
aurras --scrobble last.fm,libre.fm --scrobble-threshold 50%
# Cloud storage
aurras --cloud-cache s3://bucket/aurras-cache/ --sync-interval 1h
Advanced Configuration
Profile System
# Create profiles for different use cases
aurras --create-profile audiophile --config-file ~/.config/aurras/audiophile.toml
aurras --create-profile party --config-file ~/.config/aurras/party.toml
# Switch profiles
aurras --profile audiophile
Plugin System
# Load plugins
aurras --plugin visualizer-plugin --plugin spotify-plugin
# Plugin management
aurras --list-plugins --install-plugin awesome-plugin --update-plugins
Power User Workflows
DJ Mode
# DJ-style controls
aurras --dj-mode --crossfader --cue-points --loop-mode
# Beat matching
aurras --beat-sync --auto-mix --transition-detection
# Live mixing
aurras --live-mix --input-source microphone --record-session
Audio Production Integration
# JACK audio server integration
aurras --jack-output --jack-transport-sync
# VST plugin support
aurras --vst-plugins ~/vst/ --plugin-chain "compressor,reverb,eq"
# MIDI synchronization
aurras --midi-sync --midi-clock --tempo-from-midi
Analytics & Insights
# Listening analytics
aurras --analytics --export-listening-data --format json
# Music discovery insights
aurras --discovery-stats --recommendation-feedback
# Library statistics
aurras --library-stats --genre-distribution --decade-analysis
Troubleshooting Advanced Features
Performance Issues
# Performance profiling
aurras --profile-performance --output performance.log
# Resource monitoring
aurras --monitor-resources --alert-threshold cpu:80%,memory:1gb
# Optimize for specific hardware
aurras --hardware-profile laptop --power-saving --reduce-quality
Audio Issues
# Advanced audio debugging
aurras --audio-debug --buffer-analysis --latency-test
# Driver compatibility
aurras --test-drivers --recommend-settings --audio-backend alsa,pulse,jack
Experimental Features
Note: These features are experimental and may change
# AI-powered recommendations
aurras --ai-recommendations --learning-mode
# Spatial audio
aurras --spatial-audio --head-tracking --binaural-rendering
# Voice control
aurras --voice-control --wake-word "aurras" --speech-recognition
Tips for Power Users
- Keyboard Maestro: Create complex automation workflows
- tmux Integration: Run Aurras in persistent sessions
- Monitoring: Set up monitoring for library changes
- Backup: Regular backup of playlists and configurations
- Performance: Monitor system resources during playback
Creating Custom Commands
# Add to your shell's rc file
alias aurras-work="aurras --profile work --smart-playlist Focus --volume 40"
alias aurras-party="aurras --profile party --shuffle --crossfade 3s --volume 80"
alias aurras-sleep="aurras --smart-playlist Sleep --sleep-timer 45min --fade-out 5min"
# Custom functions
aurras_mood() {
mood=${1:-neutral}
aurras --smart-playlist "Mood: $mood" --criteria "mood=$mood" --auto-play
}
🚀 Mastery unlocked! You’re now equipped with Aurras’s most powerful features. Experiment, automate, and create the perfect audio experience for your workflow.
Want to contribute? Check out our Contributing Guide to help make Aurras even better!