frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
247•isitcontent•17h ago•27 comments

Show HN: Kappal – CLI to Run Docker Compose YML on Kubernetes for Local Dev

https://github.com/sandys/kappal
6•sandGorgon•2d ago•2 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
350•vecti•19h ago•157 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
317•eljojo•20h ago•196 comments

Show HN: MCP App to play backgammon with your LLM

https://github.com/sam-mfb/backgammon-mcp
3•sam256•1h ago•1 comments

Show HN: R3forth, a ColorForth-inspired language with a tiny VM

https://github.com/phreda4/r3
78•phreda4•17h ago•14 comments

Show HN: Smooth CLI – Token-efficient browser for AI agents

https://docs.smooth.sh/cli/overview
93•antves•1d ago•70 comments

Show HN: I'm 75, building an OSS Virtual Protest Protocol for digital activism

https://github.com/voice-of-japan/Virtual-Protest-Protocol/blob/main/README.md
5•sakanakana00•2h ago•1 comments

Show HN: I built Divvy to split restaurant bills from a photo

https://divvyai.app/
3•pieterdy•2h ago•0 comments

Show HN: BioTradingArena – Benchmark for LLMs to predict biotech stock movements

https://www.biotradingarena.com/hn
26•dchu17•22h ago•12 comments

Show HN: ARM64 Android Dev Kit

https://github.com/denuoweb/ARM64-ADK
17•denuoweb•2d ago•2 comments

Show HN: Slack CLI for Agents

https://github.com/stablyai/agent-slack
49•nwparker•1d ago•11 comments

Show HN: Artifact Keeper – Open-Source Artifactory/Nexus Alternative in Rust

https://github.com/artifact-keeper
152•bsgeraci•1d ago•64 comments

Show HN: I Hacked My Family's Meal Planning with an App

https://mealjar.app
2•melvinzammit•4h ago•0 comments

Show HN: I built a free UCP checker – see if AI agents can find your store

https://ucphub.ai/ucp-store-check/
2•vladeta•5h ago•2 comments

Show HN: Gigacode – Use OpenCode's UI with Claude Code/Codex/Amp

https://github.com/rivet-dev/sandbox-agent/tree/main/gigacode
19•NathanFlurry•1d ago•9 comments

Show HN: Compile-Time Vibe Coding

https://github.com/Michael-JB/vibecode
10•michaelchicory•6h ago•1 comments

Show HN: Daily-updated database of malicious browser extensions

https://github.com/toborrm9/malicious_extension_sentry
14•toborrm9•22h ago•7 comments

Show HN: Micropolis/SimCity Clone in Emacs Lisp

https://github.com/vkazanov/elcity
172•vkazanov•2d ago•49 comments

Show HN: Slop News – HN front page now, but it's all slop

https://dosaygo-studio.github.io/hn-front-page-2035/slop-news
15•keepamovin•7h ago•5 comments

Show HN: Horizons – OSS agent execution engine

https://github.com/synth-laboratories/Horizons
23•JoshPurtell•1d ago•5 comments

Show HN: Falcon's Eye (isometric NetHack) running in the browser via WebAssembly

https://rahuljaguste.github.io/Nethack_Falcons_Eye/
5•rahuljaguste•16h ago•1 comments

Show HN: Fitspire – a simple 5-minute workout app for busy people (iOS)

https://apps.apple.com/us/app/fitspire-5-minute-workout/id6758784938
2•devavinoth12•10h ago•0 comments

Show HN: Local task classifier and dispatcher on RTX 3080

https://github.com/resilientworkflowsentinel/resilient-workflow-sentinel
25•Shubham_Amb•1d ago•2 comments

Show HN: I built a RAG engine to search Singaporean laws

https://github.com/adityaprasad-sudo/Explore-Singapore
4•ambitious_potat•11h ago•4 comments

Show HN: Sem – Semantic diffs and patches for Git

https://ataraxy-labs.github.io/sem/
2•rs545837•12h ago•1 comments

Show HN: A password system with no database, no sync, and nothing to breach

https://bastion-enclave.vercel.app
12•KevinChasse•22h ago•16 comments

Show HN: GitClaw – An AI assistant that runs in GitHub Actions

https://github.com/SawyerHood/gitclaw
10•sawyerjhood•23h ago•0 comments

Show HN: FastLog: 1.4 GB/s text file analyzer with AVX2 SIMD

https://github.com/AGDNoob/FastLog
5•AGDNoob•13h ago•1 comments

Show HN: Craftplan – I built my wife a production management tool for her bakery

https://github.com/puemos/craftplan
568•deofoo•5d ago•166 comments
Open in hackernews

Show HN: Convert from MIDI file to ASCII tablature (and more)

https://github.com/scottvr/gtrsnipe/blob/main/README.md
42•ycombiredd•6mo ago
Hi folks,

About seven months ago, via HN, I got nerdsniped into a silly guitar transcription problem and made a bunch of really senseless code but what came out of it was what I thought at the time could potentially be pretty useful - a guitar fretboard mapper and fingering scoring algorithm.

So as of yesterday morning I've finally put those bits of code to "good" use, creating gtrsnipe to convert between MIDI files (.mid) and ASCII tab (as well as VexTab and ABC notation) and any combination/direction among the set of formats.

