NI Kontakt Experten gesucht

dokta_ALK

dokta_ALK

Registriert
29.04.04
Beiträge
600
Reaktionen
115
Punkte
1.013
Werte Kollegen und Innen.

Wer von euch ist Kontakt-Experte und kann mit bei folgender Problemstellung weiterhelfen?

Ich habe wieder eine alte Sample CD (das ursprüngliche Drumkit From Hell) ausgegraben. Da diese schon über 20 Jahre alt ist funktionieren die mitglieferten mappings für die gängigen Sampler nicht mehr, bzw. gibt es die garnicht mehr. ;)
Die Dokumentation ist ausgezeichnet, so habe ich mir ein neues Kontakt Instrument angelegt. Das hat so weit super funktioniert.
Die Samples werden in 2 Varianten geliefert, einmal als closed miced und einmal als room mic.
Das von mir erstellte Instrument ist für die close mic Variante mal gemapped.
Nun möchte ich noch die room mic Variante als 2. Instrument anlegen, ohne da wieder alle Samples manuell in die Zones zu ziehen, Gruppen anzulegen, usw.
Die Samples haben folgende Namenskonvention:
Close mic: ./cVerzeichnis/c Samplename.wav
Room mic: ./rVerzeichnis/r Samplename.wav
Ich möchte das Instument kopieren und einfach alle Samples per Script o.Ä. austauschen, alle Routings, Gruppen, Voice Groups sollen gleich bleiben.
Weiß jemand wie man das am elegantesten löst?

2. Frage:
Ich habe Einzelausgänge für Bass Drum, Snare, Toms und Becken geschaffen, damit ich diese entsprechend noch mit externen Plug-Ins bearbeiten kann. Nun ist es sehr mühsam, dass man sowohl in Cubase als auch in Kontakt selbst die Ausgänge erst immer aktivieren muss. Gibt es eine Möglichkeit, dass dies beim Laden des Instruments automatisch geschied?
 
Drumkit from Hell ist doch Toontrack oder irre ich mich? Gab's da eine Version für Kontakt???
Musst du dir eine Midimap bauen
 
Die Samples haben folgende Namenskonvention:
Close mic: ./cVerzeichnis/c Samplename.wav
Room mic: ./rVerzeichnis/r Samplename.wav

Sind die Namen wirklich komplett durchgehend so? Dann könntest du dir auch mit einem "Hack" behelfen und die "r" Samples umbenennen, so dass die genauso wie die "c" Samples heißen (also r gegen c tauschen, sollte jeder Mass-Renamer können). Danach versteckste die Original-c-Samples und lädst das Patch. Kontakt wird dann nach den Samples fragen und du zeigst ihm brav den Ordner mit den umbenannten r-Samples. Die sollten dann geladen werden, denn Kontakt schaut erst einmal auf den Namen, nicht auf irgendwelche Checksums. Dann "speichern unter", danach die c-Samples wieder auffindbar machen und das c-Patch laden.
Einziger Nachteil ist, dass die Samples jetzt identische Namen haben, mich persönlich würde das aber nicht groß scheren, so lange die Ordner entsprechend benannt sind.
 
Dann könntest du dir auch mit einem "Hack" behelfen
🤔
Wäre zumindest ein Workaround.

Da müsste es aber eine elegantere Methode geben.
Es gibt ja von NI die Crator Tools. Da gibt eis ein Beispiel-Script wo man die Samplenamen aller Zones auslesen kann.
Das Ergebnis würde ich nun gerne als Basis hernehmen für ein Script:
z.B.:
ersetze in Zone 1 das Sample ./cVerzeichnis/c SamplenameA.wav mit dem Sample ./rVerzeichnis/r SamplenameA.wav
ersetze in Zone 2 das Sample ./cVerzeichnis/c SamplenameB.wav mit dem Sample ./rVerzeichnis/r SamplenameB.wav
usw.
 
Da müsste es aber eine elegantere Methode geben.

Oh ganz bestimmt (bzw., naja, vielleicht auch nicht...), aber die müsste man erst erlernen. Was mir, wenn sowas womöglich eine einmalige Aktion ist, zu umständlich wäre. Das, was ich beschrieben habe, sollte hingegen nach max. 5 Minuten durch sein, sofern denn die Namen wirklich bis auf c/r identisch sind, man einen Mass-Renamer hat (unter macOS eingebaut, bei Windows ja mittlerweile vielleicht auch, gab aber schon früher gute Freeware) und Kontakt nicht doch auf einer Checksum-Prüfung besteht (sollte aber nicht so sein).
 

Im Finder:

Bildschirmfoto 2025-03-17 um 19.42.05.png


Wenn man mehrere Dateien angewählt hat und das benutzt, taucht ein Popup auf, da findet man diverse Optionen. Extrem praktisch.
 
Im Finder:

Anhang anzeigen 153041

Wenn man mehrere Dateien angewählt hat und das benutzt, taucht ein Popup auf, da findet man diverse Optionen. Extrem praktisch.
Tatsächlich, das ist ja witzig, das muss neu sein, hab ich noch nie gesehen. Cool.

