Aller au contenu
Support

Reference XML

Cette page couvre la structure XML et les exemples de code pour l’import DDEX de LabelGrid. Pour les exigences de metadonnees, les roles de contributeurs, les splits et les standards de formatage, consultez Metadonnees de la sortie, Metadonnees de la piste et Validation.

ERN 4.3.2 est la version d’import recommandee pour les nouvelles integrations : voir ERN 4.3.2 ci-dessous pour son element racine, les champs de declaration IA qu’elle ajoute et un exemple 4.3.2 complet avec tous les champs. La plupart des exemples detailles de cette page utilisent le format ERN 4.3 ; la structure du message est la meme en 4.3.1/4.3.2, ils s’appliquent donc aux trois (changez le namespace racine et appliquez les changements de champ de 4.3.2DisplayGenre, la forme complexe de Role et les elements IA). Les valeurs PartyReference dans la sortie reelle sont des identifiants haches en MD5 (par exemple, P8A1B2C3D4E5F6...). Les exemples ci-dessous utilisent des noms lisibles pour plus de clarte.


Chaque livraison DDEX est un document XML NewReleaseMessage comprenant cinq sections principales :

NewReleaseMessage
├── MessageHeader — Expediteur, destinataire et ID du message
├── PartyList — Tous les artistes, contributeurs et titulaires de droits
├── ResourceList — Fichiers audio et visuels avec details techniques
├── ReleaseList — L'album/single et les pistes individuelles
└── DealList — Conditions commerciales, territoires et dates

L’element racine inclut le namespace et l’emplacement du schema ERN 4.3 :

<?xml version="1.0" encoding="UTF-8"?>
<NewReleaseMessage
xmlns:ern="http://ddex.net/xml/ern/43"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ddex.net/xml/ern/43 http://ddex.net/xml/ern/43/release-notification.xsd"
AvsVersionId="3"
LanguageAndScriptCode="en">
AttributDescription
xmlns:ernURI du namespace ERN 4.3
xsi:schemaLocationSchema pour la validation
AvsVersionIdVersion du jeu de valeurs autorisees
LanguageAndScriptCodeLangue par defaut du message

ERN 4.3.2 est la version d’import recommandee pour les nouvelles integrations LabelGrid. C’est une revision ulterieure de la famille ERN 4.3, entierement prise en charge par l’importateur de LabelGrid. Elle utilise un espace de noms et un schema differents de 4.3, de sorte que les deux ne sont pas interchangeables au niveau XML : l’element racine determine a lui seul la version. Si votre systeme peut produire l’une ou l’autre, generez du 4.3.2.

<?xml version="1.0" encoding="UTF-8"?>
<NewReleaseMessage
xmlns:ern="http://ddex.net/xml/ern/432"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ddex.net/xml/ern/432 http://ddex.net/xml/ern/432/release-notification.xsd"
AvsVersionId="4"
LanguageAndScriptCode="en">
AttributERN 4.3ERN 4.3.2
xmlns:ernhttp://ddex.net/xml/ern/43http://ddex.net/xml/ern/432
xsi:schemaLocation…/ern/43 …/ern/43/release-notification.xsd…/ern/432 …/ern/432/release-notification.xsd
AvsVersionId34

Le schema public release-notification de 4.3.2 se trouve a http://service.ddex.net/xml/ern/432/release-notification.xsd (l’equivalent 4.3 est http://service.ddex.net/xml/ern/43/release-notification.xsd). Vous pouvez valider l’un ou l’autre fichier par rapport a son schema avec le validateur en ligne DDEX.

