Statusleiste: 'Aktueller Wert'

  • Habe mit Suchbegriffen 'Resampling' und 'Statusleiste' das Forum und das Handbuch durchmustert und nichts Passendes gefunden, darum frage ich lieber noch mal nach.


    Version 1.3.4 hat gegenüber 1.2.6 eine Windows-typische Statusleiste. In dieser wird ganz rechts in einem eigenen Panel eine Abtastrate angegeben, die als 'Aktueller Wert' bezeichnet wird. (Nur am Rande: Bei einer Bildschirmauflösung von 1280x1024 Pixel und einer 120 DPI Schriftgröße wird der Zahlenwert teilweise abgeschnitten, weil das StatusBarPanel zu schmal ist. Dies jedenfalls, wenn Deutsch als Sprache gewählt wird. - Dürfte ein allgemeines Problem sein, dass die deutsche Beschriftung mehr Platz als die englische braucht.)


    Verstehe ich das richtig: In diesem Panel steht die tatsächliche an Audacity gelieferte Datenrate. Genau die, die von einem Programm ('Player') oder vom ADC eines Soundchips via Treiber geliefert wird. Sollte die Projekt-Abtastrate nicht mit der gelieferten Rate übereinstimmen, dann interpoliert ('resampelt') Audacity zwischen den gelieferten Abtastungen. Das Interpolationsverfahren lässt sich in den Einstellungen wählen.


    Hierzu noch zwei Fragen: Woher bezieht Audacity seine Zeitinformation, um seine eigenen Sampling-Rates zeitlich exakt zu definieren? Wird etwa (in der Windows-Version) der HighPerformanceCounter der Win-API genutzt?


    Sofern die Sampling-Rates des Audacity-Projekts und der Datenquelle zahlenmäßig übereinstimmen, kann natürlich das Resampling entfallen und Audacity übernimmt die Abtastwerte genau so wie sie kommen. Die Frage ist hierbei: 'Glaubt' Audacity der Angabe der Sampling-Rate, wie sie eine Datenquelle liefert, blind oder macht Audacity seine eigene Rate-Messung, da es ja über eine Zeitbasis verfügt, und prüft dann ob die gemeldete Sampling-Rate auch stimmt?


    Danke für eine Stellungnahme.
    lidocorc

  • Ergänzung


    Was das Panel in der Statuszeile betrifft ist meine Vermutung offensichtlich falsch. Eine .wav-Datei mit 8 kHz Abtastrate, die von einem Player abgespielt wird, bewirkt eine Anzeige 'Aktueller Wert 44100'.


    Ich habe es bis jetzt nicht geschafft, eine andere Anzeige als 44100 herzukriegen. Ich muss jedoch einräumen, dass ich einen wesentlichen Parameter meiner Hardware nicht einstellen kann: Die Benutzeroberfläche meiner Soundkarte bietet keine Möglichkeit an, die Abtastrate der Wandler einzustellen - obwohl der SoundChip laut Hersteller (Analog Devices) über eine PLL verfügt, so dass sich Abtastraten zwischen 7 kHz und 96 kHz in 1 Hz Schritten einstellen ließen.

  • Ich müsste jetzt im Code nachschauen, aber ich glaube, der "Aktuelle Wert" ist der Wert, der verwendet wird, um Audio an die Soundkarte rauszugeben. Aufgenommen wird immer mit der Projektrate, die unten links in der Statuszeile steht.


    Intern werden die Samplingraten einfach an die Soundkarte übergeben, die dann den Takt erzeugt. High-Performance-Counter werden dafür nicht benötigt. Und, ja, Audacity "glaubt" der Soundkarte, was sie liefert, denn eine eigene Schätzung würde bei einem Nicht-Echtzeitbetriebssystem wie Windows sowieso nur zu weiteren Fehlern führen.