AcourateConvolver

uli.brueggemann
Aktiver Hersteller
Beiträge: 4658
Registriert: 23.03.2009, 15:58
Wohnort: 33649
Kontaktdaten:

AcourateConvolver v1.1.5

Beitrag von uli.brueggemann »

Hallo zusammen,

ich habe aufgrund der Anmerkungen von Markus noch einmal hinsichtlich der benötigten Rechenzeit nachgeforscht. Und tatsächlich eine angezogene Handbremse gefunden. Die Filterung war es nicht, d.h. die Faltung läuft schon wunschgemäß. Die Bremse war in der Aufbereitung der Parameter der ISO226-Volumenregelung.

Das Update v1.1.5 ist online, kann nun heruntergeladen und drüberinstalliert werden.

Ich hoffe somit auf positive Berichte. :D

Grüsse
Uli
Bild
nightingale
Aktiver Hörer
Beiträge: 156
Registriert: 10.01.2012, 14:30
Wohnort: Wien

Beitrag von nightingale »

@Uli: Danke!
Bild
markuspac
Aktiver Hörer
Beiträge: 10
Registriert: 06.08.2011, 10:32
Wohnort: Düsseldorf (406xx)

Beitrag von markuspac »

Hallo Zusammen,

Uli ist inzwischen bei AcourateConvolver v1.1.8 angelangt und hat sich auf dem Weg dahin sehr intensiv mit dem Thema Prozesspriorität und effektivem Einsatz von Multithreading auseinandergesetzt (ich bekam dazu ein paar detaillierte Einblicke). Ich kann an dieser Stelle vermelden, dass AcourateConvolver zwischenzeitig die zur Verfügung stehenden Systemressourcen sehr effektiv nutzt und darüber hinaus hat sich die Systembelastung sowie die Convolution-Zeit, bei ansonsten gleicher Einstellung, durch Ulis Optimierungen halbiert resp. auf ein Viertel reduziert. Die anfänglichen Probleme mit gelegentlichen kurzen Störungen durch parallele Aktivitäten auf dem Media-PC (bspw. Remote-Logon via RDP, Album-Scrolling im JRiver MediaCenter o.ä.) sind bei mir passé.

Bei mir hat AcourateConvolver nun die bisher genutzte Kombination aus VST-Host/Convolver-VST abgelöst und auch die JRiver-interne Convolution Engine. Arourate-FLOW (selektives Crosstalk) sowie die komfortable Umschaltung von Filtern gibt’s meines Wissens nur hier und darüber hinaus gefällt mir AcourateConvolver auch bisher klanglich am besten. Ich kann insoweit nach meinen Erfahrungen nur empfehlen, Ulis AcourateConvolver zur Optimierung seines Setups mal auszuprobieren.

Sorry, das vorgenannte klingt ein wenig nach Werbung, aber was soll ich sagen, ich bin halt sehr zufrieden. 8)

mfg
Markus
Bild
cantusfirmus
Aktiver Hörer
Beiträge: 599
Registriert: 27.11.2011, 13:19

Beitrag von cantusfirmus »

Hallo Markus, hallo Uli,
markuspac hat geschrieben:Bei mir hat AcourateConvolver nun die bisher genutzte Kombination aus VST-Host/Convolver-VST abgelöst und auch die JRiver-interne Convolution Engine.
Das klingt sehr spannend, selbiges werde ich auf meinem neu zusammenzubauenden und aufzusetzenden Audio Pc probieren. Das heißt Markus: du verwendest Rerouting bei Deiner Soundkarte?

Ich würde bei dieser Gelegenheit gerne auch ausprobieren, wie ein Softwareplayer (CMP2, oder Jplay) im Vergleich zum G-Sonos digital an den Audio-PC angeschlossen klingt. Bin gespannt, bloß Zeit habe ich Moment keine :cry:

Herzliche Grüße

