Soundqualitätsproblem

Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen

Plasma(alt)

Betreff: gugst du

BeitragDi, Nov 15, 2005 19:28
Antworten mit Zitat
Benutzer-Profile anzeigen
www.goldwave.com
DIV is dead !

Fetze

BeitragMi, Nov 16, 2005 19:21
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Audiodatei, die ich in meinem Spiel verwende, hat 32 Bit Stereo und da tritt der Fehler genauso auf. Ich tippe mal auf einen Einladefehler oder irgendwas, was kein Fehler ist, sich aber in bestimmten Fällen als solcher Auswirkt.

Garfield

BeitragDo, Dez 01, 2005 21:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Also da ich täglich mit Audio Soft und Hardware zu tun habe, hier mal eine professionelle Erklärung:

das mit der Samplerate-Manipulation ist schon "höhere Mathematik" im digitalen Audiobereich.
Da gibt es von absolut krank bis professionell.
Gut klingende Samplerate-Konverter oder eigentlich Pitcher erfordern hohe DSP Leistung, bzw den richtigen Algoritmus für die Berechnung

für profeesionelle Anwendungen wird das eh offline gerechnet, da der Aufwand ziemlich hoch ist.
Für sehr gute Echtzeitanwendungen werden DSP´s mit entsprechenden Algorithmen benötigt.

es ist ja nicht so wie ein analoges Band, das man einfach in halber Geschwindigkeit leufen lässt, sondern hier muss ja am D/A Wandler kontinuierlich ein Wert anliegen. Wenn man jetzt halbiert wiederholt der praktisch 2x denselben Wert und das klingt dann immer statischer!
Daher der immer mettallisch klingenderer Sound. bei 0.1 heisst das 10x denselbern Wert .
Das wäre bei einer Verlängerung also Timestretching so.
Die Samplerate halbieren heißt immer weniger Samples pro Sekunde,also für den Wandler immer eckiger.
bei 1/10 von 44.1 kHz also 4kHz, also nur noch ca. 4000 Samples pro Sekunde, das kann nicht klingen
Die ersten Sounds aus den Atari Kisten waren mit so niedrigen Sampleraten.....

Dafür gibt es eben komplizierte Berechnungen

Am Ausgang der Soundkarte muss ja kontinuierlich was anliegen, oder es wird sowieso zerhackt um die Samplerate künstlich runterzusetzen. Was hier genau manipuliert wird weiß ich nicht, das könnte man an einem digitalen Ausgang einer Soundkarte messen.
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra

Markus2

BeitragDo, Dez 01, 2005 21:39
Antworten mit Zitat
Benutzer-Profile anzeigen
@Garfield
Mit kurzen Worten wäre ein extrem langes Sample gut
weil schneller abspielen kein Problem ist .

Fetze

BeitragDo, Dez 01, 2005 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Die Berechnung ist wohl nicht das Problem, bei B3D hats ja auch geklappt, wie man im direktvergleich hört. Ausserdem ist das Problem Hardwareabhängig. Mit ner Audigy oder Audigy 2 ZS tritt der Fehler jedenfalls auf.

Trotzdem Danke für deine ausführliche Erklärung Smile

Markus2

BeitragDo, Dez 01, 2005 21:43
Antworten mit Zitat
Benutzer-Profile anzeigen
@Fetze
B3D hat da bestimmt nix konvertiert beim einlesen .

Fetze

BeitragDo, Dez 01, 2005 21:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Es ist mir relativ egal, was B3D gemacht hat und was nicht, der Punkt ist, dass es ei B3D funktioniert und bei Bmax nicht. So schwer kann das doch nicht sein, in Bmax dasselbe zu tun, was bei B3D schon geklappt hat.

Garfield

BeitragDo, Dez 01, 2005 22:11
Antworten mit Zitat
Benutzer-Profile anzeigen
Jetzt hab ich ein bischen mehr Zeit.

Die Frage ist was ist das Ziel:

soll der Sound "gepitched" (Tonhöhenveränderung) werden, also Oktave hoch oder runter? --> Pitch Shifting