Ce qui change entre 4.3, 4.3.1 et 4.3.2 {#what-changes-between-43-431-and-432}

Section intitulée « Ce qui change entre 4.3, 4.3.1 et 4.3.2 {#what-changes-between-43-431-and-432} »

Le corps du message a la meme forme que les exemples 4.3 ci-dessous : les sections MessageHeader, PartyList, ResourceList, ReleaseList et DealList conservent la meme structure. Les differences se limitent a une poignee de changements au niveau des elements qui ont ete introduits dans ERN 4.3.1 et repris sans changement dans 4.3.2. Si vous passez de 4.3 (4.3.0), voici les trois choses a modifier :

DomaineERN 4.3 (4.3.0)ERN 4.3.1 et 4.3.2
Element de genre<Genre><DisplayGenre> — memes enfants GenreText + SubGenre, simplement renomme
Role de contributeurSimple : <Role>StudioProducer</Role>Complexe : <Role><Value>StudioProducer</Value></Role>
Attribution IA(non disponible)Nouveaux elements <ContainsAI>, <AiContribution> et <SpecialContributor>

Tout le reste — MessageHeader, parties, deals, emplacement des ISRC/ISWC, details techniques audio/visuels, titres, P-Line/C-Line, deals, dates — est identique aux exemples 4.3 du reste de cette page. Les seuls elements specifiques a la version sont les trois ci-dessus ; les champs de declaration IA ont leur propre section juste apres car ils constituent la principale raison d’utiliser 4.3.2.

Champs de declaration IA (4.3.2) {#ai-declaration-fields-432}

Section intitulée « Champs de declaration IA (4.3.2) {#ai-declaration-fields-432} »

C’est la partie de 4.3.2 qui n’existe pas en 4.3 simple. Il y a trois elements, et ils decrivent tous la meme declaration sous-jacente : la part du contenu generee par IA. Chaque valeur est l’une de None, Partly ou All — il n’y a pas d’indicateurs booleens ni de champs en texte libre.

ElementApparait surPositionValeurs
<ContainsAI>chaque <SoundRecording> (piste)Apres <ParentalWarningType>, avant <LanguageOfPerformance>None / Partly / All
<ContainsAI>la <Release> principaleApres le bloc <ResourceGroup>None / Partly / All — la valeur la plus elevee parmi toutes les pistes et le visuel
<ContainsAI>l’<Image> de pochetteApres <ResourceId>, avant <TechnicalDetails>None / Partly / All
<AiContribution>chaque <Contributor>Apres <Role>None / Partly / All
<SpecialContributor>un <Contributor> entierement IARemplace <ContributorPartyReference> (mutuellement exclusifs)Valeur fixe GenerativeAI

Le formulaire de piste comporte deux menus deroulants de declaration IA (voir Ajout de pistes) — Generative AI Disclosure (l’enregistrement sonore) et Composition AI Disclosure (la chanson). Le visuel de la sortie a son propre parametre IA. Chacun correspond a une valeur DDEX comme suit :

Selection de declarationValeur DDEX
Aucune IA generative utiliseeNone
Assistance IA mineure uniquementPartly
Portions de contenu generees par IAPartly
Entierement genere par IAAll
  • Le <ContainsAI> d’une piste correspond a la valeur la plus elevee entre ses declarations Generative AI et Composition AI.
  • Le <ContainsAI> de la sortie correspond a la valeur la plus elevee parmi toutes les pistes plus le visuel.
  • L’<AiContribution> d’un <Contributor> reflete ce credit specifique. Les contributeurs nommes (humains) sont plafonnes a Partly — une valeur de All n’est jamais exprimee qu’au travers de <SpecialContributor>GenerativeAI</SpecialContributor>, qui ne porte aucun nom de partie.

DisplayGenre remplace l’element Genre de 4.3 (les enfants restent inchanges) :

<!-- 4.3.2 uses DisplayGenre; 4.3.0 used Genre -->
<DisplayGenre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</DisplayGenre>

ContainsAI sur une piste, a sa position correcte :

<SoundRecording>
<ResourceReference>A1</ResourceReference>
<!-- ... editions, titles, artists, contributors, duration ... -->
<ParentalWarningType>NotExplicit</ParentalWarningType>
<ContainsAI>Partly</ContainsAI>
<LanguageOfPerformance>en</LanguageOfPerformance>
</SoundRecording>

ContainsAI sur l’image de pochette (avant TechnicalDetails) :

<Image>
<ResourceReference>A2</ResourceReference>
<Type>FrontCoverImage</Type>
<ResourceId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890:cover</ProprietaryId>
</ResourceId>
<ContainsAI>None</ContainsAI>
<TechnicalDetails>
<!-- ... -->
</TechnicalDetails>
</Image>

Un contributeur utilisant la forme complexe de Role avec un AiContribution, aux cotes d’un contributeur entierement IA qui utilise SpecialContributor au lieu d’une reference de partie :

<!-- Human contributor: complex Role + per-credit AiContribution -->
<Contributor SequenceNumber="1">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<Role><Value>StudioProducer</Value></Role>
<AiContribution>None</AiContribution>
</Contributor>
<!-- Fully AI-generated credit: SpecialContributor replaces ContributorPartyReference -->
<Contributor SequenceNumber="2">
<SpecialContributor>GenerativeAI</SpecialContributor>
<Role><Value>Vocalist</Value></Role>
<AiContribution>All</AiContribution>
</Contributor>

Pour confirmer qu’un message 4.3.2 est valide avant la livraison, verifiez-le par rapport au schema public release-notification de 4.3.2 (http://service.ddex.net/xml/ern/432/release-notification.xsd) avec le validateur en ligne DDEX.


Identifie l’expediteur (votre organisation), le destinataire (le DSP) et un ID de message unique.

<MessageHeader>
<MessageThreadId>20250815-neonsounds-001</MessageThreadId>
<MessageId>20250815-neonsounds-001-msg01</MessageId>
<MessageSender>
<PartyId>PADPIDA2025010100A</PartyId>
<PartyName><FullName>Neon Sounds</FullName></PartyName>
</MessageSender>
<MessageRecipient>
<PartyId>PADPIDA2014120301U</PartyId>
<PartyName><FullName>Spotify</FullName></PartyName>
</MessageRecipient>
<MessageCreatedDateTime>2025-08-01T10:30:00Z</MessageCreatedDateTime>
</MessageHeader>
ElementDescription
MessageThreadIdRegroupe les messages lies (par exemple, mises a jour de la meme sortie)
MessageIdIdentifiant unique pour ce message specifique
MessageSenderLe Party ID et le nom DDEX de votre organisation
MessageRecipientLe Party ID et le nom du DSP destinataire
MessageCreatedDateTimeHorodatage ISO 8601 de la creation du message

Toutes les entites referencees ailleurs dans le XML — le label, les artistes, les contributeurs et les editeurs — sont definies ici. Chaque partie recoit un PartyReference utilise pour les lier dans tout le document.

<Party>
<PartyReference>P_LABEL_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds LLC</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:label:100</ProprietaryId>
</PartyId>
</Party>

Les artistes peuvent inclure des identifiants standards comme l’ISNI :

<!-- Primary Artist with ISNI -->
<Party>
<PartyReference>P_ARTIST_LUNAWAVE</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Luna Wave</FullName>
</PartyName>
<PartyId>
<ISNI>0000000012345678</ISNI>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:200</ProprietaryId>
</PartyId>
</Party>
<!-- Featured Artist (no ISNI) -->
<Party>
<PartyReference>P_ARTIST_DJKODA</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>DJ Koda</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:201</ProprietaryId>
</PartyId>
</Party>

Les contributeurs (auteurs-compositeurs, producteurs, ingenieurs) peuvent inclure des identifiants IPI :

<!-- Songwriter / Composer / Producer with IPI -->
<Party>
<PartyReference>P_CONTRIB_SARAHCHEN</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Sarah Chen</FullName>
</PartyName>
<PartyId>
<IpiNameNumber>00123456789</IpiNameNumber>
</PartyId>
</Party>
<!-- Mixing Engineer (no IPI) -->
<Party>
<PartyReference>P_CONTRIB_MIXMASTER</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Mike Torres</FullName>
</PartyName>
</Party>
<Party>
<PartyReference>P_PUBLISHER_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds Publishing</FullName>
</PartyName>
</Party>

Identifiants de partie pris en charge :

IdentifiantElementFormat
ISNI<ISNI>16 caracteres (15 chiffres + chiffre de verification)
IPI<IpiNameNumber>Complete avec des zeros jusqu’a 11 chiffres
Proprietaire<ProprietaryId>Reference interne LabelGrid

Contient tous les fichiers audio et visuels. Chaque ressource recoit un ResourceReference (par exemple, A1, A2) utilise pour la lier aux sorties.

<SoundRecording>
<ResourceReference>A1</ResourceReference>
<Type>MusicalWorkSoundRecording</Type>
<!-- ISRC and P-Line inside SoundRecordingEdition -->
<SoundRecordingEdition>
<ResourceId>
<ISRC>USNS12500001</ISRC>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<!-- Technical details of the audio file -->
<TechnicalDetails>
<TechnicalResourceDetailsReference>T1</TechnicalResourceDetailsReference>
<DeliveryFile>
<Type>AudioFile</Type>
<AudioCodecType UserDefinedValue="WAV">UserDefined</AudioCodecType>
<NumberOfChannels>2</NumberOfChannels>
<SamplingRate>44100</SamplingRate>
<BitsPerSample>16</BitsPerSample>
<File>
<URI>resources/198765432109_01_01.wav</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>d41d8cd98f00b204e9800998ecf8427e</HashSumValue>
</HashSum>
</File>
</DeliveryFile>
</TechnicalDetails>
</SoundRecordingEdition>
<!-- ISWC goes on parent SoundRecording, NOT inside Edition -->
<WorkId>
<ISWC>T3351864278</ISWC>
</WorkId>
<!-- Track title -->
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<!-- Display artist string -->
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<!-- Artist roles -->
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<!-- Contributors -->
<Contributor SequenceNumber="1">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<Role>ComposerLyricist</Role>
</Contributor>
<Contributor SequenceNumber="2">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<!-- "Producer" display role maps to DDEX role "StudioProducer" -->
<Role>StudioProducer</Role>
</Contributor>
<Contributor SequenceNumber="3">
<ContributorPartyReference>P_CONTRIB_MIXMASTER</ContributorPartyReference>
<Role>MixingEngineer</Role>
</Contributor>
<Contributor SequenceNumber="4">
<ContributorPartyReference>P_PUBLISHER_NEONSOUNDS</ContributorPartyReference>
<Role>MusicPublisher</Role>
</Contributor>
<!-- Copyright ownership -->
<WorkRightsController>
<RightsControllerPartyReference>P_LABEL_NEONSOUNDS</RightsControllerPartyReference>
<RightsControlType>RightsController</RightsControlType>
<RightSharePercentage>100.00</RightSharePercentage>
<Territory>Worldwide</Territory>
</WorkRightsController>
<!-- Duration in ISO 8601 format -->
<Duration>PT00H04M32S</Duration>
<!-- Parental warning -->
<ParentalWarningType>NotExplicit</ParentalWarningType>
<!-- Language of performance -->
<LanguageOfPerformance>en</LanguageOfPerformance>
</SoundRecording>

Points cles :

  • ISRC et PLine vont a l’interieur de SoundRecordingEdition
  • ISWC va sur le SoundRecording parent via WorkId (pas a l’interieur de l’Edition)
  • DisplayTitleText contient uniquement le titre de base (sans version du mix)
  • L’element SubTitle a l’interieur de DisplayTitle contient la version du mix (vide si aucune)
  • Le role d’affichage “Producer” correspond au role DDEX StudioProducer
  • L’URI du fichier audio suit le patron : resources/{UPC}_{disc}_{track}.{ext}
<Image>
<ResourceReference>A2</ResourceReference>
<Type>FrontCoverImage</Type>
<ResourceId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890:cover</ProprietaryId>
</ResourceId>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T2</TechnicalResourceDetailsReference>
<ImageCodecType>JPEG</ImageCodecType>
<ImageHeight>3000</ImageHeight>
<ImageWidth>3000</ImageWidth>
<File>
<URI>resources/198765432109.jpg</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4</HashSumValue>
</HashSum>
</File>
</TechnicalDetails>
</Image>

Contient la sortie principale (l’album ou le single) et les sorties de pistes individuelles. La sortie principale est liee aux ressources via ResourceGroup.

<Release>
<ReleaseReference>R0</ReleaseReference>
<!-- ReleaseType comes before ReleaseId in ERN 4.3 -->
<ReleaseType>Single</ReleaseType>
<ReleaseId>
<ICPN>198765432109</ICPN>
<CatalogNumber Namespace="PADPIDA2025010100A">NS-2025-042</CatalogNumber>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<CLine>
<Year>2025</Year>
<CLineText>Neon Sounds LLC</CLineText>
</CLine>
<Genre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</Genre>
<OriginalReleaseDate>2025-08-15</OriginalReleaseDate>
<ParentalWarningType>NotExplicit</ParentalWarningType>
<!-- ResourceGroup links tracks and artwork to the release -->
<ResourceGroup>
<SequenceNumber>1</SequenceNumber>
<ResourceGroupContentItem>
<SequenceNumber>1</SequenceNumber>
<ReleaseResourceReference>A1</ReleaseResourceReference>
</ResourceGroupContentItem>
<ResourceGroupContentItem>
<SequenceNumber>2</SequenceNumber>
<ReleaseResourceReference>A2</ReleaseResourceReference>
</ResourceGroupContentItem>
</ResourceGroup>
</Release>

Points cles :

  • ReleaseType vient avant ReleaseId dans ERN 4.3
  • L’UPC/EAN va dans <ICPN> a l’interieur de ReleaseId
  • Les ressources sont liees via ResourceGroup (pas ReleaseResourceReferenceList)
  • ReleaseLabelReference pointe vers le PartyReference du label

Chaque piste recoit egalement sa propre TrackRelease pour la disponibilite individuelle de la piste sur les plateformes :

<TrackRelease>
<ReleaseReference>RT1</ReleaseReference>
<ReleaseId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<ReleaseResourceReference>A1</ReleaseResourceReference>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<Genre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</Genre>
<Keywords>electronic deep house chill night</Keywords>
</TrackRelease>

Definit les conditions commerciales sous lesquelles la sortie est disponible. Chaque Deal specifie un territoire, une date de debut, un modele commercial et un type d’utilisation.

<DealList>
<ReleaseDeal>
<DealReleaseReference>R0</DealReleaseReference>
<!-- Subscription streaming (e.g., Spotify Premium) -->
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>SubscriptionModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<!-- Ad-supported streaming (e.g., Spotify Free) -->
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>AdvertisementSupportedModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<!-- Pay-per-download (e.g., iTunes) -->
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>PayAsYouGoModel</CommercialModelType>
<UseType>PermanentDownload</UseType>
</DealTerms>
</Deal>
</ReleaseDeal>
</DealList>

Types de modeles commerciaux :

ModeleDescriptionExemple
SubscriptionModelStreaming par abonnement payantSpotify Premium, Apple Music
AdvertisementSupportedModelStreaming gratuit avec publiciteSpotify Free, YouTube
PayAsYouGoModelAchat au telechargementiTunes, Amazon Music

Sortie complete d'un single

Une sortie complete d’une seule piste avec un artiste principal, un artiste invite et des credits de contributeurs complets.

Metadonnees d’entree :

ChampValeur
TitreMidnight Run
ArtisteLuna Wave (principal), DJ Koda (invite)
UPC198765432109
Date de sortie2025-08-15
LabelNeon Sounds
Numero de catalogueNS-2025-042
GenreElectronic / Deep House
C-Line2025 Neon Sounds LLC
P-Line2025 Neon Sounds LLC
ISRC de la pisteUSNS12500001
ExpliciteNon explicite

XML genere :

<?xml version="1.0" encoding="UTF-8"?>
<NewReleaseMessage
xmlns:ern="http://ddex.net/xml/ern/43"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ddex.net/xml/ern/43 http://ddex.net/xml/ern/43/release-notification.xsd"
AvsVersionId="3"
LanguageAndScriptCode="en">
<MessageHeader>
<MessageThreadId>20250815-neonsounds-001</MessageThreadId>
<MessageId>20250815-neonsounds-001-msg01</MessageId>
<MessageSender>
<PartyId>PADPIDA2025010100A</PartyId>
<PartyName><FullName>Neon Sounds</FullName></PartyName>
</MessageSender>
<MessageRecipient>
<PartyId>PADPIDA2014120301U</PartyId>
<PartyName><FullName>Spotify</FullName></PartyName>
</MessageRecipient>
<MessageCreatedDateTime>2025-08-01T10:30:00Z</MessageCreatedDateTime>
</MessageHeader>
<PartyList>
<Party>
<PartyReference>P_LABEL_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds LLC</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:label:100</ProprietaryId>
</PartyId>
</Party>
<Party>
<PartyReference>P_ARTIST_LUNAWAVE</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Luna Wave</FullName>
</PartyName>
<PartyId>
<ISNI>0000000012345678</ISNI>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:200</ProprietaryId>
</PartyId>
</Party>
<Party>
<PartyReference>P_ARTIST_DJKODA</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>DJ Koda</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:201</ProprietaryId>
</PartyId>
</Party>
<Party>
<PartyReference>P_CONTRIB_SARAHCHEN</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Sarah Chen</FullName>
</PartyName>
<PartyId>
<IpiNameNumber>00123456789</IpiNameNumber>
</PartyId>
</Party>
<Party>
<PartyReference>P_CONTRIB_MIXMASTER</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Mike Torres</FullName>
</PartyName>
</Party>
<Party>
<PartyReference>P_PUBLISHER_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds Publishing</FullName>
</PartyName>
</Party>
</PartyList>
<ResourceList>
<SoundRecording>
<ResourceReference>A1</ResourceReference>
<Type>MusicalWorkSoundRecording</Type>
<SoundRecordingEdition>
<ResourceId>
<ISRC>USNS12500001</ISRC>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T1</TechnicalResourceDetailsReference>
<DeliveryFile>
<Type>AudioFile</Type>
<AudioCodecType UserDefinedValue="WAV">UserDefined</AudioCodecType>
<NumberOfChannels>2</NumberOfChannels>
<SamplingRate>44100</SamplingRate>
<BitsPerSample>16</BitsPerSample>
<File>
<URI>resources/198765432109_01_01.wav</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>d41d8cd98f00b204e9800998ecf8427e</HashSumValue>
</HashSum>
</File>
</DeliveryFile>
</TechnicalDetails>
</SoundRecordingEdition>
<WorkId>
<ISWC>T3351864278</ISWC>
</WorkId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<Contributor SequenceNumber="1">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<Role>ComposerLyricist</Role>
</Contributor>
<Contributor SequenceNumber="2">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<Role>StudioProducer</Role>
</Contributor>
<Contributor SequenceNumber="3">
<ContributorPartyReference>P_CONTRIB_MIXMASTER</ContributorPartyReference>
<Role>MixingEngineer</Role>
</Contributor>
<Contributor SequenceNumber="4">
<ContributorPartyReference>P_PUBLISHER_NEONSOUNDS</ContributorPartyReference>
<Role>MusicPublisher</Role>
</Contributor>
<WorkRightsController>
<RightsControllerPartyReference>P_LABEL_NEONSOUNDS</RightsControllerPartyReference>
<RightsControlType>RightsController</RightsControlType>
<RightSharePercentage>100.00</RightSharePercentage>
<Territory>Worldwide</Territory>
</WorkRightsController>
<Duration>PT00H04M32S</Duration>
<ParentalWarningType>NotExplicit</ParentalWarningType>
<LanguageOfPerformance>en</LanguageOfPerformance>
</SoundRecording>
<Image>
<ResourceReference>A2</ResourceReference>
<Type>FrontCoverImage</Type>
<ResourceId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890:cover</ProprietaryId>
</ResourceId>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T2</TechnicalResourceDetailsReference>
<ImageCodecType>JPEG</ImageCodecType>
<ImageHeight>3000</ImageHeight>
<ImageWidth>3000</ImageWidth>
<File>
<URI>resources/198765432109.jpg</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4</HashSumValue>
</HashSum>
</File>
</TechnicalDetails>
</Image>
</ResourceList>
<ReleaseList>
<Release>
<ReleaseReference>R0</ReleaseReference>
<ReleaseType>Single</ReleaseType>
<ReleaseId>
<ICPN>198765432109</ICPN>
<CatalogNumber Namespace="PADPIDA2025010100A">NS-2025-042</CatalogNumber>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<CLine>
<Year>2025</Year>
<CLineText>Neon Sounds LLC</CLineText>
</CLine>
<Genre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</Genre>
<OriginalReleaseDate>2025-08-15</OriginalReleaseDate>
<ParentalWarningType>NotExplicit</ParentalWarningType>
<ResourceGroup>
<SequenceNumber>1</SequenceNumber>
<ResourceGroupContentItem>
<SequenceNumber>1</SequenceNumber>
<ReleaseResourceReference>A1</ReleaseResourceReference>
</ResourceGroupContentItem>
<ResourceGroupContentItem>
<SequenceNumber>2</SequenceNumber>
<ReleaseResourceReference>A2</ReleaseResourceReference>
</ResourceGroupContentItem>
</ResourceGroup>
</Release>
<TrackRelease>
<ReleaseReference>RT1</ReleaseReference>
<ReleaseId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<ReleaseResourceReference>A1</ReleaseResourceReference>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<Genre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</Genre>
<Keywords>electronic deep house chill night</Keywords>
</TrackRelease>
</ReleaseList>
<DealList>
<ReleaseDeal>
<DealReleaseReference>R0</DealReleaseReference>
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>SubscriptionModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>AdvertisementSupportedModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>PayAsYouGoModel</CommercialModelType>
<UseType>PermanentDownload</UseType>
</DealTerms>
</Deal>
</ReleaseDeal>
</DealList>
</NewReleaseMessage>
Sortie ERN 4.3.2 complete (tous les champs, avec declarations IA)

La meme sortie que ci-dessus, exprimee en ERN 4.3.2 avec tous les champs utilises par LabelGrid. Notez les differences par rapport a la version 4.3 : le namespace /432 et AvsVersionId="4", <DisplayGenre> au lieu de <Genre>, la forme complexe <Role><Value>…</Value></Role>, <ContainsAI> sur la piste / la sortie / l’image, un <AiContribution> sur chaque contributeur, et un chanteur entierement IA exprime avec <SpecialContributor>GenerativeAI</SpecialContributor> (aucune entree PartyList).

Metadonnees d’entree (memes que l’exemple 4.3, plus les declarations IA) :

ChampValeur
Generative AI DisclosureAssistance IA mineure uniquement → Partly
Composition AI DisclosureAucune IA generative → None
IA du visuelAucune IA generative → None
Chanteur IACredit entierement genere par IA → SpecialContributor / All

XML genere :

<?xml version="1.0" encoding="UTF-8"?>
<NewReleaseMessage
xmlns:ern="http://ddex.net/xml/ern/432"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://ddex.net/xml/ern/432 http://ddex.net/xml/ern/432/release-notification.xsd"
AvsVersionId="4"
LanguageAndScriptCode="en">
<MessageHeader>
<MessageThreadId>20250815-neonsounds-001</MessageThreadId>
<MessageId>20250815-neonsounds-001-msg01</MessageId>
<MessageSender>
<PartyId>PADPIDA2025010100A</PartyId>
<PartyName><FullName>Neon Sounds</FullName></PartyName>
</MessageSender>
<MessageRecipient>
<PartyId>PADPIDA2014120301U</PartyId>
<PartyName><FullName>Spotify</FullName></PartyName>
</MessageRecipient>
<MessageCreatedDateTime>2025-08-01T10:30:00Z</MessageCreatedDateTime>
</MessageHeader>
<PartyList>
<Party>
<PartyReference>P_LABEL_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds LLC</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:label:100</ProprietaryId>
</PartyId>
</Party>
<Party>
<PartyReference>P_ARTIST_LUNAWAVE</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Luna Wave</FullName>
</PartyName>
<PartyId>
<ISNI>0000000012345678</ISNI>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:200</ProprietaryId>
</PartyId>
</Party>
<Party>
<PartyReference>P_ARTIST_DJKODA</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>DJ Koda</FullName>
</PartyName>
<PartyId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:artist:201</ProprietaryId>
</PartyId>
</Party>
<Party>
<PartyReference>P_CONTRIB_SARAHCHEN</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Sarah Chen</FullName>
</PartyName>
<PartyId>
<IpiNameNumber>00123456789</IpiNameNumber>
</PartyId>
</Party>
<Party>
<PartyReference>P_CONTRIB_MIXMASTER</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Mike Torres</FullName>
</PartyName>
</Party>
<Party>
<PartyReference>P_PUBLISHER_NEONSOUNDS</PartyReference>
<PartyName LanguageAndScriptCode="en">
<FullName>Neon Sounds Publishing</FullName>
</PartyName>
</Party>
<!-- No Party entry for the AI vocalist — it is declared via SpecialContributor -->
</PartyList>
<ResourceList>
<SoundRecording>
<ResourceReference>A1</ResourceReference>
<Type>MusicalWorkSoundRecording</Type>
<SoundRecordingEdition>
<ResourceId>
<ISRC>USNS12500001</ISRC>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T1</TechnicalResourceDetailsReference>
<DeliveryFile>
<Type>AudioFile</Type>
<AudioCodecType UserDefinedValue="WAV">UserDefined</AudioCodecType>
<NumberOfChannels>2</NumberOfChannels>
<SamplingRate>44100</SamplingRate>
<BitsPerSample>16</BitsPerSample>
<File>
<URI>resources/198765432109_01_01.wav</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>d41d8cd98f00b204e9800998ecf8427e</HashSumValue>
</HashSum>
</File>
</DeliveryFile>
</TechnicalDetails>
</SoundRecordingEdition>
<WorkId>
<ISWC>T3351864278</ISWC>
</WorkId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<!-- Contributors use the complex Role form and carry an AiContribution -->
<Contributor SequenceNumber="1">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<Role><Value>ComposerLyricist</Value></Role>
<AiContribution>None</AiContribution>
</Contributor>
<Contributor SequenceNumber="2">
<ContributorPartyReference>P_CONTRIB_SARAHCHEN</ContributorPartyReference>
<Role><Value>StudioProducer</Value></Role>
<AiContribution>None</AiContribution>
</Contributor>
<Contributor SequenceNumber="3">
<ContributorPartyReference>P_CONTRIB_MIXMASTER</ContributorPartyReference>
<Role><Value>MixingEngineer</Value></Role>
<AiContribution>Partly</AiContribution>
</Contributor>
<!-- Fully AI-generated vocal credit: SpecialContributor replaces the party reference -->
<Contributor SequenceNumber="4">
<SpecialContributor>GenerativeAI</SpecialContributor>
<Role><Value>Vocalist</Value></Role>
<AiContribution>All</AiContribution>
</Contributor>
<Contributor SequenceNumber="5">
<ContributorPartyReference>P_PUBLISHER_NEONSOUNDS</ContributorPartyReference>
<Role><Value>MusicPublisher</Value></Role>
<AiContribution>Partly</AiContribution>
</Contributor>
<WorkRightsController>
<RightsControllerPartyReference>P_LABEL_NEONSOUNDS</RightsControllerPartyReference>
<RightsControlType>RightsController</RightsControlType>
<RightSharePercentage>100.00</RightSharePercentage>
<Territory>Worldwide</Territory>
</WorkRightsController>
<Duration>PT00H04M32S</Duration>
<ParentalWarningType>NotExplicit</ParentalWarningType>
<!-- Track-level AI = highest of Generative AI (Partly) and Composition AI (None) -->
<ContainsAI>Partly</ContainsAI>
<LanguageOfPerformance>en</LanguageOfPerformance>
</SoundRecording>
<Image>
<ResourceReference>A2</ResourceReference>
<Type>FrontCoverImage</Type>
<ResourceId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890:cover</ProprietaryId>
</ResourceId>
<!-- Artwork AI declaration, before TechnicalDetails -->
<ContainsAI>None</ContainsAI>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T2</TechnicalResourceDetailsReference>
<ImageCodecType>JPEG</ImageCodecType>
<ImageHeight>3000</ImageHeight>
<ImageWidth>3000</ImageWidth>
<File>
<URI>resources/198765432109.jpg</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4</HashSumValue>
</HashSum>
</File>
</TechnicalDetails>
</Image>
</ResourceList>
<ReleaseList>
<Release>
<ReleaseReference>R0</ReleaseReference>
<ReleaseType>Single</ReleaseType>
<ReleaseId>
<ICPN>198765432109</ICPN>
<CatalogNumber Namespace="PADPIDA2025010100A">NS-2025-042</CatalogNumber>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:release:67890</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave feat. DJ Koda</DisplayArtistName>
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
</DisplayArtist>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<CLine>
<Year>2025</Year>
<CLineText>Neon Sounds LLC</CLineText>
</CLine>
<!-- 4.3.2 uses DisplayGenre instead of Genre -->
<DisplayGenre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</DisplayGenre>
<OriginalReleaseDate>2025-08-15</OriginalReleaseDate>
<ParentalWarningType>NotExplicit</ParentalWarningType>
<ResourceGroup>
<SequenceNumber>1</SequenceNumber>
<ResourceGroupContentItem>
<SequenceNumber>1</SequenceNumber>
<ReleaseResourceReference>A1</ReleaseResourceReference>
</ResourceGroupContentItem>
<ResourceGroupContentItem>
<SequenceNumber>2</SequenceNumber>
<ReleaseResourceReference>A2</ReleaseResourceReference>
</ResourceGroupContentItem>
</ResourceGroup>
<!-- Release-level AI = highest value across all tracks and artwork -->
<ContainsAI>Partly</ContainsAI>
</Release>
<TrackRelease>
<ReleaseReference>RT1</ReleaseReference>
<ReleaseId>
<ProprietaryId Namespace="PADPIDA2025010100A">labelgrid:track:12345</ProprietaryId>
</ReleaseId>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Midnight Run</TitleText>
<SubTitle/>
</DisplayTitle>
<ReleaseResourceReference>A1</ReleaseResourceReference>
<ReleaseLabelReference>P_LABEL_NEONSOUNDS</ReleaseLabelReference>
<DisplayGenre>
<GenreText>Electronic</GenreText>
<SubGenre>Deep House</SubGenre>
</DisplayGenre>
<Keywords>electronic deep house chill night</Keywords>
</TrackRelease>
</ReleaseList>
<DealList>
<ReleaseDeal>
<DealReleaseReference>R0</DealReleaseReference>
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>SubscriptionModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>AdvertisementSupportedModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>
<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>PayAsYouGoModel</CommercialModelType>
<UseType>PermanentDownload</UseType>
</DealTerms>
</Deal>
</ReleaseDeal>
</DealList>
</NewReleaseMessage>
Titres multilingues (japonais)

Lorsqu’une sortie a des metadonnees en anglais et en japonais. Tous les elements DisplayTitleText viennent en premier, puis tous les elements DisplayTitle. Les lectures phonetiques japonaises utilisent ja-Kana (mappe depuis l’interne ja-Jpan).

<!-- All DisplayTitleText elements first -->
<DisplayTitleText LanguageAndScriptCode="ja">夜明けの歌</DisplayTitleText>
<DisplayTitleText LanguageAndScriptCode="en">Song of Dawn</DisplayTitleText>
<!-- Then all DisplayTitle elements -->
<DisplayTitle LanguageAndScriptCode="ja">
<TitleText>夜明けの歌</TitleText>
<SubTitle/>
</DisplayTitle>
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Song of Dawn</TitleText>
<SubTitle/>
</DisplayTitle>
<!-- Japanese phonetic reading uses ja-Kana -->
<PartyName LanguageAndScriptCode="en">
<FullName>Yuki Tanaka</FullName>
</PartyName>
<PartyName LanguageAndScriptCode="ja-Kana">
<FullName>タナカ ユキ</FullName>
</PartyName>

Points cles :

  • Regroupez tous les elements DisplayTitleText ensemble, puis tous les elements DisplayTitle
  • Utilisez ja-Kana pour les lectures phonetiques japonaises (katakana) — ceci est mappe depuis le code interne ja-Jpan
  • Fournissez les titres dans chaque langue prise en charge
Piste remix avec version du mix

Lorsqu’une piste est un remix, la version du mix va dans SubTitle et le remixer recoit a la fois un role d’affichage FeaturedArtist et un ArtisticRole de Remixer.

<SoundRecording>
<ResourceReference>A1</ResourceReference>
<Type>MusicalWorkSoundRecording</Type>
<SoundRecordingEdition>
<ResourceId>
<ISRC>GBXYZ2500042</ISRC>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Deep Records</PLineText>
</PLine>
</SoundRecordingEdition>
<!-- DisplayTitleText uses base title only (NOT "Horizon (Koda Extended Mix)") -->
<DisplayTitleText LanguageAndScriptCode="en">Horizon</DisplayTitleText>
<!-- Mix version goes into SubTitle -->
<DisplayTitle LanguageAndScriptCode="en">
<TitleText>Horizon</TitleText>
<SubTitle>Koda Extended Mix</SubTitle>
</DisplayTitle>
<DisplayArtistName ApplicableTerritoryCode="Worldwide">Luna Wave</DisplayArtistName>
<!-- Primary artist -->
<DisplayArtist SequenceNumber="1">
<ArtistPartyReference>P_ARTIST_LUNAWAVE</ArtistPartyReference>
<DisplayArtistRole>MainArtist</DisplayArtistRole>
</DisplayArtist>
<!-- Remixer: uses FeaturedArtist for display + ArtisticRole=Remixer -->
<DisplayArtist SequenceNumber="2">
<ArtistPartyReference>P_ARTIST_DJKODA</ArtistPartyReference>
<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
<ArtisticRole>Remixer</ArtisticRole>
</DisplayArtist>
<Duration>PT00H06M45S</Duration>
<ParentalWarningType>NotExplicit</ParentalWarningType>
</SoundRecording>

Points cles :

  • DisplayTitleText contient uniquement le titre de base — jamais la forme concatenee comme “Horizon (Koda Extended Mix)”
  • La version du mix va dans SubTitle a l’interieur de DisplayTitle
  • Le remixer a besoin des deux DisplayArtistRole=FeaturedArtist et ArtisticRole=Remixer
  • Si des titres multilingues sont utilises, localisez la version du mix dans chaque langue
Dolby Atmos (stereo + immersif)

Lorsqu’une piste a des versions stereo et Dolby Atmos, le SoundRecording contient deux elements SoundRecordingEdition — un NonImmersiveEdition et un ImmersiveEdition. Chacun doit avoir son propre ISRC unique.

<SoundRecording>
<ResourceReference>A1</ResourceReference>
<Type>MusicalWorkSoundRecording</Type>
<!-- Stereo edition (marked NonImmersive when Dolby also exists) -->
<SoundRecordingEdition>
<Type>NonImmersiveEdition</Type>
<ResourceId>
<ISRC>USNS12500001</ISRC>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<TechnicalDetails>
<TechnicalResourceDetailsReference>T1</TechnicalResourceDetailsReference>
<DeliveryFile>
<Type>AudioFile</Type>
<AudioCodecType UserDefinedValue="WAV">UserDefined</AudioCodecType>
<NumberOfChannels>2</NumberOfChannels>
<SamplingRate>44100</SamplingRate>
<BitsPerSample>16</BitsPerSample>
<File>
<URI>resources/198765432109_01_01.wav</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>d41d8cd98f00b204e9800998ecf8427e</HashSumValue>
</HashSum>
</File>
</DeliveryFile>
</TechnicalDetails>
</SoundRecordingEdition>
<!-- Dolby Atmos / Immersive edition (separate ISRC required) -->
<SoundRecordingEdition>
<Type>ImmersiveEdition</Type>
<ResourceId>
<!-- Must be a different ISRC from the stereo edition -->
<ISRC>USNS12500002</ISRC>
</ResourceId>
<PLine>
<Year>2025</Year>
<PLineText>Neon Sounds LLC</PLineText>
</PLine>
<TechnicalDetails>
<!-- Technical ref suffixed with "I" for immersive -->
<TechnicalResourceDetailsReference>T1I</TechnicalResourceDetailsReference>
<DeliveryFile>
<Type>AudioFile</Type>
<AudioCodecType UserDefinedValue="DolbyAtmos">UserDefined</AudioCodecType>
<NumberOfChannels>8</NumberOfChannels>
<SamplingRate>48000</SamplingRate>
<BitsPerSample>24</BitsPerSample>
<File>
<!-- Dolby file uses "-dolby" suffix -->
<URI>resources/198765432109_01_01-dolby.wav</URI>
<HashSum>
<Algorithm>MD5</Algorithm>
<HashSumValue>f1e2d3c4b5a6f1e2d3c4b5a6f1e2d3c4</HashSumValue>
</HashSum>
</File>
</DeliveryFile>
</TechnicalDetails>
</SoundRecordingEdition>
<DisplayTitleText LanguageAndScriptCode="en">Midnight Run</DisplayTitleText>
<!-- ... titles, artists, contributors, duration, parental warning ... -->
</SoundRecording>

Points cles :

  • L’edition stereo recoit <Type>NonImmersiveEdition</Type> uniquement lorsqu’une edition Dolby existe aussi
  • L’edition Dolby utilise <Type>ImmersiveEdition</Type>
  • Chaque edition doit avoir un ISRC different
  • Le TechnicalResourceDetailsReference immersif est suffixe avec I (par exemple, T1I)
  • L’URI du fichier Dolby utilise un suffixe -dolby
  • Dolby Atmos necessite un minimum de 6 canaux (surround 5.1), generalement 8 canaux
Titulaires de droits d'auteur avec splits par territoire

Plusieurs titulaires de droits d’auteur avec des splits de pourcentage par region. L’element par defaut est WorkRightsController. Lorsqu’aucun titulaire de droits d’auteur n’est defini, le label est utilise comme controleur de droits par defaut a 100 %.

<!-- Copyright owner: 60% worldwide -->
<WorkRightsController>
<RightsControllerPartyReference>P_OWNER_PUBLISHERA</RightsControllerPartyReference>
<RightsControlType>RightsController</RightsControlType>
<RightSharePercentage>60.00</RightSharePercentage>
<Territory>Worldwide</Territory>
</WorkRightsController>
<!-- Copyright owner: 40% worldwide -->
<WorkRightsController>
<RightsControllerPartyReference>P_OWNER_PUBLISHERB</RightsControllerPartyReference>
<RightsControlType>RightsController</RightsControlType>
<RightSharePercentage>40.00</RightSharePercentage>
<Territory>Worldwide</Territory>
</WorkRightsController>

Points cles :

  • Les pourcentages doivent totaliser exactement 100 % par territoire
  • Utilisez Worldwide pour une couverture globale, ou des codes de territoire ISO 3166-1 alpha-2 specifiques
  • RightSharePercentage utilise deux decimales (par exemple, 60.00)
  • Un point de vente specifique utilise ResourceRightsController au lieu de WorkRightsController
Accord specifique par territoire

Lorsqu’une sortie n’est disponible que dans des pays specifiques plutot qu’a l’echelle mondiale :

<Deal>
<DealTerms>
<!-- Available only in US, GB, DE, FR, and AU -->
<TerritoryCode>US</TerritoryCode>
<TerritoryCode>GB</TerritoryCode>
<TerritoryCode>DE</TerritoryCode>
<TerritoryCode>FR</TerritoryCode>
<TerritoryCode>AU</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-08-15</StartDate>
</ValidityPeriod>
<CommercialModelType>SubscriptionModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>

Points cles :

  • Listez plusieurs elements <TerritoryCode> au sein du meme DealTerms
  • Utilisez les codes ISO 3166-1 alpha-2 (par exemple, US, GB, DE)
  • Omettez Worldwide lorsque vous specifiez des territoires individuels
Retrait (supprimer une sortie)

Lorsque vous emettez un retrait, les dates de debut et de fin dans la periode de validite sont definies 48 heures dans le passe :

<Deal>
<DealTerms>
<TerritoryCode>Worldwide</TerritoryCode>
<ValidityPeriod>
<StartDate>2025-06-13</StartDate>
<EndDate>2025-06-13</EndDate>
</ValidityPeriod>
<CommercialModelType>SubscriptionModel</CommercialModelType>
<UseType>UserMakeAvailableLabelProvided</UseType>
</DealTerms>
</Deal>

Points cles :

  • StartDate et EndDate sont definis a la meme date, 48 heures dans le passe
  • Cela signale au DSP que la sortie doit etre retiree
  • Un accord de retrait est genere pour chaque type de modele commercial

Table de correspondance rapide reliant les champs de metadonnees LabelGrid a leur representation XML DDEX.

Champ LabelGridElement XML DDEXNotes
UPC/EAN<ICPN>A l’interieur de <ReleaseId>
ISRC<ISRC>A l’interieur de <ResourceId> dans <SoundRecordingEdition>
ISWC<ISWC>A l’interieur de <WorkId> sur le <SoundRecording> parent (pas dans l’Edition)
Titre<DisplayTitleText> + <DisplayTitle>Un par langue ; DisplayTitleText utilise uniquement le titre de base
Version du mix<SubTitle>A l’interieur de <DisplayTitle>
Artiste principal<DisplayArtistRole>MainArtist</DisplayArtistRole>
Artiste invite<DisplayArtistRole>FeaturedArtist</DisplayArtistRole>
RemixerFeaturedArtist + <ArtisticRole>Remixer</ArtisticRole>Les deux elements sont necessaires
Genre<GenreText> + <SubGenre>Mappe aux codes de genre specifiques au DSP
P-Line<PLine> > <Year> + <PLineText>
C-Line<CLine> > <Year> + <CLineText>
Explicite<ParentalWarningType>Valeurs : NotExplicit, Explicit, ExplicitContentEdited
Date de sortie<OriginalReleaseDate> + <StartDate> de l’accordFormat : YYYY-MM-DD
Territoire<TerritoryCode>Worldwide ou ISO 3166-1 alpha-2
Contributeur (Producer)<Role>StudioProducer</Role>Le nom d’affichage “Producer” correspond au DDEX StudioProducer
Contributeur (autre)<Contributor> > <Role>Codes de role DDEX (par exemple, ComposerLyricist, MixingEngineer)
Editeur<Role>MusicPublisher</Role>A l’interieur de <Contributor>
Fichier audio<File> > <URI>Patron : resources/{UPC}_{disc}_{track}.{ext}
IPI<IpiNameNumber>Complete avec des zeros jusqu’a 11 chiffres
ISNI<ISNI>16 caracteres
Pochette<Image> avec <Type>FrontCoverImage</Type>
Type de sortie<ReleaseType>Apparait avant <ReleaseId> dans ERN 4.3
Numero de catalogue<CatalogNumber>A l’interieur de <ReleaseId>
Ressources de piste<ResourceGroup> > <ResourceGroupContentItem>Pas ReleaseResourceReferenceList
Duree<Duration>Format ISO 8601 : PT00H04M32S
Langue<LanguageOfPerformance>Code de langue ISO
Mots-cles<Keywords>A l’interieur de <TrackRelease>
Dolby stereo<Type>NonImmersiveEdition</Type>Present uniquement lorsque l’edition Dolby existe aussi
Dolby Atmos<Type>ImmersiveEdition</Type>ISRC separe requis ; l’URI du fichier utilise le suffixe -dolby
Titulaire de droits d’auteur<WorkRightsController>Avec <RightSharePercentage> et <Territory>

Ces elements n’existent que dans 4.3.1 et 4.3.2 (pas dans 4.3.0). Voir Champs de declaration IA.

Champ LabelGridElement XML DDEXNotes
Genre (4.3.1+)<DisplayGenre>Remplace <Genre> ; memes enfants GenreText + SubGenre
Role de contributeur (4.3.1+)<Role><Value>…</Value></Role>Forme complexe ; <Value UserDefinedValue="…">UserDefined</Value> pour les roles non standards
IA sur piste/sortie/visuel<ContainsAI>Valeurs None / Partly / All ; sur SoundRecording, Release et Image
IA par contributeur<AiContribution>Valeurs None / Partly / All ; enfant de <Contributor>, apres <Role>
Credit entierement genere par IA<SpecialContributor>GenerativeAI</SpecialContributor>Remplace <ContributorPartyReference> (aucun nom de partie)

Utilisez cette liste de verification pour verifier votre XML avant soumission :

  • La racine <NewReleaseMessage> inclut le namespace et l’emplacement du schema ERN 4.3
  • <MessageHeader> a un MessageThreadId, MessageId, expediteur et destinataire valides
  • Toutes les parties (label, artistes, contributeurs, editeurs) sont definies dans <PartyList>
  • Chaque partie a un <PartyReference> unique
  • Le type de <SoundRecording> est MusicalWorkSoundRecording
  • L’ISRC est a l’interieur de <SoundRecordingEdition> > <ResourceId>
  • L’ISWC (si present) est sur le <SoundRecording> parent via <WorkId>, pas a l’interieur de l’Edition
  • <DisplayTitleText> contient uniquement le titre de base (sans version du mix)
  • La version du mix (le cas echeant) est dans <SubTitle> a l’interieur de <DisplayTitle>
  • Le remixer a a la fois DisplayArtistRole=FeaturedArtist et ArtisticRole=Remixer
  • L’<URI> du fichier audio suit le patron resources/{UPC}_{disc}_{track}.{ext}
  • La pochette <Image> a <Type>FrontCoverImage</Type>
  • <ReleaseType> vient avant <ReleaseId> dans le <Release> principal
  • L’UPC/EAN est dans <ICPN> a l’interieur de <ReleaseId>
  • Les ressources sont liees via <ResourceGroup> (pas ReleaseResourceReferenceList)
  • Les editions Dolby Atmos ont des ISRCs separes des editions stereo
  • Les pourcentages de <WorkRightsController> totalisent 100 % par territoire
  • Le <TerritoryCode> de l’accord utilise Worldwide ou des codes ISO 3166-1 alpha-2 valides
  • Toutes les dates utilisent le format YYYY-MM-DD
  • Les accords de retrait ont <StartDate> et <EndDate> definis 48 heures dans le passe

ERN 4.3.1 / 4.3.2 uniquement :

  • Le genre utilise <DisplayGenre> (pas <Genre>)
  • Chaque <Contributor> utilise la forme complexe <Role><Value>…</Value></Role>
  • <ContainsAI> est present sur chaque <SoundRecording>, la <Release> et l’<Image> de pochette, avec la valeur None, Partly ou All
  • <ContainsAI> sur la piste se place apres <ParentalWarningType> ; sur l’image, il se place avant <TechnicalDetails>
  • Chaque <Contributor> porte un <AiContribution> (None / Partly / All) immediatement apres <Role>
  • Les credits entierement generes par IA utilisent <SpecialContributor>GenerativeAI</SpecialContributor> a la place de <ContributorPartyReference>

Si vous avez besoin d’assistance pour l’integration DDEX, contactez notre equipe de support avec vos exigences techniques.

Vous n’utilisez pas encore LabelGrid ?

Tout ce que vous venez de lire est disponible sur notre plateforme.

Découvrez ce que LabelGrid peut faire →