Horst
Bild
markuspac
Aktiver Hörer
Beiträge: 10
Registriert: 06.08.2011, 10:32
Wohnort: Düsseldorf (406xx)

Beitrag von markuspac »

Hallo Horst,
cantusfirmus hat geschrieben:... Das heißt Markus: du verwendest Rerouting bei Deiner Soundkarte?
ja genau, ich verwende das Loopback Feature meines RME AES32 Audio-Interface.

mfg
Markus
Bild
uli.brueggemann
Aktiver Hersteller
Beiträge: 4658
Registriert: 23.03.2009, 15:58
Wohnort: 33649
Kontaktdaten:

AcourateConvolver v1.1.10

Beitrag von uli.brueggemann »

Hallo zusammen,

ich möchte berichten, dass nun V1.1.10 online ist.

In der letzten Woche war ich arg eingespannt mit dem Thema. Um das Optimum herauszuholen muss man doch tief einsteigen. Und es gibt einen Haufen Fallstricke.

Nun, was hat sich getan:
Das Wichtigste ist eine saubere Verkettung und Abstufung aller beteiligten Threads in dem Programm unter Berücksichtigung von Prozess- und Threadprioritäten. Dabei kann man nicht beliebig die Prioritäten hochschrauben (wozu man mit Programmen wie Pocess Lasso schnell mal in Versuchung gerät), es kann sogar kontraproduktiv sein.

Generell sollte die Ein-/Ausgabe in Richtung Soundkarte möglichst ohne Unterbrechungen laufen. Hierzu hat der Soundkartentreiber bereits eine hohe Priorität (wobei der Treiber immer noch mit anderen Treibern im System in Konkurrenz steht. Man will ja auch nicht, dass die Grafik flackert etc.). Wenn man nun dem Anwenderprogramm die höchsten Prios verpasst, dann unterbricht u.U. das eigene Programm den Treiber, weil es gleichberechtigt ist und damit auch mal an die Reihe kommt. Also genügend darunter bleiben.

Bei ASIO ist ein Bufferswitch-Thread für den Datenaustausch mit dem Treiberprogramm zuständig. Dieser läuft ebenfalls mit THREAD_PRIORITY_TIME_CRITICAL. Nun sind die Puffer nicht allzugroß, üblich sind z.B. 512, 1024 oder 2048 Samples. Bei mehreren Kanälen und langen Filtern kann man die CPU richtig ins Schwitzen bringen. Ergo werden die ASIO-Puffer ihrerseits wiederum in größeren Puffern zwischengepuffert. Wenn dann ein Zwischenpuffer voll ist, wird auf einen zweiten umgeschaltet und zur Bearbeitung des ersten Zwischenpuffers ein weiterer Thread gestartet.

In diesem Thread finden nun die rechenintensiven Prozesse statt. Diese müssen fertig sein, bevor der nächste Zwischenpuffer fertig ist. Aus der Bearbeitungzeit und der Pufferzeit ergibt sich der Echtzeitindex. Welcher einerseits nicht zu groß werden darf, damit der CPU auch noch Zeit für andere Aufgaben zur Verfügung steht (das sind interne Prozesse aber auch andere vom Anwender aufgerufene Programme). Die Filterung darf ihrerseits ebenfalls nicht gestoppt werden, insofern ist hier wiederum eine abgestufte Priorität festzulegen. Die aber immer noch höher als bei anderen Programmen sein sollte.

Zuletzt gibt es auch noch Anzeigen auf der Benutzeroberfläche und Reaktionen auf Benutzereingaben. Was mit einer normalen Priorität erfolgt.

Was sich nun so einfach liest, ist aber doch tricky. Man wünscht sich ja auch, dass bei Mehrkern-CPUs die Filterung von Kanälen parallel auf den Kernen in eigenen Threads läuft. Ausnutzung aller Ressourcen eben. Weiterhin gibt es diverse Möglichkeiten der grundsätzlichen Gestaltung der Filterung. Auch, wie man auf eine Filterumschaltung reagiert.