oder soll der sound nur länger oder kürzer klingen ohne Tonhöhenveränderung --> Timestretching

Das sind die beiden hauptsächlichen Möglichkeiten.

Die Samplerate-konvertierung (die hier erzwungen wird)wird eigentlich nur angewandt bei Komaptibilitätsproblemen und Format-Fragen im Profibereich.

Also z.B. was in meinem Bereich praktisch täglich vorkommt:

ein Reporter hat mit seinem MD-Recorder ein Interview aufgenommen. Die meisten MD Geräte machen das in 44.1 kHz
Im Rundfunk ist Standard 48 kHz.

Jetzt kann man das Ganze einfach mit 48 kHz takten und es kommt was brauchbares raus ABER:
der Ton ist höher gepitched, bei Sprache merkt man das kaum aber bei einem Song sind das schon mal 2 Halbtöne höher und das ist leichter zu erkennen

Also wird der Beitrag wenn er digital überspielt wird oder als Datei vorliegt in einem Rechenverfahren auf die neue Samplerate umgerechnet unter beibehaltung der ursprünglichen Zeitzusammenhänge.
von 44.1 auf 48 ist das praktisch kaum zu höhren.
Schwieriger wird es, wenn der z.B. mit seiner uralt Soundblaster mit 22 khz die Datei erstellt hat. Dann muss die S-Rate ja mehr als verdoppelt werden, d.h. es müssen doppelt soviel Werte erzeugt werden.
Da muss der Algorhitmus was "dazu erfinden" weniger gute Algor. nehmen also den wert 2x hintereinander die besseren Programme interpolieren zwischen den Werten, sodaß es weniger Sprünge gibt.

Runterrechnen ist natürlich einfacher, da muss ja nur jeder zweite Wert genommen werden z.B. ABER:
geringere Sampleraten klingen metallischer. warum?
weil bei z.B. eine Samplerate von nur 100 Hz. ja nur 100 Samples in der Sekunde benutzt werden die Sprünge die der D/A Wandler am Ausgang zwischen den ausgegebenen Werten machen muss werden immer größer und aus dem ursprünglichen Sinus wird eine Rechteckwelle.

Was der BB Code hier macht ist glaube ich genau dieses Verfahren um ein Tonhöhenkorrektur zu simulieren. So einfach geht das aber eben nicht. Da müssten spezielle Algorithmen dahinter versteckt sein.

Echtes Pitchshifting unterscheidet noch zwischen einfachen Tonhöhenveränderungen oder mit zusätzlichen Formantverschiebungen.
Das ist der "Mickimauseffekt" wenn man ein Tonband zu schnell abspielt. Das passiert hier natürlich genauso. Wenn man das nicht will, rechnet der Algorithmus intelligent (z.B nach Frauen oder Männer Klangfarben) bestimmte Frequenzbereiche nicht um, sodaß das ursprüngliche Timbre( die Klangfarbe) erhalten bleibt.

Das Timestrechtching ist eine weitere noch kompliziertere Berechnung, weil dort der Algorithmus extrem intelligent, also praktisch unhörbar und musikalisch mitdenkend, Werte dazu schreiben muss um Sounds länger oder kürzer klingen zu lassen ohne Tonhöhenveränderung und Klangverfälschung. Da gibt es richtig teure Algorihtmen.
Das benötigt man z.B. bei Filmvertonungen wenn der Komponist den Titelsong 5 Sekunden zu kurz komponiert hat, oder Geräusche in der Nachvertonung nicht zeitlich auf das Bild passen. Wenn eine Schlosstür schnell zufällt soll das ja nicht wie eine Autotür klingen, nur weil man eben pitched um den Sound schneller zu kriegen.....usw....

All das dürfte weder in BB1D BB2D und BB3D und + und Max irgendwie vorhanden sein.

Ich erstelle diese Sounds mit Effekten in anderen Anwendungen, z.B Wavelab auf dem PC oder BIAS Peak auf dem Apple
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra

Fetze

BeitragDo, Dez 01, 2005 22:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Äh... ich hab keine Ahnung, wie das in Blitz läuft. Aber wie gesagt: In B3D gings, in Bmax nicht. Sollte also nicht so das Problem sein.