gtrsnipe tries to intelligently find the best neck and fingering positions using a note to fretboard mapper and a scoring algorithm that is unavoidably shaped by my subjective opinions and skills as a player but it does its best to avoid objectively impossible fingerings.

See the example tabs and usage in the README and please, try your own transcriptions from MIDI and if you love or hate the arrangement it gives you, I'd love to hear about it so I can further refine the scoring algorithm.

Thanks!

Comments

robbomacrae•6mo ago
Nice! This reminds me of my PhD research! I built some similar tools to go the other way (for comparing similarity with scores) but probably nowhere near as reliable as this. QQ How do you handle repeat segments? I remember having to extrapolate the x2's etc but in your you could detect patterns and do the reverse for compactness.
ycombiredd•6mo ago
Thanks! TBH I hadn't thought about handling repeating segments yet - in either direction. Because the tab-to-midi direction is mostly a novelty I haven't done much of it except with tabs generated by gtrsnipe, and since it doesn't handle repeats specially, I haven't had to parse any "x2" type notation, but now that you mention it I should. Thanks again.
omoikane•6mo ago
If I read it correctly, the mapper will score fingering based on how many frets the hand needs to stretch:

https://github.com/scottvr/gtrsnipe/blob/4cae149e1dac766c3c3...

But this doesn't seem to account for other shape concerns. The bit I am most interested in is whether this mapper can avoid barre chords where possible.

Related, I think there should also be an option to take capo into account.

ycombiredd•6mo ago
There's quite a bit more involved in the scoring, such as string hopping, runs on the same string, etc. I invite you to run --help and look at the mapper config tunables. Ideas for improvement are welcome.
jmkr•6mo ago
Awesome OP. I'll give it a shot because I've been considering doing something similar for chord charts. Glad to see abc notation support.
nartho•6mo ago
Looks interesting, too bad it's limited to 6 strings and 3 tunings, that excludes a lot of music
ycombiredd•6mo ago
I probably need to update the documentation. Since I posted I've added many alternate tunings and it supports from four to seven strings. I'm still improving it. Thanks for checking it out.
ycombiredd•6mo ago
Here's the current supported tunings:

  $ gtrsnipe  --list-tunings                                                   
  Available Tunings:
  - STANDARD              : E4 B3 G3 D3 A2 E2
  - E_FLAT                : Eb4 Bb3 Gb3 Db3 Ab2 Eb2
  - DROP_D                : E4 B3 G3 D3 A2 D2
  - D_STANDARD            : D4 A3 F3 C3 G2 D2
  - DROP_C                : D4 A3 F3 C3 G2 C2
  - OPEN_G                : D4 B3 G3 D3 G2 D2
  - OPEN_E                : E4 B3 G#3 E3 B2 E2
  - DADGAD                : D4 A3 G3 D3 A2 D2
  - OPEN_D                : D4 A3 F#3 D3 A2 D2
  - OPEN_C6               : E4 C4 G3 C3 A2 C2
  - C_SHARP               : C#4 F#3 B2 E2 C#2
  - BASS_STANDARD         : G2 D2 A1 E1
  - BASS_DROP_D           : G2 D2 A1 D1
  - BASS_E_FLAT           : Gb2 Db2 Ab1 Eb1
  - SEVEN_STRING_STANDARD : E4 B3 G3 D3 A2 E2 B1
  - SEVEN_STRING_DROP_A   : E4 B3 G3 D3 A2 E2 A1
  - BARITONE_B            : B3 F#3 D3 A2 E2 B1
  - BARITONE_A            : A3 E3 C3 G2 D2 A1
  - BARITONE_C            : C4 G3 Eb3 Bb2 F2 C2
westurner•6mo ago
I looked for similar tools;

Looks like tayuya is also written in Python, on mido and music21. It has a "get all notes to play" feature, mentions LilyPond tab output as a todo, and has a get_key(midi) method built on music21: https://github.com/vipul-sharma20/tayuya#get-all-notes-to-pl...

tayuya.tabs:note_nearest_to_fret: https://github.com/vipul-sharma20/tayuya/blob/master/tayuya/...

Kord has a fretboard visualizer tool: https://github.com/synestematic/kord#fretboard-tool

Textual is another way to create CLIs for Python scripts.

What about tab playback and CLI-based scrubbing?

There was a post a week or so ago about an LWN article about spotify/pedalboard, which is written in Python and built on JUCE (C++) and supports VST3 and LV2 plugins like a MIDI player or a wavetable synth and a Guitarix effects rack: https://news.ycombinator.com/item?id=44604024#44648290

jarmitage•6mo ago
Hi @ycombiredd, could this be used to turn MIDI into http://strudel.cc mini-notation?

Previous effort: https://github.com/TylerMclaughlin/midi_to_tidalcycles

ycombiredd•6mo ago
I hadn't heard of Strudel before but I'll look into it. Thanks!
ycombiredd•6mo ago
OP here. I need to update the readme, but running it with --help will show you all of the alternate tunings and such. The mapper algorithm is nearly 100% tunable.

As I said, I'll put this info in the README, but last night I made a medium post that shows some of this (--bass, etc).

https://medium.com/@scott.vr/about-seven-months-ago-via-hack...