Eigene Lernsoftware für Gitarre: SonarPractice

  • Ersteller Ersteller metal-player
  • Erstellt am Erstellt am
M

metal-player

Registrierter Benutzer
Zuletzt hier
05.09.26
Registriert
03.03.26
Beiträge
13
Hallo Leute,

ich hatte ein Problem, und zwar habe ich viel Übungsmaterial zu viel um ehrlich zu sein.
Bücher über Techniken mit Audio usw.
Dann kommt noch Material in Form von Guitar Pro dazu. Also alles ein Berg an Material das man erst mal sortieren muss.

Mein Problem war immer, was lerne ich wie wo wann zur welcher Zeit.

In meinem Buch "Guitar Fitness von Achim Göres" war ein guter Plan enthalten, den ich auch weitgehend für mich befolge und auf meine Übungen angepasst habe.
Oft sagen Gitarren Lehrer oder es steht auch in Büchern geschrieben, führe ein Journal.

Um diesen Berg zu erklimmen habe ich eine Software geschrieben und als Open Source Veröffentlicht. Diese findet ihr bei Interesse unter https://github.com/sonar-project/SonarPractice


Was habe ich in dieser Software integriert?

1. Einlesen von Daten wie Guitar Pro, Audio, Video, Dokumente
2. Organisation der Dateien, man kann sagen diese Dateien gehören zusammen und kann diese Gebündelt Anzeigen lassen.
3. Öffnen der Dateien, wenn jemand Guitar Pro nutzt wir dies verwendet, nutzt jemand powertabeditor oder TuxGuitar dann wird eben das verwendet.
4. Einstellen was man übt, also Datei - Takt von bis bei Bpm ... Timer starten
5. Timer beenden, es wird in ein Journal Tabelle eingetragen, wer mag kann noch erweitern wie viele druchläufe gehen ohne einen Fehler an einem stück.
6. Journal Notizen in Markdown.


Besonders cool finde ich die Audio Funktion, hier habe ich eingebaut das man die Audio Datei beliebiges Tempo abspielen kann, möglichst ohne Tonverlust usw.

Ich wollte es euch einfach einmal vorstellen, das Programm habe ich primär für mich geschrieben, wollte es OpenSource machen damit ich (hoffentlich) auch andere damit helfen kann.

Gibt es hier in Forum der Interesse an so ein Tool hat? Wenn ja, dann gebt bescheid welches Betriebsystem und ich werde dafür Installer usw. zu Verfügung stellen.

Ich sehe das zwar als mein Privates Projekt an, aber möchte irgendwann auch eine Community drum herum aufbauen, daher wenn ihr Fragen oder Anregungen habt. Dann nur los, ich freue mich auf Anregungen, Kritik und co und bin gespannt was ihr zu meinem Projekt sagt.

Und ja, ich bin Software Entwickler und Gitarrist in eine Band. Ich wollte erreichen mit diesem Tool mich auf dinge zu Fokussieren wo ich oft ohne einen Reminder aus den Augen verliere, einfach weil ich oft dinge spiele die ich schon kann, das ist halt einfacher als dinge zu üben ;-)

Lg aus Heilbronn.
 

Anhänge

  • sonarpractice-launch-hub.webp
    sonarpractice-launch-hub.webp
    46,3 KB · Aufrufe: 8.110
  • sonarpractice-audio-configure.webp
    sonarpractice-audio-configure.webp
    31,4 KB · Aufrufe: 91
  • Gefällt mir
Reaktionen: 4 Benutzer

Arch-User hier: Das klingt sehr interessant, werde ich definitiv ausprobieren! Aber frühestens in ein paar Tagen, wenn die Temperaturen nicht mehr so infernal sind ;)
 
Interesse - Ja, hier.
Win 11, Sequoia
 

Hört sich interessant an, werde ich mir sicher einmal näher anschauen.