Ich glaube, der Sound soll gepitcht werden. Hieß jedenfalls in B3D ChannelPitch. Jetzt heißts ChannelRate, macht aber dasselbe.

Garfield

BeitragDo, Dez 01, 2005 22:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Also ich hab mal das Testprogramm mit der "engine4.wav" in allen 3 Programmen getestet (B+, BB3D und BMax) und es klingt bis auf einen kleinen Lautstärkeunterschied von der Klangqualität absolut gleich.
Da sind mit Sicherheit die gleichen Funktionen hinter verborgen.
Mark hat bestimmt keine Soundabspiel .dlls geschrieben sondern sich auf Standard Windows dlls verlassen und die sind ja nun mal egal ob 2D 3D oder Max gleich


Der Sound ist eh nur in 22 kHz Samplerate, klingt also eh schon etwas bescheiden, ist für so Maschinensounds aber völlig ok, das unterstreicht ja das "Maschinelle"

Also bei 0.1 sind das 2200 Hz, das ist ein absolut unbrauchbarer Wert egal mit welchem Algorithmus

Hier muss ein Pitchprogramm ran

ich pitch das mal und poste das hierhin
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra

Fetze

BeitragDo, Dez 01, 2005 22:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Naja, ich sag ja, es ist hardwareabhängig. Bei manchen leuten gehts und bei manchen anderen, wie mir zum Beispiel, gesellt sich mit sinkendem Pitch ein immer hervorstechenderes, stetiges Fiepen in den Hintergrund des Sounds. :/

Garfield

BeitragDo, Dez 01, 2005 22:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Das kann nicht gehen egal bei wem Smile
das ist technologisch bedingt

Ich verkaufe ja professionelle Audiogeräte, es gibt tatsächlich Hardware, die haben Echtzeit Samplerate Konverter am Eingang und am Ausgang.

Sowas kostet mehrere 1000 Euronen, und mir ist keine Soundkarte bekannt die das hat, doch ich glaube eine Euphonics, die kostet aber auch 1100 Euro....

Ein Pitschifting muss extra berechnet werden, das geht nie über eine Sampleratekonvertierung (nur in einem sehr engen Bereich von +- 2-3 Halbtönen)
Und eine Oktave runter bei einem 22 kHz. Sample ist ohne extreme Klangverfälschung nicht möglich

Hab das grad probiert
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra

Markus2

BeitragDo, Dez 01, 2005 22:44
Antworten mit Zitat
Benutzer-Profile anzeigen
@Fetze
Haste dem Blitz Support mal dein Beispiel Sample geschickt ?
Mark müßte ja am besten wissen wo der Unterschied zwischen B3D und BMax ist .

Obwohl das kraksen nach dem konvertieren in 16Bit bei mir ja weg war
würde mich trotzdem interessieren was er beim einlesen macht Confused

Fetze

BeitragDo, Dez 01, 2005 23:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Jup, habs im englischen Blitzforum mit Beispiel gepostet.

@Garfield
Ich kenne mich mit der Technik dahinter aus, ich weis nur, dass ich in B3D Problem- und fehlerlos die Abspielgeschwindigkeit eines Sounds variieren konnte. ^^
In Blitzmax geht das auch, aber eben nur mit Fehler.

Garfield

BeitragDo, Dez 01, 2005 23:20
Antworten mit Zitat
Benutzer-Profile anzeigen
@Fetze

ich habs ja auch mit B3D probiert und es geht erwatungsgemäß nicht
Das mag bei egal bei welchem Basic bei höheren Sampleraten wie 44.1 oder 48 kHz in engen Bereichen gehen aber mit Sicherheit nicht ohne Qualitätseinbußen bei 0.5 oder gar 0.1

Das dürfte auch Soundkarten-unabhängig sein, wie schon geschrieben, eventuell wird das bei ganz speziellen Karten mit aber dann auch speziellen Treibern anders gehandelt, aber das ist absolut nicht üblich

