Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

L&P — Learn & Play

Türkçe · English

Elektro gitara sıfırdan başlayanlar için masaüstü öğrenme uygulaması. Çevrimdışı çalışır, hesap istemez, veri toplamaz.

An offline desktop app for learning electric guitar from zero. No account, no telemetry.

Sürüm Lisans

Electron 43 · React 19 · Vite 8 · macOS + Windows · Türkçe / English


Türkçe

Niyet

Bu uygulama tek bir soruyu çözmek için yazıldı: gitarı eline alan biri, bir sonraki adımda ne yapacağını nereden bilecek?

YouTube dersleri sıralı değil, uygulamaların çoğu abonelik istiyor ve hiçbiri "az önce çaldığın şey doğru muydu" sorusunu yanıtlamıyor. L&P bunu mikrofonla ölçüyor: 152 ders adımının 60'ında çaldığın notaları dinleyip doğru perdeye temiz basıp basmadığını söylüyor.

Bir tasarım kararı bütün projeye yön verdi: ölçemediğine "doğru" deme. Uygulama vuruş yönünü, palm mute derinliğini ve ritmi mikrofonla ölçmüyor, çünkü tek sesli perde tespiti bunları göremez — ve bunu arayüzde açıkça yazıyor. Aynı sebeple şarkı analizindeki tab çıkarma, çok sesliliği ölçüp eşiği aştığında tab üretmeyi reddediyor. Yanlış bilgi vermektense hiç vermemeyi seçiyor.

Neler var

28 ders, 152 adım Gitarı tutmaktan pentatonik soloya. 60 adımda mikrofonla denetim.
8 bölüm Tanışma → ilk sesler → çalmaya başla → teknikler → müzik yap → barre → ritim → solo
Akort Mikrofonla, en yakın teli kendisi seçiyor, sent hassasiyetinde
Fretboard 24 perde, 5 skala, 23 akor diyagramı (barre dâhil) + aralıklı tekrarla nota ezberi
Teori Ton → akor ailesi, yaygın diziler (çalınabilir), hangi pentatonik, kapo tablosu
Kulak eğitimi 7 mod: aralık, akor niteliği, duyduğunu çal (mikrofonla), ritmi tekrarla
Alıştırma Metronom + 8 drill, bir dakikada akor değişimi, 14 vuruş kalıbı
Riff kütüphanesi 20 özgün riff, tekniğe ve zorluğa göre
Şarkılar 7 parça için tempo, ton, amfi ayarı ve çalışma planı
Bakım Gitarın bakımı + çalan kişinin bakımı (ısınma, esneme, ağrı işaretleri, kulak sağlığı)
Günlük seans Sıradaki dersine ve ölçülen zayıf noktalarına göre üretilen plan
Şarkı analizi (deneysel) Demucs ile enstrüman ayırma, gitarı yalıtma/susturma, A-B döngüsü

Ders içeriği belirli bir donanıma göre yazıldı: Ibanez GRG170DX ve Blackstar ID:Core V4 10W. "Manyetik seçicinin 5 konumu" ya da "tremololu köprüde tel değişimi" gibi anlatımlar bu cihazlara özel.

İndir

Kurulabilir paketler Sürümler sayfasında. Derlemek istemiyorsan indirip kurman yeterli.

Sistem Dosya
macOS · Apple Silicon (M1/M2/M3/M4) LP-0.1.1-macOS-arm64.dmg · 120 MB
macOS · Intel LP-0.1.1-macOS-x64.dmg · 122 MB
Windows 10/11 · x64 LP-0.1.1-Windows-Setup.exe · 103 MB

Paketler imzalanmamış. Kod imzalama sertifikası yok, bu yüzden iki sistem de ilk açılışta uyarı veriyor — zararlı olduğu anlamına gelmiyor, imzasız olduğu anlamına geliyor.

  • macOS: DMG'yi aç, uygulamayı Applications'a sürükle. İlk açışta uygulamaya sağ tık → Aç, çıkan pencerede yine . Bir kez yapılır. Takılırsan Sistem Ayarları → Gizlilik ve Güvenlik → "Yine de Aç".
  • Windows: SmartScreen uyarısında Ek bilgi → Yine de çalıştır.