Die Dokumentation dessen, was man schon einmal gelernt und geübt hat, ist wichtig und richtig. Ich verfolge da seit Jahren mein eigenes System - ob ich das in das hier vorgestellte Programm übernehmen kann (und will), ist eine spannende Frage.

Die Organisation solcher Dinge muss möglichst einfach funktionieren, weil sie sonst unterbleibt.

Für mich wird es interessant sein, ob ich mit meinem datei- und verzeichnisbasierten Ansatz, den ich seit Jahren verfolge, unter dem Strich nicht besser fahre.

Ich bin gespannt!
 
  • Ersteller
  • #5
Ja, das ist interessant. Mir ging es z.B. um dinge wie. Ich habe einen Kurs von Dan Mumm oder Michael Angelo Batio gekauft. Diese haben Videos, Guitar Pro, PDF usw. ich kann diese Bündeln, habe ein Journal und ggf. ein Reminder usw. Aber ja, genau deswegen möchte ich diese Diskussion. Es gibt viele wege und ich versuche einen guten Digitalen weg zu gehen. Meine Ordner sind auch strukturiert. Ich bin gespannt. Wenn ich mit dem Installer für Win11 fertig bin, melde ich mich nochmal.
 
  • Ersteller
  • #6
Habe es mir problemlos mit CMake compiled. Die benötigten Abhängigkeiten hatte ich bereits installiert.
Macht schon einen guten Eindruck.
Die GUI finde ich noch etwas unübersichtlich. Wäre schön, wenn auf den ersten Blick ersichtlich wäre, wo man jetzt Tabs + MP3 öffnen kann. Beim Audioplayer ist es lästig, dass der Song erst aufwändig und langwierig eingelesen werden muss. Wär gut, wenn das schneller würde ;-)
Naja, so richtig verstanden habe ich das Programm noch nicht. Habe bisher erfolglos versucht, einen Tab mit MP3 zu kombinieren.

Aber ja, alles in allem ein schönes Projekt. Und für eine Alpha schon sehr vorzeigbar. Hier und da noch ein wenig Liebe rein stecken, dann wird das richtig gut (y)
 
  • Ersteller
  • #8
Hi, danke für den Test.
Aber du da etwas falsch verstanden.

1. Für Audio -> Play spielt das ab, was man mit Konfiguration eingestellt hat. Das wird mit RubberBand gemacht und ja, das muss die MP3 komplett eingelesen werden. Also man kann statt immer auf Konfigurieren klicken zu müssen sagen, lade Preset "BlaFu" -> Play, wenn du 60% eingestellt hast, dann wird die Datei mit 60% abgespielt, loop, range alles was du halt Konfiguriert hast.

2. Extern öffnen, öffnet die Datei mit deinem externen Player.

Tab und MP3 gleichzeitig geht nicht, ich zeige keine Tabs an. Hauptziel meiner App war ein Journaling aufzubauen und die Übungen zu tracken.
Schnellzugriff auf die Dateien und erst seit ein paar tage mit der Audio Datei Tempo, Loop, usw.

Mein C++ GuitarPro Parser kann bisher nur die Metadaten auslesen. Mehr wollte und brauchte ich bisher nicht für mein Projekt. Irgendwann, wird dieser Parser sicherlich erweitert, das auch die Midi-Daten gelesen werden können. Das ist aber noch viel Arbeit und gar nicht so einfach.

Der Parser ist ebenfalls AGPL unter https://github.com/sonar-project/libgp_parser veröffentlicht.

Aber ich schreibe gleich mal eine kleine Anleitung wie ich das gedacht habe, ich hoffe dann wird das Konzept klar.
 
  • Ersteller
  • #9
1. Datei Import

