Wir haben bei einem Test für ein Wortradio die Anforderung, dass die gesamte Musik -6dB leiser ausgespielt werden soll.
Gibt es eine Möglichkeit allen Elementen des Typs „Musik“ so einen Wert ohne die META Daten anzupassen bei der Ausspielung im Betrieb “Auto” auf den Ausspielweg A Regler automatisch zu verpassen?
Ja, das müßte per Skript funktionieren. Kann aber bei nur einem einzigen Player bei den Übergängen zu Nicht-Musik-Elementen – und umgekehrt – zu Schwierigkeiten führen. (Minus 6 dB für Musik sind übrigens immer eine gute Idee.)
var
i: integer;
begin
for i := 0 to CurrentPlaylist.GetCount - 1 do
if CurrentPlaylist.GetItem(i).GetItemType = pitMusic then
CurrentPlaylist.GetItem(i).SetAmplification(-6);
end.
Jetzt müsste man den vorhandenen Wert “Verstärkung (dB)” noch auslesen dann 6 abziehen und wieder setzen. Bei vielen Audios ist ja bereits etwas gesetzt.
Denn jetzt ist bei allen Audios der Wert auf -6.
Geht das auch?
Frage:
Wie ist dieser Wert definiert. In der Playlist temporär verändert? In der Datenbank sehe ich zu einem Element “Musik” noch “+6” und im Plan nun “-6”. Das wäre mein Beispiel. Da würde ich aus 6 dann 0 machen wollen.
var
i: integer;
begin
for i := 0 to CurrentPlaylist.GetCount - 1 do
if CurrentPlaylist.GetItem(i).GetItemType = pitMusic then
CurrentPlaylist.GetItem(i).SetAmplification(CurrentPlaylist.GetItem(i).GetAmplification - 6);
end.
Das ist alles nur temporär in der Playlist. Und du musst natürlich aufpassen, dass das Script nicht versehentlich doppelt läuft.
Dieses Skript macht es automatisch: Beim Laden wird der erste Titel auf „Musik“ untersucht und gegebenenfalls angepasst. Des weiteren bei jedem Start eines Elements das jeweils nächste.
procedure OnLoad;
begin
if CurrentPlaylist.GetItem(0).GetItemType = pitMusic then
CurrentPlaylist.GetItem(0).SetAmplification(CurrentPlaylist.
GetItem(0).GetAmplification - 6);
end;
procedure OnPlayerStart(PlaylistIndex: integer; PlayerIndex: integer;
Item: IPlaylistItem);
begin
if CurrentPlaylist.GetItem(CurrentPlaylist.IndexOf(Item) + 1).GetItemType
= pitMusic then
CurrentPlaylist.GetItem(CurrentPlaylist.IndexOf(Item) + 1).
SetAmplification(CurrentPlaylist.GetItem(CurrentPlaylist.IndexOf(Item)
+ 1).GetAmplification - 6);
end;
begin
end.
Das habe ich so getestet und es passt sehr gut. Vielen Dank!
In der Eventplanung sind jetzt 3 Versionen -1, -2 und -3 die manuell genutzt werden und für eine kommende Stunde automatisch mit “-2” angewendet werden, das kommt für den Höreindruck ganz gut hin.
Prosa (optional):
In der Datenbank haben wir alle Musiktitel recht weit nachgezogen bei der Einpflege und das ist für ein reine Musikstrecke perfekt. Die Wortbeiträge sind recht konservativ produziert, haben dynamik sind aber begrenzt. Wir verzichten auf Voice-Modding und bei der Musik bin ich auch ganz strikt gegen Dynamik-Einschränkungen. Aber da ist sicher ein ganz ungewöhnlicher Trend.
Was sich gut anhört ist eben nicht nur zu berechnen sondern ganz klar ein “Geschmack”. Anfang der 90ger reichte bei der analogen Produktion (Pult) beim Radio ein analoger Begrenzer. Wenn man keine Dynamik wollte ist man da “reingefahren” aber wenn man das schön gemacht hat, dann hörte man aus dem CD-Wechsler, der Schallplatte vor und riss den Regler nicht bis 0 hoch zum Start. Nur wer kann sich sowas heute noch leisten - mal abgesehen von den tausenden Magnetbändern, die jahrelang für eine Pegeltreue angelegt wurden …