You are browsing as a guest. Sign up (or log in) to start making projects!

TUI Pitch Detector

  • 6 Devlogs
  • 54 Total hours

A local pitch detection app in Rust that runs in the terminal, with a wide range of parameters you can tweak.

Ship #1 Pending review

Well, it’s, kind of, sort of, maybe, complete now! I have a lot of things I want to add, but I don’t know if the motivation will keep up for that long lol. I started this project as just a way to learn Rust by doing, and it turned into a project that I am really happy with!

Something reviewers should note is that the Two-Way Mismatch algorithm is completely broken and unusable, which I did try to fix but I wasn’t able to. I added it more to show off the right column of the UI updating to show new parameters. If you can make it actually stable and usable via changing the parameters (which I don’t think is the issue, but maybe?), please open a GitHub Issue and I’ll look into it.

Something challenging was working with some of the tooling around Rust, especially the compilation because that is not something I was used to.
I am proud of how it ended up, with a very clean UI if I do say so myself, and with (most of) it working exactly as I want.

In the future, I would like fix the issues with the TWM algorithm, add a GUI (using Tauri), and mostly just incorporate this knowledge into future bigger and better projects!

  • 6 devlogs
  • 54h
Try project → See source code →
Open comments for this post

6h 1m 35s logged

  1. Switched ‘R’ key to reset currently selected parameter, Added ‘P’ key to reset all parameters, Switch hide cursor key from Space to Backspace
  2. Added Tooltip Descriptions for every selectable item
  3. Completed documentation for this release.
  4. Compiled release versions using cross and cargo-make.
0
0
12
Open comments for this post

8h 43m 43s logged

  1. Added navigating and selecting items and shifting selected parameters
  2. Fixed bug in CyclicParam that caused subtractions past bounds, breaking unsigned types if the lower bound was zero
  3. Added Tooltips with info about selected item (descriptions to come)

Note: Two-way mismatch, appears to be highly unstable and generally incorrect (one semitone above actual), tried debugging but no success.

0
0
29
Open comments for this post

8h 27m 10s logged

Added detection parameters to the UI (changes with detection mode), and implemented Two-Way Mismatch detection algorithm (parameters not implemented yet). Also finally remembered to commit to the git repo (oops).

0
0
48
Open comments for this post

22h 52m 52s logged

  1. Backend Processing Loop - read & process inbox (process audio chunks & respond with frequency frames, process & confirm parameter updates, respond to metadata requests, and shutdown)
  2. Backend Thread Starter Method
  3. CLI Main Loop - read & process inbox (process new frequency frames, process parameter update confirmations, process shutdown confirmations), update TUI with new note, read & process keypresses (temporary hotkeys for testing)

(I wasn’t planning on submitting this to Stardance, so I’ve done a lot of work on it. Future devlogs will be smaller)

0
0
16

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…