Ich habe z.B. ein Kurs von Micheal Angelo Batio
├── 267b872cf9bacbbcf3256952299e3a53-PDF-Tab-Speed-Kills-1.pdf
├── 645ce9292856e593d939b41ea9c71041-READ-THIS-FIRST.pdf
├── 9f6c78c4afe8f654aa3a1ff85e67b2ca-PDF-Tab-Speed-Kills-2.pdf
├── About-Guitar-Pro-Files.txt
├── c93a2a7345b1c8f206fe5dd2d9b9e3a6-PDF-Tab-Speed-Kills-3.pdf
├── Speed-Kills-1-Lesson-Materials
│ ├── Exercise-Locations.txt
│ └── Speed-Kills-1-Optional-Guitar-Pro-Files
│ ├── ABOUT-THESE-GUITAR-PRO-FILES.txt
│ ├── SK1-ex01.gp5
│ ├── SK1-ex02.gp5
....
├── Speed-Kills-1-Video.mp4
├── Speed-Kills-2-Lesson-Materials


Import Directory -> Importiert diese Dateien txt, gpX, pdf usw.

1782253054143.webp


Library -> Dort kannst du eine Gruppe erstellen, also die GP Dateien mit Video, Bilder, Dokumente (txt, pdf) zusamenfassen.

1782253149377.webp


Links in Dateibaum kannst du, falls deine Daten Strukturiert waren ein Ordner auswählen

1782253218642.webp


Jetzt sieht du alle Dateien, Audio, Video, Dokumente, Guitar Pro usw. gehe auf "Select all", danach Rechts "New Group" und gib diese Gruppe einen guten Namen.
Wenn du das nicht machst, wird die Gruppe einfach nach ersten Dateiname benannt.

1782253379518.webp


Jetzt klickst einfach auf "Link visible files" (wenn nichts ausgewählt hast) oder "Create group" dann wird eine Gruppe erstellt.

Im Dashbord siehst du jetzt diese Gruppe
1782253483499.webp


Klicke auf deine Gruppe
1782253550363.webp


Jetzt kannst du deine Dateien auswählen. In meinem Beispiel hatte der Kurs keine Audio Daten sondern nur Videos, so kann ich schnell GP Starten, Video Starten, Übesession einstellen, Timer starten, üben, Timer Stoppen -> es ist im Journal gespeichert. Notizen erstellen usw.
(Wichtig, Timer geht nur auf eine Datei, deswegen muss du eine Datei auf active stellen)

Und wenn du einen Reminder einstellen möchtes, klicke oben Links, dann geht ein Menü auf.

Heute eingebaut, das der Reminder auch wirklich sagt, du hast das heute geübt.

Ich hoffe das ist jetzt klarer?

Ideen mit den Play, Konfig, Preset und extern öffnen von Audio muss ich, wie gesagt mal überdenken wie das am besten geht.
Aber dieses Wochenende keine Zeit, bin auf ein Guitar Bootcamp - aber danach auf jeden fall.

Für alle die daran Interesse haben. Ich habe jetzt Windows 11 Installer und Linux-AppImage fest in Git implementiert. Immer wenn ich eine Version veröffentliche, werden neue Installer erstellt.

Wenn eine idee hast, wie man das besser machen könnte, oder ersichtlicher dann gibt mir bitte bescheid. Hast du den Audio-Konfiguration schon mal getestet?
Nimm am besten eine von einer Heft CD oder sowas, die sind schneller geladen. Und schau dir das mit den Loopen, Region A/B mal an.

Bei Audio Datei wählen -> Konfiguration -> alt+p (play/pause), alt+a (region a) jetzt kannst du den Start auch mit der Maus positionieren, alt+b (region b) jetzt kannst du den End mit der Maus positionieren.

1782254279412.webp


1782254355067.webp


Auf diesen Play wird das Preset was du vorher auf "load preset" geladen hast angewendet. Dieser muss, wenn man davor nicht in Configure war, die MP3 komplett laden und dann das Preset geladen werden.

Alternative Idee: Wenn kein Preset geladen (ich führe noch in dropdown ein "--" ein), dann könnte ich es mit Qt-Qaudio abspieln lassen, ohne es in den Speicher mit RubberBand zu verarbeiten. Ist aber ein Preset geladen, dann muss ich es tun.

