Lautstärke sehr laut

Gefühlt habe ich nun nach ein paar Stunden alle Forum-Beiträge zu dem Lautstärke-Problem gelesen, allerdings hat bei mir bis jetzt noch kein Lösungsansatz geholfen.
Versuchte Lösungsansätze:

  • SDHC-Karte mit „SD Card Formatter“ formatiert, mit Option „Overwrite format“ (2x)
    Screenshot SD-Card-Formatter

  • auf der SD-Karte habe ich zusätzlich zu „advert“ und „mp3“ momentan nur 3 Ordner erstellt (370mb, 70 Dateien)

  • Verschiedene Werte bei „delay“ versucht: 2000, 3000, 5000, 9000, 20000

// Zwei Sekunden warten bis der DFPlayer Mini initialisiert ist
delay(9000);

  • im Admin-Menü; Alle Einstellungen gelöscht
  • Sketch neu kompiliert und hochgeladen (mehrmals)

Soweit ich bis jetzt verstanden habe, initialisiert der DFPlayer zuerst mit der maximalen Lautstärke (30), sollte dann aber durch TonUINO auf einen verträglichen Pegel gesetzt werden.

mp3.setVolume(volume)

Bei mir funktioniert das irgendwie nicht. Entsprechend laut tönt es dann, wenn ich ein Lied abspiele oder das Admin-Menü starte.

Die Lautstärke korrigiert man entweder, in dem man mit den Knöpfen (FIVEBUTTONS ist aktiviert) die Lautstärke deutlich erhöht (am besten bis Max) und dann wieder leiser macht, oder, wenn die Wiedergabe läuft, entweder auf den Reset-Knopf auf dem Arduino drückt oder mit dem seriellen Monitor verbindet.
Dann wird jeweils nach Ablauf des „delay“ die Lautstärke reduziert.

Wenn ich eine Karte an den RFID-Scanner halte, spielt nach etwa einer Sekunde die Musik.
Es macht keinen Unterschied, ob ich den TonUINO mit einem Netzteil oder via PC USB-Port mit Strom versorge.

Komponenten, verbunden mit Jumperkabel:

  • Arduino Nano v3 Clone (fertig verlötet)
  • DFPlayer Mini
  • RFID Kit RC522
  • 8 Ohm 2W Lautsprecher
  • SanDisk 32GB
  • 1K Widerstand

Verwendete Bibliotheken:

  • DFPlayer Mini Mp3 by Makuna, Version 1.0.7
  • JC_Button, Version 2.1.2
  • MFRC522, Version 1.4.10

Ausgabe vom seriellen Monitor (spielt zuerst zu laut, dann mit VolUp und VolDown zurückgeregelt):

 _____         _____ _____ _____ _____
|_   _|___ ___|  |  |     |   | |     |
  | | | . |   |  |  |-   -| | | |  |  |
  |_| |___|_|_|_____|_____|_|___|_____|

TonUINO Version 2.1
created by Thorsten Voß and licensed under GNU/GPL.
Information and contribution at https://tonuino.de.

=== loadSettingsFromFlash()
Version: 2
Maximal Volume: 25
Minimal Volume: 1
Initial Volume: 4
EQ: 1
Locked: 0
Sleep Timer: 0
Inverted Volume Buttons: 1
Admin Menu locked: 0
Admin Menu Pin: 1111
=== setstandbyTimer()
0
Firmware Version: 0x92 = v2.0
=== playShortCut()
3
Shortcut not configured!
Card UID: A0 F6 7A 03
PICC type: MIFARE 1KB
Authenticating Classic using key A...
Reading data from block 4 ...
Data on Card :
 13 37 B3 47 02 03 02 19 15 00 00 00 00 00 00 00

3
3
== playFolder()
=== disablestandby()
24 Dateien in Ordner 3
Album Modus -> kompletten Ordner wiedergeben
=== volumeUp()
5
=== volumeUp()
6
=== volumeUp()
7
=== volumeUp()
8
=== volumeUp()
9
=== volumeUp()
10
=== volumeUp()
11
=== volumeUp()
12
=== volumeUp()
13
=== volumeUp()
14
=== volumeUp()
15
=== volumeUp()
16
=== volumeUp()
17
=== volumeUp()
18
=== volumeUp()
19
=== volumeUp()
20
=== volumeUp()
21
=== volumeUp()
22
=== volumeUp()
23
=== volumeUp()
24
=== volumeUp()
25
=== volumeUp()
25
=== volumeUp()
25
=== volumeUp()
25
=== volumeDown()
24
=== volumeDown()
23
=== volumeDown()
22
=== volumeDown()
21
=== volumeDown()
20
=== volumeDown()
19
=== volumeDown()
18
=== volumeDown()
17
=== volumeDown()
16
=== volumeDown()
15
=== volumeDown()
14
=== volumeDown()
13
=== volumeDown()
12
=== volumeDown()
11
=== volumeDown()
10
=== volumeDown()
9
=== volumeDown()
8
=== volumeDown()
7
=== volumeDown()
6
=== volumeDown()
5
=== volumeDown()
4
=== volumeDown()
3
=== volumeDown()
2
=== volumeDown()
1
=== setstandbyTimer()
0

Gibt es noch etwas was ich versuchen kann?
Besten Dank für eure Unterstützung!

1 „Gefällt mir“

Was für einen DFPlayer hast du denn? Schau mal in die Liste in der FAQ.

1 „Gefällt mir“


Gemäss Beschriftung ein MH2024K-24SS. Vorne ist der Player mit MP3-TF-16P V3.0 angeschrieben.

1 „Gefällt mir“