Es kann nicht funktionieren !! B3D hat mit Sicherheit keine anderen Audio Funktionen, das wird doch eh völlig Stiefmütterlich behandelt, leider leider leider

Ich wünschte mir auch viel mehr Audio und auch Video Funktionen

Da gibt es ganz andere Sprachen:

http://www.cycling74.com/products/maxmsp.html

Das ist der Hammer, da programmiere ich Fernsteuerungen mit und meine Kunden Video-Grafik-Effekte

da kann man übrigens auch in Echtzeit Pitchen und es klingt sogar

aber da stehen lang entwickelte Algorithmen einer Pariser Audio-Programmierer -Uni Elite dahinter
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra

Garfield

BeitragFr, Dez 02, 2005 17:21
Antworten mit Zitat
Benutzer-Profile anzeigen
so ich habe das jetzt auch nochmal im englischen Forum dargestellt, das ist kein Bug sondern Realität mit diesem Befehl.
Das geht nicht anders.
[url]
http://www.blitzbasic.com/Comm...2930[/url]

in directx gibt es die Möglichkeit Realtime PlugIns in Audiostreams zu verwenden.

Wenn das jemand programmieren kann -----> bitte sofort posten.

Das wäre sensationell und dürfte Mark auf die Sprünge helfen, denn Fetze hat Recht:

Sound ist genauso essentiell wie gute Grafik !!!!!!!!!!

Und warum werden nur alle Echtzeit Grafikbefehle unterstützt?
Für den Audiobereich gibt es hunderte von PlugIns die darauf warten in die Audioausgabe eingebunden zu werden wie Echo, Hall
, PitchShifting, Chorus etc.....l

Stellt Euch das mal vor, man kann in Echtzeit Hall und Echo in den Spielen verändern, das dürfte die Dramatik mancher Spiele extrem erhöhen
BlitzPlus|BMax|BMax-GUI -- Sony VAIO Win7 * MacBookPro Sierra

Fetze

BeitragFr, Dez 02, 2005 18:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Du hast das Problem missverstanden, da der Fehler, den ich meinte bei dir gar nicht auftritt. ^^
 

Dreamora

BeitragSo, Dez 04, 2005 13:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Fetze: is es net so, dass B3D eine spezial FMOD lizenz hatte, welche BM aufgrund der Modultechnik nimmer bekommen hat, weswegen der soundsupport nun einfach ein niedrigeres niveau hat als es es früher hatte? Dachte wäre so rum und deswegen hinkt der vergleich.

Frage mich allerdings warum man net direkt FMOD gekickt hat und OpenAL oder so nutzte, das für Crossplattform auch zur Verfügung gestanden hätte ... Zumal die reduzierte FMOD wohl mehr probleme als freude bereitet.
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Fetze

BeitragSo, Dez 04, 2005 16:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Vergleich zwischen B3D-Sound und Bmax-Sound hinkt doch nicht, nur, weil nicht dieselbe Technik dahinter steckt... es ist mir als jemand, der keine Ahnung von diesen Soundsachen hat, doch völlig egal, was da im Hintergrund arbeitet, hauptsache, es funktioniert so, wie es soll. Aber das tut es ja teilweise offensichtlich nicht ^^
 

Dreamora

BeitragMo, Dez 05, 2005 14:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Fetze hat Folgendes geschrieben:
Der Vergleich zwischen B3D-Sound und Bmax-Sound hinkt doch nicht, nur, weil nicht dieselbe Technik dahinter steckt... es ist mir als jemand, der keine Ahnung von diesen Soundsachen hat, doch völlig egal, was da im Hintergrund arbeitet, hauptsache, es funktioniert so, wie es soll. Aber das tut es ja teilweise offensichtlich nicht ^^


Das ist relativ.
Du erwartest einfach zuviel "high end" für eine LowEnd Implementation ...
Naja hoffen wir auf Besserung Smile
Da ja nu BM und GUI raus sind können sie sich um solche Kernprobs kümmern ... einige davon müssen eh gelöst werden, bevor sich Mark wirklich auf 3D stürzen kann. (wie der miese DX Driver im Moment und dergleichen)
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

Gehe zu Seite Zurück  1, 2

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group