Ich hoffe es war verständlich und hoffe natürlich auch das es dir etwas bringt und bin natürlich für jeden Tipp dankbar es besser zu machen.

EDIT:
Ich habe eine Lösung für das Lade-Problem gefunden. Ich nutze unter anderem Caching und lade die Datei nur noch sequenziell usw.
Ein kleines UI Problem kommt halt jetzt hinzu, was ich mir aber erst mal nicht näher ansehen konnte. Bei Timeänerungen ändert sich die WaveTable Peak Ansicht nicht mit, somit ist Start und Endpunkt versetzt zur abspiel zeit, daher kommt es noch nicht in mein main git branch. Aber ich erstelle ein feature branch, dann könntest du das auch testen wenn du magst.
EDIT END

Gruß
 
Zuletzt bearbeitet:
  • #10
OK, jetzt wird es klarer. Danke für die Erläuterung. Das mit den Gruppen / Presets hatte ich nicht gesehen.

dann könnte ich es mit Qt-Qaudio abspieln lassen, ohne es in den Speicher mit RubberBand zu verarbeiten. Ist aber ein Preset geladen, dann muss ich es tun.
Das wäre eine gute Option, denke ich. Timestretch benötigt man ja nicht immer.
Ich teste gerne weiter, aber in den nächsten 3 Tagen werde ich nicht dazu kommen.
 
  • Ersteller
  • #11
Alles gut, danke fürs Testen.
Bei mir lief die Version so gut, nutze es ja täglich selbst, das ich neue Version veröffentlicht habe im main branch. Appimage (Qt 6.8) und Windows installer (Qt 6.8) sollte es jetzt auch geben. Selbst bauen gegen Qt 6.11 ist natürlich das, was ich lokal auch habe.

Bin morgen auch erst mal übers Wochenende weg, Guitar Bootcamp, also kein Stress, es ist ein Hobby Projekt und es soll nicht zu einem Stress Faktor werden, denn dann hätte ich mein Ziel Verfehlt.

Danke, bin auf deiner Meinung und Kritik gespannt.

Gruß
 
  • #12
Appimage startet bei mir nicht:

Bash:
sh: 1: systemctl: not found
sh: 1: systemctl: not found
Squashfs image uses (null) compression, this version supports only xz, zlib.
ERROR: appimage_shall_not_be_integrated : sqfs_open_image error: /home/XXX/Applications/SonarPractice-0.0.3.AppImage
AppImageLauncher error: appimage_shall_not_be_integrated() failed (returned -1)
Squashfs image uses (null) compression, this version supports only xz, zlib.
ERROR: appimage_is_terminal_app : sqfs_open_image error: /home/XXX/Applications/SonarPractice-0.0.3.AppImage
AppImageLauncher error: appimage_is_terminal_app() failed (returned -1)

System: Devuan Linux
 
  • Ersteller
  • #13
Danke, Devuan Linux kenne ich nicht. Aber hab gelesen das es ohne systemd ist, ein appimage wird mit ubuntu erstellt, vermutlich nutzt dann das tool intern systemd, was du aber nicht hast. Ich müsste dann experimentieren wie das ohne systemd geht. Wie verwaltet devuan die Dienste? Init oder Openrc?
 
Zuletzt bearbeitet:
  • Ersteller
  • #14
Okay, ich bin jetzt etwas schlauer.
Probiere mal

chmod +x SonarPractice-0.0.3-x86_64.AppImage
./SonarPractice-0.0.3-x86_64.AppImage --appimage-extract
cd squashfs-root/usr/bin/
./SonarPractice

wenn du das AppImage nicht entpacken kannst, dann fehlt dir squashfs-tools

Wenn es an squashfs-tools liegt, würde es dann auch ohne entpacken gehen?

