Programmatischer Chiptune-Soundtrack
Trenne Kompositionsinformationen von der Klangengine: Referenzaudio → echte Spuren nach Bedarf → Transkriptionskandidaten und Korrektur → Arrangement-Event-Score → Wellenformsynthese → Hör-/Loop-Master. Unterstützt auch originäre Musik ohne Referenz; in diesem Fall wird die Transkription übersprungen.
Musikalische Ziele festlegen
Übernimm bevorzugt die vom Benutzer bereits festgelegten Referenzen, die Dauer, den Stil und die bereits genehmigten Spuren. Wähle bei fehlenden, nicht kritischen Details einen sinnvollen ersten Entwurf und wiederhole nicht bereits beantwortete Präferenzen. Speichere neue Versionen in einem separaten Track-Verzeichnis und behalte genehmigte Originale bei. Das Erstellen selbst bedeutet keine Autorisierung für den Zugriff auf Webseiten, Spiele oder die Veröffentlichung als npm.
Lies zuerst bei Referenzbearbeitung die Referenzanalyse und -auswahl. Wenn Details zur Hauptmelodie/Gegenantwort im Mix erhalten werden sollen, lies dann Echte Spuren und Transkription und verwende Demucs + Basic Pitch ONNX/pYIN; der einfache NumPy-Modus lädt diese schweren Abhängigkeiten nicht automatisch. Beim Korrigieren und Importieren mit der Yakui Studio Workbench lies die gleichzeitig installierte Yakui Studio. Wenn nur die Methodenquelle verstanden werden soll, lies Yakui Beispiele; die Tempi, Akkorde und Abschnittslängen in den Beispielen sind keine Standardregeln für neue Stücke.
Referenzaudio analysieren
Analysiere erst, wenn ein tatsächlich decodierbares Audio vorliegt. BPM oder Notentabellen im Text des Benutzers müssen überprüft werden; Webseitenbeschreibungen, Songtitel und Links zu Online-Videos allein sind kein Beweis für das Hören des Audios. Verwende bei nur URLs den aktuell verfügbaren normalen Medienzugang; bei Zugriffsproblemen erkläre, was fehlt, und erfinde keine Transkriptionsergebnisse. Referenzaufnahmen werden nicht automatisch in Spuren oder Quellcode-Pakete gemischt.
Basistools:
python scripts/analyze_reference.py reference.wav --start 0 --seconds 30 --out analysis-intro.json
Der Pfad ist relativ zum Skill; sein absoluter Pfad kann verwendet werden. Erfordert Python 3.10+, NumPy; für Referenzdecodierung und MP3-Export auch FFmpeg (PATH oder FFMPEG).
- Vergleiche mindestens die Taktkandidaten von Anfang und Hauptabschnitten; achte auf halbes/doppeltes Tempo. Übergib
--bpmerst nach Bestätigung, um Notenkandidaten auszurichten. half_beat_candidatesist die harmonische Signifikanz im Mix, keine automatisch erkannte eigenständige Melodie. Der größte Peak könnte zu Bass-Obertönen, Drums oder einer anderen Stimme gehören.- Markiere Beobachtungen, Kandidaten mit niedriger Konfidenz und Arrangement-Entscheidungen; behalte Ambiguität bei, wenn hohe Gegenantworten nicht zuverlässig extrahiert werden können, und markiere originäre Antworten eindeutig.
- Führe bei detailorientierter Bearbeitung zuerst echte Stimmseparation durch; speichere Modellbezeichnungen nach tatsächlichen
sources. Verwende dann polyphone Transkription, um gleichzeitige Noten zu erhalten, und monophone F0 zum Abgleich, um melodische Abschnitte zu klären. Hauptmelodie/Gegenantwort sind musikalische Rollen; Frequenzbandfilter oder Demucs'othernicht automatisch als eigenständige Rollenspuren bezeichnen. - Roh-Sekundenzeitpunkte, Pitch-Bends, Konfidenzen/Aktivierungswerte und Korrekturgründe bleiben in der Analysedatei; Quantisierung fügt nur abgeleitete Felder hinzu. Verwende das Spektrogramm und repräsentative tatsächliche Phrasen, um Oktaven, kurze Verzierungen, wiederholte Töne und gleichzeitiges Anschlagen zu überprüfen; betrachte Modellausgaben nicht direkt als genaue Notenschrift des Originals.
Editierbaren Track erstellen
python scripts/init_track.py /absolute/new-track --title "Track title" --bpm 95 --bars 24
Es kopiert eine eigenständige Arrangement-Vorlage, Synthesizer und Build-Einstieg; überschreibt kein vorhandenes Verzeichnis. Die Ausgabe umfasst track.json, arrange.py, render_score.py, build.py, Abhängigkeitsliste. Die Vorlagenmotive sind nur originäre Beispiele; sie müssen gemäß den musikalischen Zielen geändert werden; rendere nicht jedes Stück als Vorlage mit geändertem BPM.
Führe im Track-Verzeichnis aus:
python -m pip install -r requirements.txt
python build.py --mp3 --three-pass
Erstelle zuerst repräsentative Phrasen/Abschnitte und erweitere dann auf die Ziellänge; wenn der Benutzer ein detailliertes Arrangement bereits genehmigt hat, erstelle direkt danach und setze keine zusätzliche Genehmigungshürde.
- Viertelnoten sind die zeitliche Einheit für Events; die Dauer wird aus BPM, Anzahl der Takte und Taktart berechnet. Wenn nahe an der angegebenen Sekundenzahl, erkläre die Taktbeschränkung; erzwinge keine Länge durch Beschleunigen des gesamten Audios.
- Hauptmelodie, Gegenantwort, Bass, Harmonie, Arpeggien und Drums werden separat arrangiert. Steigere im Höhepunkt die Tonlage, Rhythmik und harmonische Dichte und lasse Platz für die Hauptmelodie in Panorama und Pegel.
- Synthesizer verwenden bewährte PolyBLEP-Impulswelle, harmonisch begrenzte Dreieckwelle, LFSR-Rausch-Drums, kurze Hüllkurven und Beat-Delay. Passe die Klangfarbe pro Track an; erweiterte Chiptune-Stimmen bedeuten nicht streng limitierte FC/NES-Kanalbeschränkungen.
- Referenzanalyse und Transkription können andere Stile bedienen; wenn der Benutzer Stile wie Post-Rock angibt, behalte die bestätigten Melodien und wähle tatsächlich passende Instrumente/Renderer. Chiptune-Vorlagen werden nicht automatisch zu echten Gitarren oder Post-Rock-Klängen; ersetze nicht Vorlagenlabel durch neuen Stil.
8-bitbezieht sich standardmäßig auf Klangfarbe/Arrangement; die Ausgabe bleibt 44,1 kHz, 16-Bit-Stereo-Qualität, es sei denn, der Benutzer fordert ausdrücklich Bit-Tiefen-Reduktion.
Wenn das Event-Score direkt bearbeitet oder Klangfarben angepasst werden müssen, lies Event-Score-Format. render_score.py score.json --out audio --mp3 --three-pass kann den Arranger überspringen und jedes kompatible Score rendern.
Hören und Ausliefern
Das Verzeichnis audio/ gibt preview.wav, loop.wav, optional MP3, den Höhepunkt-Clip und render-report.json aus. Die Vorschau kann ausblenden; der Loop-Master hat kein gesamtes Ausblenden, der Nachhall am Ende wird zum Anfang gewrappt. --three-pass generiert eine Drei-Durchgangs-Nahtprobe.
Überprüfe Dauer, endliche Werte, Clipping, Abschnittspegel und abrupte Änderungen nahe Loop-Übergängen; numerische Checks ersetzen kein Hören. Wenn keine Hörfähigkeit vorhanden ist, liefere abspielbare Dateien zur Hörprobe an den Benutzer, behaupte nicht, selbst gehört zu haben. Höre auf Thema, Gegenantwort, Höhepunktsdichte, Klarheit der Hauptmelodie und Loop-Nähte; behaupte nicht, Stil passe nur, weil die Musikdatei existiert.
Verwende Audio-Einbettungen mit absolutem Pfad, um eine vollständige Hörprobe und repräsentative Höhepunkt-Clips zu liefern; füge Arrangement/Synthese-Quellcode, Noten und kurze Abschnittsbeschreibungen bei. Wenn der Benutzer eine leichte Terminal-Wiedergabe wünscht, portiere den natives Synthesizer mit demselben Event-Score und denselben Klangfarbenparametern, um zu vermeiden, dass das gesamte PCM eingebettet oder der Benutzer zum Installieren von Python gezwungen wird; ändere nicht den Viewer oder den Veröffentlichungsprozess automatisch, um die Hörprobe zu erstellen.