Test: VST-Instrument (ProjectSAM Orchestral Essentials 1) / Orchester Library: Exploring Exoplanets (Orchestral Movie Theme)

Beschreibung

Hier ist mein erster Test der Orchester Bibliothek „Orchestral Essentials 1“ von ProjectSAM, welches für 350 EUR erstaunlich gute Orchester-Sounds bietet.

Mein erstes Hörbeispiel:

Durch die Verwendung der Velocity (Anschlagstärke / Anschlagdynamik) und weiteren Automatisierungsparametern lassen sich klangdynamische und pompös, kraftvoll klingende Orchestereinlagen mit einem episch-realistischen Kino-feeling produzieren.

Verwendete Tools

  • Cubase 9 Pro (geht aber auch mit jeder anderen DAW)
  • ProjecSAM Orchestral Essentials 1
  • CME M-Key Keyboard mit 48 Tasten
  • Kontakt 5 Player (kostenlos)

Empfehlungen

Empfehlungen zum Kauf

Zunächst würde ich aber erstmal davon abraten, die Soundlibrary direkt bei ProjectSAM zu kaufen, da sich der angezeigte Preis von 299€ aufgrund der exkludierten Mehrwertsteuer im Endeffekt als teurer (355 €) erweist, als das Paket direkt bei einem deutschen Händler zu erwerben. Ich wollte die Bibliothek natürlich sofort nutzen und habe mich daher für die Downloadversion entschieden. Einige Tage später wollte ich dann doch die Box mit den USB Stick zu der Software haben, wozu mir 22€ extra berechnet wurden. Inklusive der 19 Prozent MwSt. und der nachträglich gelieferten boxed Version, hat mich die Spaß also 377 € gekostet. Es gab zwar einen 25 € Gutschein zum kauf der Sample Library, den man beim Kauf einer neuer Bibliothek direkt auf der Seite einlösen kann, die generell höheren Preise lassen den Erwerb bei einem Händler allerdings als bessere Alternative erscheinen.

Wer das Feeling beim Auspacken von Software liebt, sollte natürlich eine boxed Version kaufen, die kann man dann in einer relativ hübschen Verpackung im Regal einstauben lassen:

Systemanforderungen -und empfehlungen

Nun sollte man denken, dass so ein VST Instrument auf einem aktuellem Rechner ohne Probleme laufen sollte. Das ist leider nicht so ganz der Fall.. Ich habe mir beispielsweise einen nagelneuen Laptop mit i7-Prozessor im MediaMarkt kauft.

http://www.mediamarkt.de/de/product/_acer-aspire-v-17-nitro-vn7-792g-70rv-2163531.html

Das gilt nicht ausschließlich für diese Library, da 5400 RPM generell zu langsam für die meisten Sample-Libraries ist.

Eigenbeurteilung

Die Instrumente sind zwar nicht immer einzeln anwählbar, aber in Ihrer Aufnahmenform bilden sie ein sehr gutes Setup „Orchestergraben“ wie auf dem Screenshot unten dargestellt, der unverändert übernommen werden kann und ein absolutes Orchestererlebnis garantiert.

Microsoft Visual C++ : How to call WinMain() from a console apps main()-method / Wie man die WinMain-Methode von einer Konsolenanwendung aus aufruft

Problem

Eine C++ Anwendung hat als Konsolenanwendung den Einstiegspunkt

int main(void) {...}

aber als Win32-Anwendung den Einstiegspunkt

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)  {...}

Es wird nach einer Möglichkeit gesucht, die WinMain-Methode von einer Konsolen-Anwendung aus aufzurufen, um eine Hauptfenster in der Konsolenanwendung zu generieren.

Ansatz

MSDN definiert die WinMain()-Methode folgendermaßen:

  • hInstance ist ein Element, das als „Handle für eine Instanz“ oder „Handle für ein Modul“ bezeichnet wird. Das Betriebssystem identifiziert mithilfe dieses Werts die ausführbare Datei (EXE), wenn diese in den Arbeitsspeicher geladen wird. Das Instanzhandle wird für bestimmte Windows-Funktionen benötigt—z. B. um Symbole oder Bitmaps zu laden.
  • hPrevInstance hat keine Bedeutung. Es wurde in 16-Bit-Windows verwendet, es ist aber jetzt stets 0 (null).
  • pCmdLine enthält die Befehlszeilenargumente als Unicode-Zeichenfolge.
  • nCmdShow ist ein Flag, das angibt, ob das Hauptanwendungsfenster minimiert, maximiert oder in Normalgröße angezeigt wird.

Die WinMain()-Methode kann von der main()-Anwendung aufgerufen werden, wenn man ein hInstance Handle bekommt. Dies geht folgermaßen:

GetModuleHandle(NULL)

Lösung – Solution

// HelloWorld.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include <windows.h> 

// Das hier braucht man nur wenn man die test.wav abspielen will
//#pragma comment(lib,"winmm.lib")  //für MSV C++   