EDIT:
ich habe mir Devuan Linux Excalibur 6 in einer VM Installiert.
AppImage geht out of the box
Download
chmod +x SonarPractice-0.0.3-x86_64.AppImage
./SonarPractice-0.0.3-x86_64.AppImage
EDIT END

LG
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: 1 Benutzer
  • #15
Ich habe es erneut heruntergeladen und versucht zu extrahieren:

Bash:
./SonarPractice-0.0.3-x86_64.AppImage --appimage-extract
This doesn't look like a squashfs image.
Failed to open squashfs image

Die Checksumme ist okay, daran liegt es nicht. Appimages sind auch kein Problem, ich nutze auch andere Programme in dieser Form.
 
Zuletzt bearbeitet:
  • Ersteller
  • #16
Bin gerade in Dortmund bei einem Guitar Workshop. Aber ich habe es mir der neusten Version in einer VM getestet. Es funktionierte. Mit tasksel cinnemon als Desktop gewählt. Hast du die neuste Version? Und wie installiert? Gerne können wir nächste Woche mal schauen wo hier die Unterschiede sind.

Aber in der Theorie
Squashfs image uses (null) compression, this version supports only xz, zlib.
Kam bei dir. Also schau mal was du da für eine Version hast?
Das ist ja die Kompression die bei mir verwendet wurde.
 
  • Ersteller
  • #17
Ich wollte schnell vor dem Schlafengehen ein update dieser Software zeigen.
Anfangs wollte ich es nicht, aber unter Linux sah mich dazu eher gezwungen - einen eigenen Player zu Integrieren.

Dieser kann die gängigen Formate (gp3-6/gpx,gp) Lesen und verarbeiten - loopen usw.
Was jetzt noch fehlt ist ein Mixer und channel Mute/Unmute usw. Aber das kommt bestimmt noch wenn ich wieder etwas Zeit habe.

@redic Was ich jetzt gerade erst irgendwie sehe. Da du ja kein systemd system hast, evtl. bau ich oder die Distribution systemd Befehle ein und ich müsste auf ein System ohne systemd ein AppImage bauen? Das muss ich mir mal genauer ansehen.
 

Anhänge

  • sonar_practice_internal_player.webp
    sonar_practice_internal_player.webp
    92,8 KB · Aufrufe: 18
  • #18
Hey Grüß dich,

Ich hátte hierzu die Frage, welche Funktion hab ich hier den die ich in Guitar Pro nicht habe?
Man kann ja in GP schon sehr lange MP3 files als backingtracks hinzufügen und ohnehin stellen loopen und langsamer abspielen.

Ich habs schonmal installiert (Win11), läuft erstmal, aber gp dateien importieren o.ä. klappt bei mir nicht, oder ich verstehe deine Logik von dem Programm nicht. Edit, ja ok geht wenn ich einen Ordner hinzufüge nur nicht einzelene Dateien. Das Practice log ist ganz nett, aber ich sehe - zumindest für mich - hier noch keine Notwendigkeit hier doppelt zu organisieren. Kannst du mir ein Beispiel geben für deinen persönlichen workflow hier?

Lg
 
  • Ersteller
  • #19
Hi,

ja Guitar Pro habe ich natürlich auch unter Windows.
Leider hat Guitar Pro Linux Support mit Guitar Pro ab Version 7/8 eingestellt und bin somit auf Windows beschränkt. Daher denke ich kann es eine alternative für viele sein.

Mein Haupt System ist Linux.

Mein Workflow, egal ob Windows oder Linux.
Über Datei Import -> Verzeichnis lade ich meine Dateien einmalig rein. Diese werden dann in einer SQLite Datenbank von "SonarPractice" gespeichert. Ich verschiebe die Daten nicht, sondern ich organisiere selbst meine Daten. Zusätzlich trage ich in den Einstellungen unter Import Dokumente ein das er Rockmith Dateien auch Indizieren soll "psarc", die ich mit der Software ToneLib-Jam abspielen kann.