Und daher folgen nach 5% Inspiration eben 95% Transpiration. :mrgreen:

So. Und nun hoffe ich, dass bis zur nächsten Version eine gewisse Ruhezeit einkehrt. Es gibt ja noch viel anderes zu tun.

Grüsse
Uli

PS: es bleibt noch anzumerken, dass es natürlich Sinn macht, unnötige Programme oder Dienste zu dekativieren, so sie denn auch wirklich laufen bzw. wirklich aktiv werden könnten. Ebenfalls sollte man Systembremsen wie Energieoptionen oder Aero rausnehmen (Anpassung auf optimale Leistung). Leider kann man Windows nicht dahingehend konfigurieren, dass es alle restlichen Aufgaben dann erledigt, wenn dafür auch Zeit verfügbar wäre. So verbleibt einem zumeist nur das Abschalten unnötiger Prozesse. Oder vielleicht auch das Herabsenken von Prioritäten mit Process Lasso.
Bild
uli.brueggemann
Aktiver Hersteller
Beiträge: 4658
Registriert: 23.03.2009, 15:58
Wohnort: 33649
Kontaktdaten:

AcourateConvolver v1.2.0 + ACRemote

Beitrag von uli.brueggemann »

Ich möchte bekanntgeben, dass ab sofort die neue Version V1.2.0 online zum Herunterladen zur Verfügung steht. Die neue Version kann einfach über die bestehende Installation drüber installiert werden.

Was ist neu:
  • einige kleinere Bugfixes und Verbesserungen
  • der Lautstärkeregler kann nun bis -50 dB abgesenkt werden
  • es ist nun möglich, den AcourateConvolver per Webbrowser fernzubedienen. Hierbei kann jedes Gerät, welches einen Webbrowser per WLAN zur Verfügung stellt, verwendet werden. Zum Beispiel auch ein iPhone, iPad, iPod, Android-Tablet ...
Einrichtung und Start:
  1. Mit AcourateConvolver zusammen wird nun ein weiteres Programm installiert und eine Desktop-Verknüpfung erzeugt. Das Programm heisst ACRemote. Beide Programme können unabhängig voneinander, jedoch auf demselben PC gestartet werden, die Reihenfolge ist beliebig. Sind beide Programme gestartet, so finden sie sich auch. ACRemote ist dann als kleines Symbol im Systemtray zu erkennen, mit Rechtsklick erscheint auch ein kleines Menü, um es z.B. zu beenden. Beim ersten Start wird üblicherweise seitens des Betriebssystems nachgefragt, ob es zum Netzwerkbetrieb zugelassen wird, dies ist zu bejahen. Ein Heimnetzwerk reicht aus.
  2. In der Statuszeile von AcourateConvolver wird die IP-Adresse des Convolver-Rechners angezeigt und zwar zusammen mit einem Port. Z.B. in der Form 192.168.137.6:8077
  3. Auf irgendeinem weiteren Rechner oder WLAN-fähiges Mobiltelefon im Netzwerk (es könnte auch der Convolver selbst sein) kann nun im Browser die Adresse, Beispiel http:// 192.168.137.6:8077, angewählt werden. Es erscheint dann die Fernbedienung, wie im beigefügten Bild dargestellt. Damit kann der AcourateConvolver nun ferngesteuert werden.

    Bild
  4. Der Convolver ist der Master. Die Fernbedienung fragt alle 10 sek den Status ab. Eine Funktion der Fernbedienung wird unmittelbar an den Convolver übertragen und direkt der Status abgefragt.
Grüsse
Uli
Bild
cantusfirmus
Aktiver Hörer
Beiträge: 599
Registriert: 27.11.2011, 13:19

Beitrag von cantusfirmus »

Liebe Forenten,

Da ich gerade mit der Testversion von AcourateConvolver herumspiele, würde ich beim Routing um Hilfe bitten: Ich verwende eine RME 9632 PCi interne Soundkarte und versuche derweilen ganz simpel mittels foobar den online Convolver zum Laufen zu bringen.

