跳到正文
DEV Community· Shravan deshmukh·· 4 小時前AI 評分35

SoundDeck Studio:本地 AI 音樂策展工具

SoundDeck-Studio

AI 導讀

SoundDeck Studio 是一款供 DJ 和音樂愛好者使用的本地 AI 音樂策展工具,可按自然語言要求建立、整理及分析播放清單。它透過 Ollama 在本地運行開放權重模型 Qwen3 1.7B,結合音樂資料、標籤及混合相似度評分推薦曲目。工具亦提供播放清單分析和 CSV 匯出,目前仍是項目,尚未有付費客戶。

正文

SoundDeck Studio: Local AI Music Curation for Independent DJs 🎧

This is a submission for the Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle

What I Built

SoundDeck Studio is a local AI-powered music curation tool that helps DJs and music enthusiasts create, organize, and analyze playlists using natural-language instructions.

Building a good playlist involves more than finding songs with similar genres. DJs need to balance mood, musical similarity, artist variety, and the overall flow of a set. Manually searching for tracks and organizing them around these constraints can be time-consuming.

SoundDeck Studio aims to simplify this process.

Users can describe the playlist they want in natural language, such as:

Create a 20-track indie playlist with a melancholic, late-night atmosphere, a mix of familiar and lesser-known artists, and minimal artist repetition.

SoundDeck interprets the request using a locally running language model and combines it with music metadata and hybrid recommendation scoring to curate a playlist.

Key features
Natural-language playlist creation: Describe a desired mood, genre, or listening experience using everyday language.
Local AI inference: Use the open-weight Qwen3 1.7B model through Ollama.
Hybrid music recommendations: Combine music metadata, tags, and similarity scoring to rank tracks.
Artist diversity: Encourage variety and reduce excessive repetition of the same artists.
Playlist analytics: Examine artist diversity, genre and mood distributions, metadata coverage, duplicates, and recommendation scores.
CSV export: Export curated playlists for use in other music workflows.
Interactive dashboard: Explore playlists and analytics through a React-based interface.

The project is designed for independent DJs, playlist curators, and music enthusiasts who want a more flexible way to organize music around a particular atmosphere or listening goal.

Potential users could include independent DJs, event organizers, and music curators who need to prepare playlists regularly. SoundDeck is currently a project rather than a commercially validated product; I have not established paying customers yet.

Demo

Watch the final project demonstration:

https://youtu.be/agCIpy0BBXA

The video demonstrates SoundDeck Studio and its music-curation workflow.

Code

GitHub repository:

https://github.com/Shravan-a11y/SoundDeck-Studio

The repository contains the application code, backend services, frontend interface, recommendation logic, analytics, export functionality, and project documentation.

The project is built with a focus on local AI inference and modular services, making it easier to inspect, run, and extend the system.

How I Built It

The central idea behind SoundDeck Studio was to build a practical AI application without making a proprietary, hosted language-model API the core of the system.

  1. Open-weight AI with local inference

I used Qwen3 1.7B, an open-weight language model, running locally through Ollama.

The model helps interpret natural-language playlist requests. Running inference locally allows the application to use an AI model without sending every playlist prompt to a hosted LLM provider.

This approach also lets developers experiment with model configuration and inference without tying the application to a single proprietary AI API.

  1. Backend and recommendation engine

The backend is built with Python and FastAPI.

It integrates music metadata from Last.fm and MusicBrainz and uses SQLite to cache metadata locally.

The recommendation system combines music information, tag classification, and hybrid similarity scoring to rank tracks. Artist-diversity ranking helps avoid playlists dominated by a small number of artists.

The AI model interprets the user's request, while the recommendation and ranking components handle the music-selection workflow.

Separating these responsibilities makes the application easier to test and improve.

  1. Playlist analytics and export

I implemented analytics to help users understand the playlists they generate.

These include:

Track and artist counts.
Artist repetition and diversity.
Genre and mood distributions.
Metadata coverage.
Duplicate detection.
Recommendation-score summaries.
Reporting of unmet playlist constraints.

I also implemented CSV export with protection against spreadsheet formula injection.

  1. Frontend

The user interface is built with React, Vite, and Tailwind CSS.

It provides a music-studio-style dashboard for entering playlist requests, viewing generated tracks, exploring analytics, checking AI status, and exporting results.

  1. Testing

I added automated tests covering analytics, recommendation quality, playlist curation, and CSV export. The frontend production build also completed successfully during development.

The project is still evolving. Music metadata availability varies, and recommendation quality depends on the available data and ranking signals. A generated playlist may not always satisfy every requested constraint or perfectly capture a user's taste, so SoundDeck reports unmet constraints rather than assuming every request has been fulfilled.

Why Does Open Innovation Matter?

Open innovation made it possible to build SoundDeck Studio as an experiment that I can inspect, modify, and improve without depending entirely on a closed AI service.

Using an open-weight model through local inference gives me control over how the language model is run and integrated into the application.

It also offers several practical advantages:

Reduced dependence on hosted LLM APIs: The core language-model inference can run locally instead of requiring a paid hosted LLM endpoint.
Privacy-conscious processing: Playlist prompts can be processed locally, although external music-metadata requests still require internet access.
Experimentation: I can adjust the prompts, recommendation logic, ranking weights, and model configuration to explore different approaches.
Transparency: The recommendation and analytics components can be inspected, tested, and improved instead of being hidden behind a single proprietary service.
Accessibility for developers: The combination of open-source frameworks and local inference gives developers a practical starting point for building their own AI-powered music tools.

Open innovation is particularly useful for a project like SoundDeck because music curation is subjective. There is no single ranking strategy that will satisfy every listener. Being able to experiment with the system's components is essential to improving its recommendations.

Prize Categories

Primary entry: Hacktoberfest Open-Source AI Challenge — Week 2: Side Hustle.

I am entering this challenge with SoundDeck Studio as an open-source AI application built around local inference and a practical music-curation workflow.

來源:DEV Community · dev.to