Wir müssen wohl mittlerweile konstatieren das es neuere Varianten des bisher gut funktionierenden MH2024K-24SS gibt die Probleme mit (mindestens?) dem Lautstärke Kommando haben. Siehe auch hier:

2 „Gefällt mir“

Ich weiß nicht ob es hilft, aber Versuche mit dem Programm mp3gain die Lautstärke auf der gesamten SD Karte zu korrigieren.

In dem erwähnten Beitrag gab es einen Hinweis auf eine mögliche Verbindung zwischen dem TX-Pin und dem Metallgehäuse der SD-Karte. Der Abstand dort ist wirklich klein, mit blossem Auge für mich nicht sichtbar. Aber mit dem Multimeter konnte ich keine Verbindung feststellen/messen.

Von daher scheint es eher das gleiche Symptom wie bei @wolzotan zu sein. Vielleicht ergeben sich aus seinem Issue weitere Erkenntnisse… :thinking:

1 „Gefällt mir“

Ich habe nun das Excel-Tool mit mp3gain benutzt. Super Sache! :+1:
Aber das Symptom mit der maximalen Lautstärke hat sich erwartungsgemäss nicht verändert.

1 „Gefällt mir“

Wenn decreaseVolume() funktioniert, könntest du setVolume() durch

  for (int i=30; i > volume;i--){
   mp3.decreaseVolume();
    Serial.println(F("Lautstärke--"));
   delay(100); 
  }

erstetzen.

2 „Gefällt mir“

Das funktioniert aber nur beim ersten mal oder übersehe ich da was?

1 „Gefällt mir“

Es gibt in der Software von Thorsten nur das eine. Die anderen Funktionen nutzen ohnehin decrease und increase

1 „Gefällt mir“

Hallo, ja dein Problem klingt wirklich sehr ähnlich wie meines. Ich hab hier grade nochmal meine aktuellen Bemühungen geschildert. Lass uns gerne zusammen rumprobieren, ich bin nur grade etwas ratlos, in welche Richtung ich noch probieren kann.

Das ist natürlich kein dauerhafter Fix, aber probier doch mal in den Examples der DFplayer Bibliothek das PlayMp3 Beispiel aufzumachen, dann ersetzt du Zeile 62-70 hiermit:

// instance a DFMiniMp3 object, 
// defined with the above notification class and the hardware serial class
//
//DFMiniMp3<HardwareSerial, Mp3Notify> mp3(Serial1);

// Some arduino boards only have one hardware serial port, so a software serial port is needed instead.
// comment out the above definition and uncomment these lines
SoftwareSerial secondarySerial(2, 3); // RX, TX
DFMiniMp3<SoftwareSerial, Mp3Notify> mp3(secondarySerial);

und weiter unten Zeile 83 auf sehr niedrig, z.B.

mp3.setVolume(2);

dann hochladen, und bei mir hat dann der Player reproduzierbar den Befehl angenommen, und blieb auch bei der Lautstärke, wenn ich dann meinen TonuinoSketch wieder aufgespielt habe. Ich bin wirklich ratlos, aber ich schließe daraus, dass der Player prinzipiell doch funktioniert, das macht mir Mut zum weiterprobieren.
Und ich wäre sehr interessiert ob das bei dir auch so ist.
Grüße!

Das nutzt hier wenig. Denn mp3gain ist zum Angleichen der Lautstärke deiner MP3 Dateien, welche du auf der SD-Karte hast. Das heißt, alle MP3s haben die gleiche Lautstärke.

Ja, das war mir bewusst. Aber ich wollte es trotzdem nicht unversucht lassen und es war es ein guter Grund, das Exceltool zu benutzen! :wink: (hatte mir die Seite sowieso bereits markiert)

Ich habe den Code angepasst und nun funktioniert die Anpassung der initialen Lautstärke. Besten Dank!

2 „Gefällt mir“

Ich habe die Änderung an der PlayMp3 Beispieldatei gemacht und die Box hat dann jeweils in Schleife auf 3 gezählt. Allerdings war die Lautstärke nicht bei 2 wie definiert, sondern eher bei 15 (aber definitiv nicht auf Maximum).
Nachdem ich den „original“ TonUINO-Sketch wieder geladen hatte, war die Lautstärke dann wieder auf Maximum.

Mit dem Fix von @Gute_Laune funktioniert es aber gut (mit der standardmässigen 2 Sekunden Verzögerung).

OK, ich hab auch einen trivialen Fix für das Problem gefunden: ein delay(100); direkt nach dem Aufruf von mp3.SetVolume() reicht aus.

5 „Gefällt mir“

Kann ich bestätigen! Ich habe deinen Fix eingebaut und es funktioniert. :partying_face: Deine Lösung sollte man in das originale Sketch aufnehmen. Die paar Millisekunden stören wohl niemanden, aber helfen bei einigen (neueren?) Versionen von MH2024K-24SS.

Habt ihr mal probiert wie weit man das delay noch verkürzen kann? Z.B auf 50 oder noch weniger?
Eventuell könnte man das delay auch direkt in der Bibliothek einbauen. Dann wäre es für alle Softwareversionen nutzbar ohne die jeweilige Software ändern zu müssen.

Das müsste in der DFminiMp3.h folgendermaßen aussehen.
Noch nicht getestet !

   // 0- 30
    void setVolume(uint8_t volume)
    {
        sendPacket(0x06, volume);
       delay(100);
    }

Den Wert kann man ja dann auf den minimal erforderlichen verringern.

Ich habe 10, 50, 75 und 90 ms versucht. Aber es funktioniert erst ab 100.

Selbes bei mir :slight_smile: tatsächlich funktionieren schon 99ms nicht mehr.

Edit: die 2sec Delay nach mp3.begin(); konnte ich dafür rausnehmen, das hat bei mir nichts verändert.