Kann mir jemand einen Tipp geben, welche Einstellungen ich im HDSP Mixer (eben zwecks Routin) vornehmen muss, und woran ich erkenne kann, wann und ob der Convolver richtig läuft?

G ibt es Erfahrungen mit der CMP2 Playersoftware und dem AcourateConvoler? Bei Jplay soll es ja Aussetzer gegeben haben, ausserdem läuft bei mir JPlay nicht rund, ich habe Probleme FIles vom Nas abzuspielen - der JPlay Service muss nach jedem Hochfahren manuell gestoppt und gestartet werden (aber das ist ein anderes Problem).

VIelen Dank und Grüße Horst
Bild
uli.brueggemann
Aktiver Hersteller
Beiträge: 4658
Registriert: 23.03.2009, 15:58
Wohnort: 33649
Kontaktdaten:

Beitrag von uli.brueggemann »

cantusfirmus hat geschrieben:Liebe Forenten,

Da ich gerade mit der Testversion von AcourateConvolver herumspiele, würde ich beim Routing um Hilfe bitten: Ich verwende eine RME 9632 PCi interne Soundkarte und versuche derweilen ganz simpel mittels foobar den online Convolver zum Laufen zu bringen.

Kann mir jemand einen Tipp geben, welche Einstellungen ich im HDSP Mixer (eben zwecks Routin) vornehmen muss, und woran ich erkenne kann, wann und ob der Convolver richtig läuft?

G ibt es Erfahrungen mit der CMP2 Playersoftware und dem AcourateConvoler? Bei Jplay soll es ja Aussetzer gegeben haben, ausserdem läuft bei mir JPlay nicht rund, ich habe Probleme FIles vom Nas abzuspielen - der JPlay Service muss nach jedem Hochfahren manuell gestoppt und gestartet werden (aber das ist ein anderes Problem).

VIelen Dank und Grüße Horst
Horst,