İndirdiğini doğrulamak için SHA256SUMS.txt:

shasum -a 256 LP-0.1.1-macOS-arm64.dmg                  # macOS / Linux
certutil -hashfile LP-0.1.1-Windows-Setup.exe SHA256    # Windows

Kendi sertifikanla imzalamak istersen docs/release.md ikisini de anlatıyor.

Kaynaktan derlemek

git clone https://github.com/ademxdogan/learn-and-play.git
cd learn-and-play
npm --prefix app install
npm --prefix app run dev          # geliştirme (Vite + Electron)

Kurulabilir paket üretmek için:

npm --prefix app run dist         # macOS DMG + Windows EXE
npm --prefix app run dist:mac     # yalnız macOS
npm --prefix app run dist:win     # yalnız Windows

Çıktılar app/release/ altında; imzasız oldukları için yukarıdaki ilk açılış adımları burada da geçerli.

Gereksinimler: Node.js 20+. Şarkı analizi için ayrıca Python 3.10+ (Demucs uygulama içinden, kendi izole ortamına kuruluyor — sistem Python'una dokunulmuyor, ~2 GB, yalnızca sen düğmeye basınca).

npm --prefix app test             # 70 test, tarayıcı gerekmiyor

Yapı

app/
├── electron/     pencere, köprü, Demucs servisi
├── src/
│   ├── content/  dersler, akorlar, riffler — Türkçe kaynak + YAPI
│   ├── i18n/     çeviriler (yeni dil buraya)
│   ├── lib/      saf fonksiyonlar (ses, perde tespiti, teori, çeviri)
│   ├── pages/    13 sayfa
│   └── store.jsx tek durum kaynağı
└── test/         70 test
docs/             sürüm alma, çekim listesi, tuval prototipi
tasks/todo.md     geliştirme günlüğü — her işin gerekçesi burada
tasks/lessons.md  hatalardan çıkarılan kurallar

Yapay zekâ araçlarıyla geliştirmeye devam etmek

Bu depo, bir yapay zekâ ajanının forkladıktan sonra doğrudan çalışmaya başlayabilmesi için hazırlandı.

AGENTS.md projenin bütün bağlamını taşıyor: mimari kararlar, "neden böyle" gerekçeleri, bilmeden değiştirilmemesi gereken ayarlar, içerik yazma kuralları ve yaygın tuzaklar. Claude Code, Cursor, Copilot, Codex ve Aider bu dosyayı kendiliğinden okuyor; okumayan bir araç kullanıyorsan ilk mesajda ver.

Claude Code için ayrıca kök dizinde CLAUDE.md var — AGENTS.md'ye yönlendiriyor ve en sık kırılan üç şeyi özetliyor.

Örnek başlangıç istemi:

AGENTS.md ve tasks/lessons.md dosyalarını oku. Sonra <şu işi> yap:
plan çıkar, tasks/todo.md'ye yaz, uygula, npm --prefix app test çalıştır
ve todo.md'ye review ekle.

Bilmesi gereken üç şey:

  1. Kod ve yorumlar Türkçe. Commit mesajları da.
  2. tasks/todo.md projenin belleği. Her tamamlanan iş için oraya ne yapıldığı, hangi kararın neden alındığı ve ölçüm sonuçları yazılıyor. Yeni bir ajan geçmişi buradan okuyabiliyor.
  3. Testler yapıyı koruyor. 70 testin çoğu saf fonksiyon üstünde: tab sütunları geçerli mi, sıralayıcı aralıkları doğru mu, çeviri yapıyı bozmuş mu. Bir saniyenin altında koşuyor, her değişiklikten sonra çalıştır.

Yeni dil eklemek

Türkçe kaynak dil; içerik dosyaları hem düzyazıyı hem yapıyı (tab, akor kodu, perde numarası) taşıyor. Diğer diller yalnızca düzyazıyı geçersiz kılıyor — yapı hiç kopyalanmıyor.

mkdir -p app/src/i18n/de
cp app/src/i18n/tr/ui.js app/src/i18n/de/ui.js     # sonra çevir
npm --prefix app run i18n:skeleton -- de           # içerik iskeleti üretir
npm --prefix app run i18n:write -- de < yama.tsv   # yol<TAB>çeviri satırları

Son adım app/src/i18n/index.js içindeki DILLER'e bir satır eklemek. Başka hiçbir yere dokunmak gerekmiyor. Eksik çeviri uygulamayı bozmaz: çevrilmemiş her metin kaynak dilde görünür.

Telif

Şarkıların notaları telif hakkıyla korunuyor; bu depoda birebir tab yok. Şarkı sayfası tempo, ton ve ayar veriyor ve Songsterr'a bağlanıyor. Riff kütüphanesindeki 20 riff bu uygulama için yazıldı.

Ürün fotoğrafları (assets/source/, app/public/assets/) depo sahibine ait.

Kodun lisansı MIT — bkz. LICENSE.


English

Intent

This app exists to answer one question: once you have a guitar in your hands, how do you know what to do next?

YouTube lessons aren't sequenced, most apps want a subscription, and none of them answer "was what you just played correct?". L&P measures that with the microphone: in 60 of its 152 lesson steps it listens to what you play and tells you whether you fretted the right notes cleanly.

One design decision shaped the whole project: don't call something correct when you can't measure it. The app does not measure strum direction, palm mute depth or rhythm through the microphone, because monophonic pitch detection cannot see those — and it says so plainly in the interface. For the same reason the tab extraction in Song analysis measures polyphony and refuses to produce a tab when it exceeds the threshold. It would rather give you nothing than something wrong.

What's in it

28 lessons, 152 steps From holding the guitar to pentatonic soloing. Microphone verification on 60 steps.
8 parts Getting acquainted → first notes → start playing → techniques → make music → barre → rhythm → soloing
Tuner Microphone-based, picks the nearest string itself, cent accuracy
Fretboard 24 frets, 5 scales, 23 chord diagrams (barre included) plus a spaced-repetition note quiz
Theory Key → chord family, common progressions (playable), which pentatonic, capo table
Ear training 7 modes: intervals, chord quality, play-what-you-hear (via mic), repeat-the-rhythm
Practice Metronome + 8 drills, one-minute chord changes, 14 strumming patterns
Riff library 20 original riffs, by technique and difficulty
Songs Tempo, key, amp settings and a practice plan for 7 pieces
Care Guitar care plus player care (warm-up, stretches, pain signs, hearing health)
Daily session A plan generated from your next lesson and your measured weak spots
Song analysis (experimental) Instrument separation with Demucs, isolate/mute the guitar, A-B loop

The lesson content is written for specific hardware: an Ibanez GRG170DX and a Blackstar ID:Core V4 10W. Passages like "the 5 positions of the pickup selector" or "changing strings on a tremolo bridge" are specific to these.

Download

Installers are on the Releases page. If you don't want to build it yourself, download and install.

Platform File
macOS · Apple Silicon (M1/M2/M3/M4) LP-0.1.1-macOS-arm64.dmg · 120 MB
macOS · Intel LP-0.1.1-macOS-x64.dmg · 122 MB
Windows 10/11 · x64 LP-0.1.1-Windows-Setup.exe · 103 MB

The packages are unsigned. There is no code-signing certificate, so both systems warn on first launch — that means unsigned, not harmful.

  • macOS: open the DMG, drag the app into Applications. On first launch right-click → Open, then Open again in the dialog. Once only. If you get stuck: System Settings → Privacy & Security → "Open Anyway".
  • Windows: on the SmartScreen prompt, More info → Run anyway.

To verify what you downloaded, use SHA256SUMS.txt:

shasum -a 256 LP-0.1.1-macOS-arm64.dmg                  # macOS / Linux
certutil -hashfile LP-0.1.1-Windows-Setup.exe SHA256    # Windows

If you want to sign with your own certificate, docs/release.md covers both platforms.

Building from source

git clone https://github.com/ademxdogan/learn-and-play.git
cd learn-and-play
npm --prefix app install
npm --prefix app run dev          # development (Vite + Electron)

To produce installers:

npm --prefix app run dist         # macOS DMG + Windows EXE
npm --prefix app run dist:mac
npm --prefix app run dist:win

Output lands in app/release/; they are unsigned too, so the first-launch steps above apply.

Requirements: Node.js 20+. Song analysis additionally needs Python 3.10+ (Demucs installs itself into an isolated environment from inside the app — your system Python is untouched, ~2 GB, only when you press the button).

npm --prefix app test             # 70 tests, no browser needed

Layout

app/
├── electron/     window, bridge, Demucs service
├── src/
│   ├── content/  lessons, chords, riffs — Turkish source + STRUCTURE
│   ├── i18n/     translations (new languages go here)
│   ├── lib/      pure functions (audio, pitch detection, theory, i18n)
│   ├── pages/    13 pages
│   └── store.jsx single source of state
└── test/         70 tests
docs/             releasing, shot list, canvas prototype
tasks/todo.md     development log — the reasoning behind every change
tasks/lessons.md  rules distilled from mistakes made

Continuing development with AI tools

This repository is set up so an AI agent can fork it and start working immediately.

AGENTS.md carries the full project context: architectural decisions, the "why" behind them, settings that must not be changed blindly, content-writing rules and common pitfalls. Claude Code, Cursor, Copilot, Codex and Aider read this file automatically; if your tool doesn't, paste it into your first message.

For Claude Code there is also a CLAUDE.md at the root, pointing to AGENTS.md and summarising the three things that break most often.

A starting prompt that works:

Read AGENTS.md and tasks/lessons.md. Then do <task>: write a plan into
tasks/todo.md, implement it, run npm --prefix app test, and append a
review to todo.md.

Three things to know:

  1. Code and comments are in Turkish. Commit messages too. A mixed-language codebase is unreadable; please keep it consistent.
  2. tasks/todo.md is the project's memory. Every completed piece of work gets a review there: what was done, why each decision was made, what was measured. A new agent can read the history from it.
  3. The tests protect structure. Most of the 70 tests run over pure functions: are the tab columns valid, are the sequencer intervals right, did a translation break the structure. They run in under a second — run them after every change.

Adding a language

Turkish is the source language; the content files carry both prose and structure (tabs, chord codes, fret numbers). Other languages override prose only — the structure is never duplicated.

mkdir -p app/src/i18n/de
cp app/src/i18n/tr/ui.js app/src/i18n/de/ui.js     # then translate
npm --prefix app run i18n:skeleton -- de           # generates the content skeleton
npm --prefix app run i18n:write -- de < patch.tsv  # path<TAB>translation lines

The last step is one line in DILLER inside app/src/i18n/index.js. Nothing else needs touching. A partial translation doesn't break anything: whatever isn't translated shows in the source language.

Copyright

Song notation is protected by copyright; there are no reproduced tabs in this repository. The Songs page gives tempo, key and settings, and links to Songsterr. The 20 riffs in the riff library were written for this app.

The product photographs (assets/source/, app/public/assets/) belong to the repository owner.

The code is licensed under MIT — see LICENSE.

About

Elektro gitara sıfırdan başlayanlar için çevrimdışı masaüstü öğrenme uygulaması — 28 ders, mikrofonla doğrulama, Türkçe/İngilizce. Electron + React.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages