Expand description
Purple Squirrel Media - Frequency Analysis Library
This crate provides audio frequency analysis capabilities for:
- Audio Fingerprinting: Cryptographic content verification using spectral peaks
- AI Auto-Tagging: Content classification based on frequency signatures
- Thumbnail Generation: Optimal frame selection using FFT-based quality metrics
- Recommendations: Content similarity matching via frequency signatures
§Architecture
The frequency analysis pipeline integrates with the Kino player ecosystem:
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Video Upload │───▶│ Audio Extract │───▶│ FFT Analysis │
└─────────────────┘ └──────────────────┘ └────────┬────────┘
│
┌───────────────────────────────────────────────┼───────────────────────┐
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌────────────────┐ ┌───────────────┐
│ Fingerprint │ │ Auto-Tagging │ │ Recommendations│
│ (SHA-256) │ │ (ML Model) │ │ (Similarity) │
└───────┬───────┘ └────────┬───────┘ └───────┬───────┘
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌────────────────┐ ┌───────────────┐
│ Solana Chain │ │ Content Tags │ │ Similar Items │
│ (Verification)│ │ (Metadata) │ │ (API Response)│
└───────────────┘ └────────────────┘ └───────────────┘§Quick Start
use kino_frequency::{
AudioAnalyzer,
fingerprint::Fingerprinter,
tagging::ContentTagger,
thumbnail::ThumbnailSelector,
recommend::RecommendationEngine,
};
#[tokio::main]
async fn main() -> anyhow::Result<()> {
// Initialize the analyzer
let analyzer = AudioAnalyzer::new(44100);
// Extract audio from video
let audio = analyzer.extract_audio("video.mp4").await?;
// Generate fingerprint
let fingerprint = Fingerprinter::new().fingerprint(&audio)?;
println!("Content hash: {}", fingerprint.hash);
// Auto-tag content
let tags = ContentTagger::new().predict(&audio)?;
println!("Tags: {:?}", tags);
Ok(())
}Re-exports§
pub use fft::FrequencyAnalyzer;pub use fingerprint::Fingerprinter;pub use tagging::ContentTagger;pub use thumbnail::ThumbnailSelector;pub use recommend::RecommendationEngine;pub use types::*;
Modules§
- fft
- FFT-based frequency analysis core.
- fingerprint
- Audio fingerprinting for content verification.
- recommend
- Content recommendation engine using frequency similarity.
- streaming
- Real-time streaming frequency analysis module.
- tagging
- AI-powered content auto-tagging.
- thumbnail
- Intelligent thumbnail selection using frequency analysis.
- types
- Core types for frequency analysis.
Structs§
- Audio
Analyzer - Main audio analyzer that coordinates all frequency analysis operations.
Functions§
- process_
video - Process a video file through the complete frequency analysis pipeline.