normalerweise gibt Foobar auf den Kanälen 1+2 aus, wenn ASIO gewählt wird (nach Installation des ASIO Plugins, http://www.foobar2000.org/components/view/foo_out_asio)
Im Totalmix hierzu die Matrix so konfigurieren, dass die Playbackkanäle 1+2 auf die Ausgangskanäle 1+2 geschaltet sind.
Der Mixer zeigt unter den Kanälen 1+2 in einem weissen Feld die Namen an. Diese Felder anklicken und dabei die STRG-Taste gedrückt lassen. Die Farbe wird nun rot. Damit werden die Ausgänge 1+2 auf die Eingänge 1+2 zurückgeroutet.
Nun können im AcourateConvolver die Eingangkanäle 1+2 verwendet werden. Den gewünschten Ausgangskanälen (nicht jedoch 1+2 !) den zugehörigen Eingangskanal zuweisen, ebenso das Filter.
Danach sollte der Start klappen, ebenso die Wiedergabe per Foobar.

Bei Sascha hat es Störungen mit Wiedergabe per JPlay gegeben. Die Analyse per Process Hacker hat gezeigt, dass sich JPlay schlichtweg die allerhöchste Pozessprioriät aneignet. Demzufolge wird dem Convolver keine Luft mehr gelassen. Was aber bedeutet, dass auch nicht genug Daten nachgefüttert werden.
Fazit: so geht es definitiv nicht. Bezgl. cmP müssten die Spezialisten Auskunft geben. Ansonsten geht nur try and error.

Grüsse
Uli
Bild
cantusfirmus
Aktiver Hörer
Beiträge: 599
Registriert: 27.11.2011, 13:19

Beitrag von cantusfirmus »

Lieber Uli,

da ich noch immer ein bisschen festhänge, darf ich Dich hier weiter um Hilfe bitten? Ich glaube, das ist auch besser, als eine PN, da es ja hoffentlich oder wahrscheinlich auch noch jemanden anderen interessieren könnte, wie man ans Ziel kommt.

Zum Mixer der RME9632:
Drei Reihen an Reglern gibt es HDSP Mixer. Für uns interessant sind die mittleren und die unteren, glaube ich.

Da spielt bei mir die Musik in der Mitte ganz links. Darunter nach Out1 und Out2 stehen An1 und AN2. (andere Optionen wären anwählbar.)

In der dritten Reihe habe ich die beiden linken Kanäle AN1 und AN2 mit STRG klick angewählt. Die Auswahl wurde rot.

Im Menü sieht man unter Options MS Processing Out1+2 to AN1+AN2.

Soweit so gut, bei Acourate Convolver habe ich folgendes konfiguriert: Ausgang: adat1 und adat2, Eingang: Analog 1 und Analog2.

Starte ich Foobar (Output Asio Hammerfall) und den Convoler, sieht man wirklich im Mixer in der mittleren Reihe unter Out5 ein Signal, das zeitverzögert die Musik abspielt. (out6 wäre auch noch dabei, aber die Testversion spielt nur Mono)

Mein Problem: ich denke, die Konfiguration ist falsch, da ein seltsamer Nachhall entsteht bei Out5 (also am gefalteten Signal) und noch immer das Original und das gefaltete SIgnal hörbar ist.

Reichen meine Angaben, um mir ein bisschen weiterzuhelfen?

Grüße und Danke sagt Horst

ps: ich hielt mich eigentlich für technisch nicht unbegabt, glaube aber, ich muss mein Urteil überdenken...
Bild
veloplex
Aktiver Hörer
Beiträge: 360
Registriert: 23.01.2010, 13:41
Wohnort: Berlin

Beitrag von veloplex »

Hallo Horst,

leider kann ich dir nicht sagen, ob ein Fehler vorliegt und wo der Fehler besteht.

Ich würde das routing der Kanäle mal umgekehrt probieren. Also in Foobar (asio out aktivieren!) als Ausgang z.B. adat 5 und 6 wählen und im mixer entsprechend mit Strg auf rot stellen. Im Convolver adat 5 und 6 als Eingang und out 1,2 als Ausgang konfigurieren. In der rme matrix sollte dann nur die Schnittstelle out1,2 und analog1,2 aktiviert sein. Dann wirst du auf deinen Ausgängen 1 und 2 das convolvingsignal hören, denke ich.

Gruß Christoph
Bild
nightingale
Aktiver Hörer
Beiträge: 156
Registriert: 10.01.2012, 14:30
Wohnort: Wien

Beitrag von nightingale »

Hallo Horst, ich habe gestern gut und gerne 2 Stunden mit dieser Thematik auf einer FF400 verbracht und es letztendlich geschaft eine 3 Wege XO zu definieren. Ich kann aber im Moment nicht auf mein TotalMix zugreifen. Ich erkläre es aber gerne morgen im Detail.
Wichtiger Hinweis > RME Manual nach loopback suchen. Die Ausgangskanäle werden, wenn sie mit ctrl+klick angewählt werden (Rot) automatisch zur Software zurück und dann auf die Eingangskanäle In1 & In2 fix geroutet. Diese beiden Kanäle kannst du dann im AcourateConvolver verwenden.
Aber morgen mehr dazu.
LG
Peter
Bild
uli.brueggemann
Aktiver Hersteller
Beiträge: 4658
Registriert: 23.03.2009, 15:58
Wohnort: 33649
Kontaktdaten:

Beitrag von uli.brueggemann »

cantusfirmus hat geschrieben:Lieber Uli,
da ich noch immer ein bisschen festhänge, darf ich Dich hier weiter um Hilfe bitten?
Hallo Horst,

eigentlich ist es einfach, aber dann gibt es doch Fallstricke. So hat es evtl. auch einen Einfluss, ob das Routing auf Submix oder Free gestellt ist etc.

Ich kann dazu aber auch anbieten, dass ich z.B. per Teamviewer Unterstützung geben kann.

Ein Foobar-Fallstrick: man kann bei Foobar ja zu ASIO ein Custom Channel Mapping definieren. So dass eben die Ausgabe nicht nur auf den Kanälen 1&2 läuft, sondern woanders, beispielsweise ADAT (damit man für das Loopback die Analogausgänge freihält). Wenn man dann aber für die Ausgabe wiederum ASIO wählt und nicht das mit eigenem Namen definierte Channel Mapping, dann werden die falschen Kanäle ausgegeben.

Also, die Wege nach Rom sind nicht glatt geteert, sondern es gibt Stolpersteine.

Grüsse
Uli
Bild
cantusfirmus
Aktiver Hörer
Beiträge: 599
Registriert: 27.11.2011, 13:19

Beitrag von cantusfirmus »

Lieber Uli,

vielen Dank für Deine Unterstützung
Ich kann dazu aber auch anbieten, dass ich z.B. per Teamviewer Unterstützung geben kann.
Darauf würde ich in letzter Konsequenz zurückkommen. Da meine freie Zeit aber erst auf das Wochenende fällt, Du da aber bestimmt beim FOrentreffen bist, müssen wir das Unterfangen wahrscheinlich auf nächste Woche verschieben.
Wenn man dann aber für die Ausgabe wiederum ASIO wählt und nicht das mit eigenem Namen definierte Channel Mapping, dann werden die falschen Kanäle ausgegeben.
Daran könnte es m.M.n. liegen. Kannst Du das vielleicht versuchen noch etwas tiefergehend zu erläutern? Oder aber ich versuche die Ausgabe auf die normalerweise von Foobar und Asio verwendeten Ausgänge (also AN1 AN2?) zu routen. DIe Frage ist dann aber, welche Einstellungen genau müsste ich im Mixer vornehmen?

Ich glaube wir haben noch ein paar Möglichkeiten...

Beste Grüße Horst

PS (edit): gerade noch gesehen Uli:
So hat es evtl. auch einen Einfluss, ob das Routing auf Submix oder Free gestellt ist etc.
wo kann ich diese Einstellung überprüfen?
Bild
nightingale
Aktiver Hörer
Beiträge: 156
Registriert: 10.01.2012, 14:30
Wohnort: Wien

Beitrag von nightingale »

Hallo Horst,
anbei Details meiner config:
Laptop > fb2k > ff400 > AcourateConvolver > 3way XO > ff400

1) fb2k: Ich lasse fb2k auf ADAT1 & ADAT2 (untere Reihe) ausgeben (fb2k|references|output|device). Das sind bei der ff400 die Out11 & Out12 channels in der mittleren Reihe von TotalMix.

2) TotalMix: Dazu muss natürlich im Mixer Out11 (mittlere) > A1 (untere) & Out12 > A2 geroutet sein.

2) TotalMixDie beiden Ausgänge A1 (untere) & A2 mit ctrl+klick markieren > Rot

3) AcourateConvolver: nun kannst du das Signal im Convolver einbinden
Ausgang1 > Eingang1: ADAT1 > Filter: XO1L
Ausgang2 > Eingang2: ADAT1 > Filter: XO2L
Ausgang3 > Eingang3: ADAT1 > Filter: XO3L
Ausgang4 > Eingang4: ADAT2 > Filter: XO1R
Ausgang5 > Eingang5: ADAT2 > Filter: XO2R
Ausgang6 > Eingang6: ADAT2 > Filter: XO3R

4) TotalMix: sicher stellen, dass:
Out1 > Analog1
Out2 > Analog2
.
.
.
Out6 > Analog6 geroutet ist

Ich habe es leider nicht geschafft die screen shots hier zu posten. Bei Interesse schicke ich sie dir gerne per email, dann ist dir sicher Alles klar.
Bild
Antworten