> For the complete documentation index, see [llms.txt](https://audalaxy.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://audalaxy.gitbook.io/docs/musicmaster/musicmaster-scheduling-workflow.md).

# MusicMaster Scheduling Workflow

**The API can be used under the following conditions:**

* the specified XML format can be exported from Musicmaster
* all required fields in the XML are filled in
* the import trigger must be triggered repeatedly if audio elements are missing

## Workflow

1. Audio files export
2. Audio meta data export
3. MusicMaster Scheduling export

<figure><img src="/files/xofaQzkhx6eC6XXTmJvZ" alt=""><figcaption></figcaption></figure>

**1. Audio files export:**

* Export as MP3
* Upload via FTP or clients that support s3-APIs
* The name of the file has to be unique and match with the ID or ArchivNumber.

**2. Meta data export:**

* Export the meta data files from the broadcast system and upload via FTP or s3-client.
* Meta data must be linked to audio files by ID or ArchivNumber.

**3. MusicMaster Scheduling:**

* Export the MusicMaster scheduling as XML
* The XML indicates which audio files are used by referencing the ID or ArchivNumber of the audio files.
* One XML per broadcast hour OR one XML per day
* The targeted channel needs to be enabled by Audalaxy first.
* Reference the Audalaxy channel by providing the channel key as StationName in the XML file.
* Upload via FTP or s3-Client
* The finished upload automatically triggers the import process.
* Audio files will be added to the Audalaxy audio library, scheduled will be transformed to the internal format and pushed to the Audalaxy console.
* The reset of the schedules is set to midnight by default. It is possible to change the reset to any hour - this must be set up by a Audalaxy staff member.

Upload files via FTP or s3-client (rClone etc.) and wait. If the file is in the “processed”-folder, it has been processed. If you want to update the scheduling, audio files or audio metadata, simply re-upload the file again.

{% hint style="warning" %}
**Attention:**

* All files must have a lower case file extension (.mp3, .xml, …)
* All audio files used in a MusicMaster scheduling must be present BEFORE, otherwise they are marked as errors and skipped
* For all audio files that are used in a schedule but can not be found are created empty files with the missing ID as name in the “requested”-folder. You can observe this folder and upload missing files. The reference in the “requested”-folder is then deleted.
* Missing audio files are not automatically included in the schedule if they are sent subsequently - the scheduling XML file must be uploaded again.
  {% endhint %}

## API

**Audio files:**

The system works internally with MP3. Therefore, we recommend providing MP3 files in high quality (44,100 Hz sampling rate). In principle, MP2/MUS files can also be provided. But then we convert them internally. To get the best quality, you should upload the files in the correct format.

**Meta data export:**

* For the audio files, the corresponding metadata is absolutely necessary.
* Two formats are supported: XML and CSV
* The file must have the same name as the audio file (ArchivNumber), but the extension .xml or .csv.
* In addition to the artist and song, the most important information is the duration, CueIn, CueOut, StartNext, FadeIn, FadeOut and Intro.
* There is no automatic calculation of transitions. Exactly the values that are transferred via the metadata file are used.

The XML already contains the names of the fields - the CSV is structured as follows:

```csv

"ID":        1,
"Name":      2,
"Title":     3,
"Etype":     4,
"CueIn":     5,
"CueOut":    6,
"Intro":     7,
"Outro":     8,
"Mix":       9,
"FadeIn":    10,
"FadeOut":   11,
"DbFadeIn":  12,
"DbFadeOut": 13,
"FadeType":  18,
"Type":      19,
"StartNext": 30,
```

**XML:**

{% file src="/files/qtRFiV8GPRuCnWbP2U8L" %}

**CSV:**

{% file src="/files/oUcWAJgYfLnWByJDcPIU" %}

**Example of a scheduling:**

* Schedule files must have the channelkey included in the StationName (additional text is ok): <mark style="color:red;">`<StationStationName="rtlb_98i4femse6_uemx">`</mark>
* The schedule must contain only one date as AirDate tag (format is MM.DD.YYYY): <mark style="color:red;">`<AirDateDate="07.24.2022">`</mark>
* Attention! If there is another AirDate with the same date in the same file, it OVERWRITES the other schedule.
* All hours must be specified within the AirDate tag.
* Each element needs an ID tag that references the audio file.
* Each element needs a runtime value (format mm:ss). If the runtime is 00:00, the element is played “on ramp” of the following track.

```xml
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Station StationName="radio_98i4gehse2_uenx">
    <AirDate Date="07.24.2022">
        <AirHour Hour="00">
            <Element>
                <ID>S100166</ID>
                <Artist>JINGLE</Artist>
                <Title>Dropin - Jingle MANN 05</Title>
                <AirTime>00:00:00</AirTime>
                <Runtime>00:00</Runtime>
                <NonMusic>Y</NonMusic>
                <Ende></Ende>
                <EAN></EAN>
                <ISRC></ISRC>
                <Label></Label>
                <LC></LC>
                <Verlag></Verlag>
                <Komponist></Komponist>
                <Info1></Info1>
                <Info2></Info2>
                <Info3></Info3>
            </Element>
            <Element>
                <ID>33050M</ID>
                <Artist>Spliff</Artist>
                <Title>Carbonara</Title>
                <AirTime>00:00:00</AirTime>
                <Runtime>04:04</Runtime>
                <NonMusic>N</NonMusic>
                <Ende>F</Ende>
                <EAN>0042283987128</EAN>
                <ISRC></ISRC>
                <Label>Polyphon</Label>
                <LC>00310</LC>
                <Verlag>Edition Spliff</Verlag>
                <Komponist>Heil/Klimek/Tykwer</Komponist>
                <Info1></Info1>
                <Info2></Info2>
                <Info3></Info3>
            </Element>
        </AirHour>
        <AirHour Hour="01">
            <Element>
                <ID>S100159</ID>
                <Artist>JINGLE</Artist>
                <Title>Dropin - Jingle FRAU 01</Title>
                <AirTime>01:00:00</AirTime>
                <Runtime>00:00</Runtime>
                <NonMusic>Y</NonMusic>
                <Ende></Ende>
                <EAN></EAN>
                <ISRC></ISRC>
                <Label></Label>
                <LC></LC>
                <Verlag></Verlag>
                <Komponist></Komponist>
                <Info1></Info1>
                <Info2></Info2>
                <Info3></Info3>
            </Element>
            <Element>
                <ID>13572M</ID>
                <Artist>Amanda Lear</Artist>
                <Title>Follow Me</Title>
                <AirTime>01:00:00</AirTime>
                <Runtime>03:38</Runtime>
                <NonMusic>N</NonMusic>
                <Ende>F</Ende>
                <EAN>4013659660033</EAN>
                <ISRC></ISRC>
                <Label>Target</Label>
                <LC>04520</LC>
                <Verlag>Arabella Musikverlag GmbH</Verlag>
                <Komponist>A.Monn, A. Lear</Komponist>
                <Info1></Info1>
                <Info2></Info2>
                <Info3></Info3>
            </Element>
        </AirHour>
        <AirHour Hour="02">
            <Element>
                <ID>S100157</ID>
                <Artist>JINGLE</Artist>
                <Title>Dropin - Jingle FRAU 03</Title>
                <AirTime>02:00:00</AirTime>
                <Runtime>00:00</Runtime>
                <NonMusic>Y</NonMusic>
                <Ende></Ende>
                <EAN></EAN>
                <ISRC></ISRC>
                <Label></Label>
                <LC></LC>
                <Verlag></Verlag>
                <Komponist></Komponist>
                <Info1></Info1>
                <Info2></Info2>
                <Info3></Info3>
            </Element>
            <Element>
                <ID>24162M</ID>
                <Artist>Klingande</Artist>
                <Title>Jubel</Title>
                <AirTime>02:00:00</AirTime>
                <Runtime>03:16</Runtime>
                <NonMusic>N</NonMusic>
                <Ende>C</Ende>
                <EAN>9715800109716</EAN>
                <ISRC>FR9W11310765</ISRC>
                <Label>B1 Recordings</Label>
                <LC>16158</LC>
                <Verlag>EMI Music Publishing France / Klingande Music / Sony ATV</Verlag>
                <Komponist>Cédric Steinmyller , Edgar Catry</Komponist>
                <Info1></Info1>
                <Info2></Info2>
                <Info3></Info3>
            </Element
        </AirHour>
    </AirDate>
</Station>

```

**Description Structure of the XML document:**

* **ID** (*string* mandatory) - archive number
* **Artist** (*string* mandatory) - artist name
* **Title** (*string* mandatory) - song name
* **AirTime** (*time* highly recommended) - format hh:mm:ss
* **Runtime** (*time* mandatory) - length of the audio item
* **NonMusic** (*bool* highly recommended) - is the audio item music (N) or not (Y)
* **Ende** (*bool*)
* **EAN** (*string*) - EAN code
* **ISRC** (*string* highly recommend) - International Standard Recording Code
* **Label** (*string*) - label name
* **LC** (*string*) - label code
* **Verlag** (*string*) - publisher name
* **Komponist** (*string*) - composer’s name
* **Info1** (*string*) - more information about the audio item
* **Info2** (*string*) - more information about the audio item
* **Info3** (*string*) - more information about the audio item

## More workflows

**Automatic uploads:**

* Observe the “requested”-folder for new elements and upload them to the server.
* To fill the audio library send schedules and upload the requested audio files.
* The references in the “requested”-folder will be deleted after sucesfull imports.
* Upload the schedule again until no new elements are found.

## Troubleshooting

### **The mixing does not sound good**

* deactivate sound processing
* show CueIn, CueOut, FadIn, FadeOut and StartNext values in the protocol of the console and compare them with the values from the XML.

<figure><img src="/files/syloE8S2HKhv0gMrAvJD" alt=""><figcaption></figcaption></figure>

* If these values differ, the transfer was not correct.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://audalaxy.gitbook.io/docs/musicmaster/musicmaster-scheduling-workflow.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
