La teva música. El teu escenari.

Rainy és el servidor de música que allotges tu mateix. Totes les teves cançons, a totes les teves pantalles.

Sense subscripció. Sense núvol. Només la teva música, a la teva màquina.

Tota la teva biblioteca. Ben cuidada.

Biblioteca, mescles, historial i llistes. Ràpid, discret i tot teu.

  • Biblioteca. Portades, etiquetes i durades, llegides directament dels teus fitxers.

    rainy.home.lan/library
    Pantalla Biblioteca de Rainy

Mescles que saben què ve després.

Rainy converteix el que escoltes, el que t’agrada i el que saltes en un prestatge de mescles que es refà cada cop que l’obres. Tot es calcula al teu servidor.

La pàgina Mescla intel·ligent de Rainy: la Supermescla i La meva mescla 1 i 2 a Fet per a tu

Després les posa en ordre.

Un aleatori tradicional reprodueix les cançons a l’atzar, de manera que un tema suau pot caure just després d’un de fort. L’aleatori de Rainy col·loca cada cançó al costat de la que més s’hi assembla, així que la mescla flueix en lloc de fer salts. Aquí tens les mateixes catorze cançons de les dues maneres.

següent = aleatòria(restants)

restants
les cançons que encara no han sonat
aleatòria
totes tenen la mateixa probabilitat, soni com soni al costat de la cançó actual

següent = arg màxs ∈ restants sim(ara, s)

sim(a, b) = a · b‖a‖ ‖b‖

ara
la cançó que sona
a, b
les empremtes sonores de dues cançons: 23 nombres per al timbre, el tempo, el ritme, l’energia, el volum, la lluentor i la tonalitat
a · b
fins a quin punt coincideixen les dues empremtes, nombre a nombre
‖a‖ ‖b‖
n’elimina la magnitud, així la puntuació va d’1 (mateix so) a −1 (oposat)
arg màx
tria la cançó restant amb la puntuació més alta

Cada quadrat compara dues cançons: com més brillant, més s’assemblen. Les portades de la diagonal són les cançons en ordre de reproducció, així que els quadrats que la toquen són les transicions que realment sents.

TradicionalRainy
Coincidència mitjana entre cançons que sonen seguides——
Salt més brusc el parell menys semblant seguit——

La coincidència és sim en percentatge: −1 és 0%, 1 és 100%.

Cada cançó té el seu propi espectacle.

Obre el reproductor a pantalla completa i encén les llums. La tonalitat i el gènere de la cançó trien els colors.

rainy.home.lan · Neon Gutter · espectacle de llums

Tria a quina intensitat van les llums.

Auto segueix l’energia de cada cançó, Relax ho manté suau i Eufòria converteix cada tornada en un drop.

Configuració de l’espectacle de llums de Rainy: intensitat, lletres a l’escenari, redueix els flaixos, mode de baix rendiment i desfasament de sincronització

Sent venir el drop.

  1. EscoltaDesprés d’importar, el servidor analitza cada cançó: pulsacions, temps forts i cops de bombo, caixa i hi-hat.
  2. EstructuraLes seccions reben etiquetes: intro, estrofa, pujada, drop, pausa i final. La tonalitat de la cançó tria la paleta.
  3. AnticipacióLes pujades, els drops i els silencis es marquen amb antelació, de manera que les llums s’apaguen un pols abans del drop en lloc de reaccionar-hi després.
  4. VelocitatL’anàlisi fa servir tots els nuclis de la CPU, o una GPU NVIDIA si n’hi ha una.

Analitzant una cançó de 3:36

CPU · Ryzen 5 5600X2,8 s
GPU · RTX 4060 Ti1,9 s

Una biblioteca. Totes les pantalles.

Comença al portàtil, continua des del mòbil, acaba a la tele. Rainy Connect troba els teus altres dispositius i els passa la reproducció.

First LightSonant a: Portàtil
  1. PWA instal·lableAfegeix-la a la pantalla d’inici. S’obre com una app, amb una interfície que funciona sense connexió.
  2. Rainy ConnectMira els teus altres dispositius i controla la reproducció des de qualsevol.
  3. ChromecastEmet des del teu propi servidor, amb descobriment per IP de la xarxa local integrat.
  4. Pantalla de bloqueig i teclesCaràtula de Media Session, controls a la pantalla de bloqueig i tecles multimèdia del teclat.

Els detalls són el producte.

Equalitzador de 10 bandes

Amb predefinits, aplicat mentre escoltes.

Lletres sincronitzades paraula a paraula

Alineades a la teva màquina amb Whisper i ressaltades paraula per paraula.

Cada finestra va guardar el teu nom

Sosté la tornada, sosté la flama

Encadenament

Les cançons se solapen. El silenci no.

Gèneres, sense connexió

Cada cançó rep un gènere entre 400 estils, calculat a la teva màquina.

  • Progressive House.86
  • Melodic Techno.61
  • Trance.34
  • Synth-pop.12

Detecció de duplicats

La mateixa cançó de dues fonts? Rainy ho sent.

night-bus.flac
Night Bus (Official Audio).m4a

El mateix enregistrament, detectat per empremta d’àudio

Importa i sincronitza

Porta llistes de YouTube i Spotify i mantén-les al dia automàticament.

  • YouTubeLlista · Conduint de matinada24/24
  • SpotifyLlista · Cuina de diumenge31/50
  • SyncPropera sincronització d’aquí a 23 hcada dia

Amics i llistes compartides

Convida gent, comparteix llistes i decideix qui pot editar.

La llista d’amics de Rainy

Pensat per al teclat

Cada acció de Rainy té una drecera.

Espai
Reprodueix / pausa
⇧→
Cançó següent
L
M’agrada
B
Repetició A–B
/
Cercar
?
Totes les dreceres

Reproducció, com cal

  • Velocitat en passos de 0,25×
  • Repetició A–B
  • Temporitzador de son
  • Bossa aleatòria, sense repetir
  • Aleatori segons BPM
  • Lletres sincronitzades
  • Tecles multimèdia
  • Portades en mosaic
  • Exportació de llistes

En marxa en trenta segons.

Dos contenidors: l’app i una base de dades. La teva música continua sent una carpeta del teu disc, així que si ho reconstrueixes no perds res. Sense servidor de base de dades? Defineix RAINY_DB=sqlite i tot viu en un sol fitxer.


    
Funciona a
Qualsevol equip amb Docker, o Python 3.11+ amb ffmpeg
Base de dades
MySQL 8.4, o SQLite per a instal·lacions personals i familiars
GPU
Opcional. CUDA accelera l’anàlisi i torna a la CPU automàticament
Port
6969 per defecte, configurable a .env

Porta l’espectacle a casa.

Gratuït, de codi obert i teu.

Descarrega Rainy

Rainy, la mascota: una noia de cabells cobalt amb un passador en forma de núvol de pluja
psst… prem espai

Dreceres en aquesta pàgina

espai
Reprodueix / posa en pausa l’espectacle
D
Salta al drop
?
Aquest full