Chuck McCallum Posted May 15 Share Posted May 15 I've just released a command-line tool to help find good fingerings for tunes provided in ABC notation:https://github.com/mccalluc/concertina-helper There are several other packages out there, but I think this offers something new by making it possible to choose different weights for different strategies (ie, avoiding change in bellows direction vs. avoiding finger moves between rows), and there is also a documented API which should make it possible for this to be used as a dependency in other projects. Hope it can be useful. 1 Quote Link to comment Share on other sites More sharing options...
eskin Posted May 16 Share Posted May 16 Very cool! Also enjoying the other page you cite:https://jvandonsel.github.io/fingering/fingering.html Quote Link to comment Share on other sites More sharing options...
Leah Velleman Posted May 16 Share Posted May 16 Oh, I like this. I've been wanting for a while to make a flashcard app that asks things like "how do you play B-C-D-E without changing bellows," and I think this with the bellows-change constraint cranked way up would take care of the hard part of that job. Quote Link to comment Share on other sites More sharing options...
lachenal74693 Posted May 16 Share Posted May 16 (edited) 5 hours ago, eskin said: Very cool! Also enjoying the other page you cite:https://jvandonsel.github.io/fingering/fingering.html That was one of the two programs which inspired me to develop my own fingering generator(s) starting ~5 years ago. Currently I can add basic fingering tabs (melody only), and ABC note-names to large ABC files. I use hard-wired 'along-the-row' or 'cross-row' mapping of notes to buttons. The program(s) generate tabs for G/D, Bb/F and C/G concertinas and D/G Hohner Pokerwork melodeon. The next step is to optimise the mappings so that the note-button choices are a little more 'player-friendly'. It's very un-cool and old-fashioned because it runs locally rather than remotely, and runs in a simple command-window without an ASAD window-based user-interface, but that's the way I prefer to work. Edited May 16 by lachenal74693 Quote Link to comment Share on other sites More sharing options...
lachenal74693 Posted May 17 Share Posted May 17 (edited) On 5/15/2023 at 6:37 PM, Chuck McCallum said: I've just released a command-line tool to help find good fingerings for tunes provided in ABC notation etc... Any chance of seeing a sample input file and the output it generates? There may be one in the github repository, but I'm afraid I missed it. Thanks. Edited May 17 by lachenal74693 Quote Link to comment Share on other sites More sharing options...
Chuck McCallum Posted May 18 Author Share Posted May 18 (edited) Quote Any chance of seeing a sample input file and the output it generates? Sure. So it takes ABC files as input: $ cat tests/g-major.abc X: 1 T: G major scale M: 4/4 L: 1/4 K: Gmaj GABc|defg|| Its default output looks like: $ concertina-helper tests/g-major.abc --layout_name 30_wheatstone_cg | head Measure 1 - G4 PUSH: --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- G4 --- --- --- --- --- --- --- Measure 1 - A4 PUSH: --- --- --- A4 --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- --- But there are more options: You can define your own layout, and provide it instead. (Just using an example I have checked in, but you could use any file with this structure.) $ cat concertina_helper/layouts/30_wheatstone_cg.yaml push: left: - E3 A3 C#4 A4 G#4 - C3 G3 C4 E4 G4 - B3 D4 G4 B4 D5 right: - C#5 A5 G#5 C#6 A6 - C5 E5 G5 C6 E6 - G5 B5 D6 G6 B6 pull: left: - F3 Bb3 D#4 G4 Bb4 - G3 B3 D4 F4 A4 - A3 F#4 A4 C5 E5 right: - D#5 G5 Bb5 D#6 F6 - B4 D5 F5 A5 B5 - F#5 A5 C6 E6 F#6 And then you can transpose the layout, choose a more concise output mode, and weight the fingering strategies differently: $ concertina-helper tests/g-major.abc \ --layout_path concertina_helper/layouts/30_jefferies_cg.yaml \ --layout_transpose 2 \ --format ascii \ --bellows_change_cost 3 \ --finger_in_same_column_cost 6 | head Measure 1 - G4 PULL: ..... ..... ...@. ..... ..... ..... Measure 1 - A4 PUSH: ..... ..... ....@ ..... ..... ..... And if you need more flexibility than that, there's the API: https://mccalluc.github.io/concertina-helper/concertina_helper.html Edited May 18 by Chuck McCallum Quote Link to comment Share on other sites More sharing options...
lachenal74693 Posted May 18 Share Posted May 18 1 hour ago, Chuck McCallum said: Sure. So it takes ABC files as input: $ cat tests/g-major.abc X: 1 T: G major scale M: 4/4 L: 1/4 K: Gmaj GABc|defg|| Its default output looks like: etc... OK, that's helpful. Thanks Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.