const char g_szClassName[] = "myWindowClass";

// Step 4: the Window Procedure
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
	switch (msg)
	{
	case WM_CLOSE:
		DestroyWindow(hwnd);
		break;
	case WM_DESTROY:
		PostQuitMessage(0);
		break;
	default:
		return DefWindowProc(hwnd, msg, wParam, lParam);
	}
	return 0;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
	WNDCLASSEX wc;
	HWND hwnd;
	MSG Msg;

	//Step 1: Registering the Window Class
	wc.cbSize = sizeof(WNDCLASSEX);
	wc.style = 0;
	wc.lpfnWndProc = WndProc;
	wc.cbClsExtra = 0;
	wc.cbWndExtra = 0;
	wc.hInstance = hInstance;
	wc.hIcon = LoadIcon(NULL, IDI_APPLICATION);
	wc.hCursor = LoadCursor(NULL, IDC_ARROW);
	wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
	wc.lpszMenuName = NULL;
	wc.lpszClassName = (LPCWSTR) g_szClassName;
	wc.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

	if (!RegisterClassEx(&wc))
	{
		MessageBox(NULL, L"Window Registration Failed!", L"Error!",
			MB_ICONEXCLAMATION | MB_OK);
		return 0;
	}

	// Step 2: Creating the Window
	hwnd = CreateWindowEx(
		WS_EX_CLIENTEDGE,
		(LPCWSTR) g_szClassName,
		L"Eine Mischung aus Console und Window App",
		WS_OVERLAPPEDWINDOW,
		CW_USEDEFAULT, CW_USEDEFAULT, 240, 120,
		NULL, NULL, hInstance, NULL);

	if (hwnd == NULL)
	{
		MessageBox(NULL, L"Window Creation Failed!", L"Error!",
			MB_ICONEXCLAMATION | MB_OK);
		return 0;
	}

	ShowWindow(hwnd, nCmdShow);
	UpdateWindow(hwnd);

	// Step 3: The Message Loop
	while (GetMessage(&Msg, NULL, 0, 0) > 0)
	{
		TranslateMessage(&Msg);
		DispatchMessage(&Msg);
	}
	return Msg.wParam;
}


int main()
{
	// Das hier spielt eine Datei test.wav im gleichen Verzeichnis
	//PlaySound(L"test.wav", NULL, SND_ASYNC);
	
	WinMain(GetModuleHandle(NULL), 0, 0, 1);

	printf("Se hams Fenster geschlossen!");
	getchar();

	return 0;
}

Cubase 9 Pro: Kontakt Player 5 (Sennheiser DrumMic’a) not available under VST Instruments / Kontakt Player 5 (DrumMic’a) nicht gelistet bei VST Instrumente

Problem

Nach der Installation von Sennheisers Drummica (bzw. Kontakt 5 Player) wird unter Cubase 9 Pro der Kontakt Player 5 nicht als Auswahl angezeigt. Diesen muss man auswählen, um Kontakt 5 Player Instrumente (z.B. Drummica) zu nutzen.

After the installation of Sennheisers DrumMic’a (specifically Kontakt Player 5) the Kontakt Player is not listed in the VST Instruments section.

Analysis – Analyse

Die Kontakt 5 Player Installation hat ein 64 Bit Verzeichnis mit den DLL’s angelegt. Die DLL’s wurden weder in VST Verzeichnisse kopiert noch wurde der neue Kontakt 5 Player Pfad als VST Verzeichnis definiert.

„C:\Program Files\Native Instruments\VSTPlugins 64 bit“

After the Kontakt 5 Player installation a new 64 Bit directory is created with the DLL files, that is currentyl not in the VST Plugin paths.

„C:\Program Files\Native Instruments\VSTPlugins 64 bit“

Ansatz – Approach

Anstelle die DLL’s in ein VST-Verzeichnis zu kopieren, legen wir den Pfad als neuen VST-Plugin-Pfad an.

Instead of copying the DLL files in a VST directory, we will create this folder as new VST plugin path.

Lösung – Solution

Unter „Geräte->Plug In Manager“ fügen wir die Kontakt 5 Player DLL’s hinzu, indem wir den Pfad „C:\Program Files\Native Instruments\VSTPlugins 64 bit“ anlegen. Nun wird Kontakt 5 Player gefunden.

Anmerkung: Sollte es Probleme beim Upgrade auf die neue Kontakt 5 Player Version geben (Download fehlgeschlagen im Service Center), kann man die neuste Version einfach von der Native Instruments Website runterladen und neu installieren. DrumMic’a Libraries sind danach in der neuen Kontakt 5 Player Version auswählbar.

Under „Devices->Plug In Manager“ we add the Kontakt 5 Player DLL path as new VST directory „C:\Program Files\Native Instruments\VSTPlugins 64 bit“. After that Kontakt 5 Player will be found.