Add Psytrance Visualizer macOS app with Metal rendering
A complete audio-reactive visualizer for psytrance music featuring: Audio Analysis (DSPEngine): - FFT spectrum analysis via Accelerate/vDSP - 64-band Mel spectrogram - Sub-bass energy extraction (<100Hz) - Automatic sidechain pump detection - Harmonic-to-Noise ratio (HNR) calculation - Peak/transient detection 8 Visualization Modes (Metal Shaders): 1. FFT Classic - Frequency spectrum bars with glow 2. Mel Spectrogram - Waterfall display 3. Sub-Bass - Pulsating rings 4. Sidechain Pump - Breathing zoom effect 5. Harmonic/Noise - Geometric vs chaotic particles 6. Mandelbrot - Audio-reactive fractal zoom 7. Tunnel Warp - Infinite tunnel with distortion 8. DMT Geometry - Sacred geometry patterns Features: - Selectable audio input device (BlackHole support) - Configurable buffer size (512/1024) - Reactivity slider for visual intensity - Auto-hiding control panel - Fullscreen support with keyboard shortcuts (1-8, F, ESC) - Persistent settings via UserDefaults - Psytrance-inspired neon/UV color palette
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
// swift-tools-version: 5.9
|
||||
// The swift-tools-version declares the minimum version of Swift required to build this package.
|
||||
|
||||
import PackageDescription
|
||||
|
||||
let package = Package(
|
||||
name: "PsytranceVisualizer",
|
||||
platforms: [
|
||||
.macOS(.v13)
|
||||
],
|
||||
products: [
|
||||
.executable(
|
||||
name: "PsytranceVisualizer",
|
||||
targets: ["PsytranceVisualizer"]
|
||||
)
|
||||
],
|
||||
targets: [
|
||||
.executableTarget(
|
||||
name: "PsytranceVisualizer",
|
||||
path: ".",
|
||||
exclude: [
|
||||
"Package.swift",
|
||||
"README.md"
|
||||
],
|
||||
sources: [
|
||||
"App",
|
||||
"Audio",
|
||||
"Models",
|
||||
"Rendering",
|
||||
"UI",
|
||||
"Utilities"
|
||||
],
|
||||
resources: [
|
||||
.process("Resources")
|
||||
],
|
||||
swiftSettings: [
|
||||
.unsafeFlags(["-enable-bare-slash-regex"])
|
||||
]
|
||||
)
|
||||
]
|
||||
)
|
||||
Reference in New Issue
Block a user