Eventuell bei Purebasic Weiterentwicklung in Sachen Sounds?

Anfängerfragen zum Programmieren mit PureBasic.
Re42
Beiträge: 91
Registriert: 08.11.2020 23:41

Eventuell bei Purebasic Weiterentwicklung in Sachen Sounds?

Beitrag von Re42 »

Hallo in die Runde, ich frage hiermit an, ob Purebasics mittlerweile evtl. etwas weiterentwickelt hat, damit man besser mit Soundkarten zurecht kommen kann. Das Problem: Bei Klavier-Sounds (in meinem Fall immer jeweils nur ein Ton) ist es nicht völlig möglich, den Umstand los zu werden, daß es immerwieder zu Knackgeräuschen bei der Widergabe kommt, vor allem beim Wechsel von einem Ton zum anderen. Im Gegensatz z.B. zu Cembalo-Sounds, aber da habe ich keine gescheiten Sounds. Das Problem mit den Knackgeräuschen hat mit Latenz und Puffergrösse zu tun, während Playsound() einfach nur ein plumper Befehl ist zum Sound-Abspielen. Hat hier evtl. jemand Erfahrung mit derartigen Knackgeräuschen beim Start der Wiedergabe und kann mir sagen, wie man die los werden kann? Jetzt hier Teile von meinem Code einzustellen, erübrigt sich ja, denn es geht ja einfach nur um die Playsound-Funktion. Danke für Info.
ccode_new
Beiträge: 1214
Registriert: 27.11.2016 18:13
Wohnort: Erzgebirge

Re: Eventuell bei Purebasic Weiterentwicklung in Sachen Sounds?

Beitrag von ccode_new »

Hi!

Wechsel mal die Soundkarte.
Es gibt auch gute externe mit USB-Anschluss.

Du spielst nur kurze Soundstreams ab, oder?

Das Knacken kommt dann fast immer beim Starten der Tondatei, oder auch innerhalb der Wiedergabe?

Verwendest du einen "Realtek Sound Chip" mit seperater Treibersoftware?

Verwendest du einen Laptop, oder hast du einen Stand-PC? (Netzteil/Spannungs-Probleme?)

Kommt das Knacken nur bei dem PlaySound-Befehl?

Es gibt auch meistens Energiesparfunktionen für den Soundchip die man evtl. über die Registry (regedit) auslesen und bearbeiten kann.
Bsp.:
[HKEY_CURRENT_USER\SOFTWARE\Realtek\Audio\RtkNGUI64\PowerMgnt] (der Pfad kann je nach Soundkarte abweichen)
"Enabled"=dword:00000000
"DelayTime"=dword:0000000a
"OnlyBattery"=dword:00000001
"PowerState"=dword:00000001
->Neustart!
Betriebssysteme: div. Windows, Linux, Unix - Systeme

no Keyboard, press any key
no mouse, you need a cat
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: Eventuell bei Purebasic Weiterentwicklung in Sachen Sounds?

Beitrag von tft »

Hallo,

da gibt es etliche Fehler Quellen die dazu führen können das es Knackt.
Meine Erfahrung ist da natürlich auch recht unterschiedlich. Aber die Nummer eins ist, das der Anwender keine gescheite Vorgehensweise
bei der Benutzung von Samples hat.

-Die Samples müssen mit einem Nulldurchgang beginnen und enden.
-Wenn du die Samples nicht auslaufen lässt. Sondern mittendrinn beenden must. Dann stelle die Lautstärke auf 0, das knackt auch nicht. Und behände im nächsten Loop den Sound. Am besten mit einem kleine VadeOut. Sicher bedarf das eines gewissen Management.
-Es soll SoundLibs für PB geben. Diese habe ich aber nie verwendet. Vielleicht kann ABRAXXES weiterhelfen. Wenn er hier noch vorbei schaut.

Versuche einfach nicht zu kompliziert zu denken.

Gruss TFT

aaaaa nachtrag : Versuch doch mal die BASSMOD, die ist exzellent. Ich glaube zwar das die mittlerweile was kostet. Aber jemand hat sicher noch eine ältere Version.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Re42
Beiträge: 91
Registriert: 08.11.2020 23:41

Re: Eventuell bei Purebasic Weiterentwicklung in Sachen Sounds?

Beitrag von Re42 »

Vielen Dank für die Antworten. Ich verwende Laptops mit Windows 10 und einer hat noch Windows 8.1
Nur bei einem der Laptops ist das Knacken deutlich hörbar und das war ausgerechnet der teuerste (Windows 10 Home). Auch dessen Lautstärke, obwohl voll aufgedreht, ist entschieden zu leise, das gilt aber auch für den Laptop mit Windows 8.1 Daß es da überhaupt solche Unterschiede gibt.

Das Knacken tritt nur unmittelbar nach dem Aufruf von Playsound() auf, aber nicht mittendrin in der Wiedergabe. Wie gesagt, handelt es sich immer um einzelne Klaviertöne, die abgespielt werden. Das Knacken tritt umso häufiger auf, je früher ich von einem Ton zum nächsten wechsle. Jeder Klavierton klingt ja aus bei der Wiedergabe, aber wenn ich früher von einem Ton zum nächsten wechsle, ist der vorherige ja noch laut.

Ich werde versuchen, die Tipps umzusetzen, die ich bisher bekommen habe, allerdings habe ich vorher noch Fragen dazu:

@cccode_new
Warum hast du gefragt, ob ich einen stationären Computer habe oder einen Laptop? Gibt es entscheidende Dinge dabei, die ich beachten müßte?

@tft
Wie realisiert man einen Nulldurchgang zum Beginn eines Samples?
Benutzeravatar
tft
Beiträge: 650
Registriert: 08.09.2004 20:18
Computerausstattung: GFX 3060 Ti , i7 12700F , 32 GB Ram , 900 GB SSD , TV
Wohnort: Dachsen
Kontaktdaten:

Re: Eventuell bei Purebasic Weiterentwicklung in Sachen Sounds?

Beitrag von tft »

gugst du hier ......... https://www.savemusic.de/audiobearbeitu ... le-menues/ im Internet gibt es dazu viele Videos.

Bei Audasity gibts sogar eine Funktion die heisst "Nulldurchgang Finden"

Wenn beim Start ein Knacken zu hören ist. Must du halt den Sampel starten, mit Lautstärke 0, und im nächsten Main lopp diese auf Max oder den gewünschten wert stellen. Bei W 10 solltest du auch die 64 Bit Version verwenden. Und die Pointer sollten auch 64 Bit sein. Das kann auch ein Adressierungsproblem sein.
TFT seid 1989 , Turgut Frank Temucin , CH-Dachsen/DE-Berlin/TR-Antalya
Mein Projekt (Driving School Evergarden)
Codes bei (GitHub) Videos von (YouTube)
Treffen via Discord: Einladung

PB 6.10 | W11 | i7 12700F | 32 GB Ram | RTX 3060 Ti | 60 Herz -TV FullHD
ARDUINO Freak | Sprecher | Game Dev. | Geschichten Erzähler :-)
Re42
Beiträge: 91
Registriert: 08.11.2020 23:41

Re: Eventuell bei Purebasic Weiterentwicklung in Sachen Sounds?

Beitrag von Re42 »

In der Registry die Lautstärke zu ändern, ging leider nicht so, weil der Pfad schon vorher zu Ende war. Das ist aber erstmal egal jetzt.

Mittlerweile hatte ich Zeit, für einen einzigen Ton, der besonders neuralgisch war, eine Datei zu erstellen, die mit Nulldurchang beginnt und zunächst sah das gut aus, aber dann war das Knacken doch wieder da. Das hat wohl am ehesten mit Latenz und Puffer zu tun.
Antworten