Ich habe auch viele Daten wie aus einem Buch ohne eine Guitar-Pro Datei. Oder habe nur ein Video + eine Guitar Pro und möchte auf einen Blick sehen ich habe dafür GP+Video+Audio und kann per klick das Material ansehen und Notizen dazu machen.

In Bibliothek/Library Manager Organisiere ich dann z.B. nächster Gig um gezielt Material für die Band zu Organisieren oder Übungen wie "Tapping, Sweep" usw. somit kann ich dann sagen das möchte ich Täglich üben, das einmal in der Woche usw. und ich habe ein Journaling darüber was ich wann und wie oft gespielt habe + meine Notizen. Das war auch mein Haupt anliegen. Das jetzt ein Player dazugekommen ist liegt einzig daran, dass es unter Linux eben wenig brauchbare Software gibt.

Okay, das mag nicht für jeden etwas sein, aber das ist auch Okay. In meinem Fall mag ich ein Journaling und Planer. Das hat mir einfach gefehlt ein Überblick über meinem Fortschritt zu behalten.


Ich habs schonmal installiert (Win11), läuft erstmal, aber gp dateien importieren o.ä. klappt bei mir nicht,

Was klappt bei dir nicht? Datei Importieren?
Kannst du mir das bitte genauer erklären, dann kann ich nochmal danach schauen.

Ich hoffe meine Antwort war für dich ausreichend um zu verstehen was mein Ziel mit diese Software ist. Kurz gesagt, sie ist eine Planung-Journaling Software die eben jetzt um einen Internen Player angewachsen ist, für alle die eben kein Guitar Pro haben oder haben können wegen z.B. Linux.

Gruß
 
  • #20
Ah ok danke für die Ausführliche erklärung.
Ja unter Linux (hab ich auch auf einem anderen Rechner) hab ich Tux aus mangel an alternativen, das hat natürlich weniger funktionen.

Aber so wird für mich klar das ich die software einfach nicht brauche, weil das nicht meiner Arbeitsweiße passt aber das es ja wurscht für dich.

Ich wollte testweiße einfach nur eine Datei hinzufügen (unter win11 wie gesagt) und da sagt er mir das Dateiformat wird nicht supported. (War entweder .gp5 oder .gpx kann ich dir aus dem Kopf eben nicht sagen). Wenn ich Aber das ganze Verzeichnis wähle findet er die Datei in dem Verzeichnis problemlos und fügt sie hinzu. Ich kann also nicht einzelne Dateien intigrieren, sehr wohl aber Verzeichnisse.
Da du ja hier aber wohl nur indizierst und nicht auch Datentechnisch ordnest macht das sogar Sinn das so zumachen würde ich sagen. Ich fände es schóner wenn es meine Dateien gleich noch entsprechend ordnen wüde. Andererseits hab ich dann nichtmehr freie Wahl wo ich die auf meine Platte schiebe, weiß ich jetzt auch nicht was ich besser fände spontan. Wenn man viel mit downloaded files arbeitet wärs schön wenn er die im Download ordner findet und direkt indiziert und verschiebt, wenn ich aber schon eine eigene Ordner Struktur habe wärae es schön wenn er die nicht zerstört. Verstehe daher beide Optionen, aber vll hilft dir das ja als Input für ggbf. etwas was du hinzufÜgen oder wegrationalisieren willst.
So oder so, danke für deine Arbeit - ist super das das einfach so zur Verfügung gestellt wird, werden daduch natürlich einige bugs zustande kommen die dann erstmal auchnoch gefixt werden müssen.

Lg
Max
 
×
Dir gefällt Musiker-Board.de? ❤️ Lasse dir unsere neuesten Inhalte in der Google-Suche ganz oben anzeigen!
Affiliate/Werbung
Avid
Sibelius Artist Perpetual
157 €
Jetzt kaufen
Zurück
Oben