Musique de fond 8-bit programmable
Séparez les informations de composition du moteur de timbre : audio de référence → pistes réelles à la demande → propositions de transcription et révision → partition d'événements d'orchestration → synthèse ondulatoire → aperçu / master de boucle. Prend en charge la musique originale sans référence ; dans ce cas, ignorez le repiquage.
Définissez d'abord les objectifs musicaux
Utilisez en priorité les références, durées, styles et pistes déjà approuvés par l'utilisateur. Choisissez un brouillon raisonnable pour les détails non critiques manquants, ne répétez pas les préférences déjà répondues. Enregistrez les nouvelles versions dans un répertoire de morceau indépendant, conservez le brouillon original approuvé. La création elle-même ne représente pas une autorisation d'accès à un site web, un jeu ou de publication npm.
Pour une adaptation basée sur une référence, lisez d'abord Analyse et sélection des références. Si vous devez conserver les détails de la ligne principale / réponse dans le mix, lisez ensuite Pistes réelles et transcription, utilisez Demucs + Basic Pitch ONNX / pYIN ; le mode NumPy de base ne charge pas automatiquement ces dépendances lourdes. Lors de l'utilisation du poste de travail Yakui Studio pour réviser et importer, lisez Yakui Studio installé au même niveau. Si vous voulez seulement comprendre la source de la méthode, lisez Cas Yakui ; la vitesse, les accords et les longueurs de section des cas ne sont pas des règles par défaut pour un nouveau morceau.
Analyse de l'audio de référence
Ne rapportez les résultats d'analyse qu'après avoir obtenu un fichier audio réellement décodable. Les BPM ou tables de notes dans le texte utilisateur doivent être vérifiés ; les descriptions de page web, les titres de chansons et les liens vidéo en ligne ne constituent pas une preuve d'écoute de l'audio. Si seule une URL est fournie, utilisez le moyen normal d'obtention de média actuellement disponible ; si l'obtention échoue, expliquez ce qui manque, n'inventez pas de résultats de repiquage. L'enregistrement de référence n'est pas automatiquement mélangé dans la piste ou le paquet source.
Outils de base :
python scripts/analyze_reference.py reference.wav --start 0 --seconds 30 --out analysis-intro.json
Les chemins sont relatifs à ce skill ; vous pouvez utiliser leur chemin absolu. Dépend de Python 3.10+, NumPy, et FFmpeg (dans le PATH ou FFMPEG) pour le décodage de référence et l'export MP3.
- Comparez au moins les candidats de tempo du début et des sections principales, faites attention aux demi-tempos / doublons ; confirmez avant de passer
--bpmpour aligner les candidats de notes. half_beat_candidatesest une saillance harmonique dans le mix, pas une mélodie indépendante automatiquement reconnue. Le pic le plus grand peut appartenir aux harmoniques de basse, à la batterie ou à une autre partie.- Annotez les observations, les candidats de faible confiance et les choix d'orchestration ; pour les réponses aiguës non fiables à extraire, conservez l'ambiguïté, marquez clairement les réponses originales.
- Pour une adaptation priorisant les détails, commencez par les pistes réelles, enregistrez les étiquettes des modèles selon les
sourcesréelles ; utilisez ensuite la transcription polyphonique pour conserver les notes simultanées, utilisez la F0 monodique pour contraster les sections mélodiques claires. La mélodie principale / réponse sont des rôles musicaux ; ne renommez pas automatiquement le filtrage de bande de fréquence ou leotherde Demucs en piste de rôle indépendant. - Laissez les secondes brutes, le pitch bend, les scores de confiance / activation et les raisons de révision dans le fichier d'analyse ; la quantification n'ajoute que des champs dérivés. Utilisez la portée et un extrait réel représentatif pour vérifier les octaves, les ornements courts, les notes répétées et les sons simultanés ; ne prenez pas la sortie du modèle comme une partition exacte de la chanson originale.
Créer un morceau éditable
python scripts/init_track.py /absolute/new-track --title "Titre du morceau" --bpm 95 --bars 24
Il copie un modèle d'orchestration indépendant, un synthétiseur et une entrée de construction, sans écraser un répertoire existant. La sortie inclut track.json, arrange.py, render_score.py, build.py, et une liste de dépendances. La motivation du modèle n'est qu'un exemple original ; elle doit être modifiée selon les objectifs musicaux actuels ; ne rendez pas chaque morceau comme le modèle avec uniquement un changement de BPM.
Exécutez dans le répertoire du morceau :
python -m pip install -r requirements.txt
python build.py --mp3 --three-pass
Créez d'abord des extraits / sections représentatifs, puis étendez à la durée cible ; si l'utilisateur a déjà approuvé une orchestration détaillée, créez directement selon cette orchestration, ne définissez pas de seuil d'approbation supplémentaire.
- La noire est l'unité de temps des événements ; la durée est calculée à partir du BPM, du nombre de mesures et de la signature rythmique ; si elle est proche de la durée spécifiée, expliquez la contrainte rythmique, ne forcez pas la longueur en accélérant l'audio entier.
- Orchestrez séparément la mélodie principale, la réponse, la basse, l'harmonie, l’arpège et la batterie. Enrichissez la gamme, le rythme et la densité harmonique dans les sections culminantes, laissez de l'espace stéréo et de niveau pour la mélodie principale.
- Utilisez les formes d'onde validées : PolyBLEP pulsé, onde triangulaire à harmoniques limités, bruit LFSR pour la batterie, enveloppes courtes et delay en noire. Ajustez les timbres par morceau ; étendre les parties chips ne signifie pas imiter strictement les limitations de canaux FC/NES.
- L'analyse et la transcription de référence peuvent servir d'autres styles ; lorsque l'utilisateur spécifie des styles comme le post-rock, conservez la mélodie vérifiée, choisissez d'autres instruments / rendus appropriés. Les modèles chips ne deviennent pas automatiquement une guitare réelle ou un timbre post-rock ; n'utilisez pas un modèle avec une étiquette changée pour faire passer un nouveau style.
8-bitfait référence par défaut au timbre / à l'orchestration ; la sortie conserve la qualité 44.1 kHz, 16-bit stéréo, sauf si l'utilisateur demande explicitement une dégradation de la profondeur de bits.
Si vous devez éditer directement la partition ou ajuster les timbres, lisez Format de partition d'événements. render_score.py score.json --out audio --mp3 --three-pass peut ignorer l'orchestrateur et rendre n'importe quelle partition compatible.
Écoute et livraison
La sortie audio/ contient preview.wav, loop.wav, un MP3 optionnel, un extrait culminant et render-report.json. L'aperçu peut utiliser un fondu ; le master de boucle n'a pas de fondu en fin de morceau, le délai de queue se boucle sur le début. --three-pass génère une écoute à trois jonctions.
Vérifiez la durée, les valeurs finies, l'écrêtage, les niveaux de section et les changements brusques près de la boucle ; les vérifications numériques ne remplacent pas l'écoute. Si vous n'avez pas la capacité d'écoute réelle, livrez des fichiers jouables pour que l'utilisateur les écoute, ne prétendez pas avoir écouté vous-même. Concentrez-vous sur le thème, la réponse, la densité des sommets, la clarté de la mélodie principale et les jonctions de boucle ; ne déclarez pas que le style correspond simplement parce que le fichier musical existe.
Intégrez l'audio en utilisant des chemins absolus pour fournir une écoute complète et un extrait représentatif du point culminant ; joignez le code source d'orchestration / synthèse, la partition et un court paragraphe d'explication. Si l'utilisateur demande une lecture légère en terminal, portez le synthétiseur natif avec la même partition d'événements et les mêmes paramètres de timbre, évitez d'incorporer l'intégralité du PCM ou d'exiger à l'utilisateur d'installer Python ; ne modifiez pas automatiquement le visualiseur ou le processus de publication pour créer une écoute.