Edit: ist aber sehr, sehr basic. Da lobe ich mir doch den A Better Finder Rename oder das kostenlose R-Name
 
Zuletzt bearbeitet:
Habe eine elegante Lösung gefunden. ChatGPT hat geholfen. 😁

1. Script das die Gruppen, Zonen und Samples in eine csv-Datei schreibt:

local file = io.open("D:\zones_export.csv", "w") -- Datei im Schreibmodus öffnen

if file then
file:write("Group,Zone,Sample\n") -- Kopfzeile schreiben

local count = 0
for _, g in pairs(instrument.groups) do
for n, z in pairs(g.zones) do
local line = string.format('"%s",%d,"%s"\n', g.name, n, z.file or "Kein Sample")
file:write(line) -- Zeile in Datei schreiben
count = count + 1
end
end

file:close() -- Datei schließen
print(count .. " zones exported to zones_export.csv")
else
print("Fehler: Datei konnte nicht geöffnet werden")
end

Kommt sowas raus (Auszug):

Group,Zone,Sample
"Kick Left",0,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 L01.wav"
"Kick Left",1,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 L02.wav"
"Kick Left",2,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 L03.wav"
"Kick Left",3,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 L04.wav"
"Kick Left",4,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 L05.wav"
"Kick Right",0,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 R01.wav"
"Kick Right",1,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 R02.wav"
"Kick Right",2,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 R03.wav"
"Kick Right",3,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 R04.wav"
"Kick Right",4,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 R05.wav"
"Kick Right",5,"W:\Samples\Drumkit From Hell\<<<Drumkit from hell 2025 r.nki>>>\cSonor Kick3 R06.wav"

csv-Datei mit Notepad++ entsprechend aufbereiten:

Group,Zone,NewSample
Kick Left,0,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 L01.wav
Kick Left,1,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 L02.wav
Kick Left,2,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 L03.wav
Kick Left,3,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 L04.wav
Kick Left,4,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 L05.wav
Kick Right,0,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 R01.wav
Kick Right,1,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 R02.wav
Kick Right,2,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 R03.wav
Kick Right,3,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 R04.wav
Kick Right,4,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 R05.wav
Kick Right,5,W:/Samples/Drumkit From Hell/Samples/rDrumkit From Hell/rSonor Kick3 R06.wav

Script zum ersetzen der Samples:
local csv_file = "D:/sample_mapping.csv" -- CSV-Dateipfad
local mappings = {}

-- CSV-Datei einlesen
local file, err = io.open(csv_file, "r")
if not file then
print("⚠️ Fehler beim Öffnen der Datei:", err)
return
end

-- Jede Zeile aus der CSV-Datei lesen
for line in file:lines() do
local group, zone, new_sample = line:match('([^,]+),([^,]+),([^,]+)')

if group and zone and new_sample then
table.insert(mappings, {group = group, zone = tonumber(zone), sample = new_sample})
end
end

file:close() -- Datei schließen

-- Samples ersetzen
local count = 0
for _, map in pairs(mappings) do
for _, g in pairs(instrument.groups) do
if g.name == map.group then -- Richtige Gruppe?
for n, z in pairs(g.zones) do
if n == map.zone then -- Richtige Zone?
print(" Ersetze Sample in", map.group, "Zone", map.zone, "→", map.sample)
z.file = map.sample
count = count + 1
end
end
end
end
end

print("✅ " .. count .. " Samples ersetzt!")

Done!
 
Bleibt nur noch Frage 2 offen.

Vielleicht auch nochmal den Herrn ChatGPT bemühen. 😁
 
Bleibt nur noch Frage 2 offen.

Ich weiß nicht, wie man da was in Cubase veranstalten kann, aber anstatt Instrumente direkt zu laden, habe ich mir in Logic genau zu dem Zweck Channelstrip-Presets abgespeichert. Da werden dann die Multiout-Instrumente unverzüglich im Multiout-Modus geladen.
 
🤔
Das scheint nicht zu funktionieren.
Das Instrument, bzw. die Instrumente können als Multi-Instrument gespeichert werden, dann wird die Ausgangskonfiguration vom Kontakt mitgespeichert.
Die Ausgänge in Cubase müssen manuell aktiviert werden, oder wie von Sascha Frank vorgeschlagen mittels Channel-Preset gespeichert werden.
 

Ähnliche Themen

tim_heinrich
Antworten
0
Aufrufe
2K
tim_heinrich
tim_heinrich
tim_heinrich
    • Danke
  • Artikel
Antworten
0
Aufrufe
2K
tim_heinrich
tim_heinrich
moonbooter
    • Danke
  • Artikel
Antworten
5
Aufrufe
10K
YogiX
Y
tim_heinrich
    • Danke
  • Artikel
Antworten
2
Aufrufe
6K
tim_heinrich
tim_heinrich
tim_heinrich
    • Danke
  • Artikel
Antworten
4
Aufrufe
13K
guitarheroe
guitarheroe

Oft gelesene Themen

Zurück
Oben