Posts Tagged Music

Guitar Chords–Finding a good printing piece of software


I set out today to find a piece of software which make neat prints of guitar chords. This turned into a long winded process of downloading trial version of software and seeing what they would do. In the end I think I found what I was looking for (well almost).

Enter QwikChord 3image

The main screen is shown across. The “Show Toolbox” button only becomes available with the paid version. The Tool Box is where the fun starts, and where the software starts “ticking the boxes” I had as far as requirement.

The other point in the software which “ticked my boxes” I’ll cover then the rest of this blog post.

The Tool Boximage

This is the first part of the match up between my requirements and the product. The ability to select the symbol (and I prefer dots, or circles in black).

There are other symbology’s which I may come to understand one day, but for now, black circles is what I wanted.

The “Decoration Color” is another element which comes together to help make this do what I want. The decoration colour of Black draws the dots, the decoration colour of white is what puts the fingering umbers into the dots.

Fret Textimage

This is the next part of the jigsaw which helps this product do what I wanted. The “Fret Text” lets me put the fingering number into the “black circles”.

You need to “right click” the dot to get the “Fret Text” box to pop up. But once there it is easy to enter the fingering number into the dot.

The Copy Functionimage

This is the next to last function in the product which really made the choice of it easy. Why, because many of the products I looked at would not let me do just this, copy a chord into the windows clipboard. Such a simple feature, but without it how do you set up a chord sheet for a song? You end up resorting to all sorts of windows tricks to do it. That was not where I wanted to go, I want simple when doing things like this.


There is one option which makes making chord diagrams a snack. This is the clipboard size option. Initially, it set a 87 (if I remember correctly), I’ve upped it to 120 which makes readable chord diagrams.

What this magic little parameter is is the y size of the bitmap image that this tool places onto the clipboard. Increasing this value get the product making bigger images.



imageThese are a couple of examples from the product (no finger numbering in these – as I know them).

Wish list

  • I’d love the ability to enter the chord name and get a diagram.
  • I’d love the ability for the product to put the fingering in by default.

, , , , , , ,


Boss JS 8 eBand Addition


I’ve been using the Boss JS 8 eBand as a guitar practice and training tool for many months now. I have nothing but good things to says about the unit. It is truly an amazing little gadget for the guitarBoss_eBand player. The power of the unit comes from a truly wicked combination of the following features:

  • BOSS effects. There are a bucket load of effects in the eBand. The flexibility of combining, and a degree of control which is great.
  • the COSM amplifier modelling which is again great. There is really an audible difference between the amp models.
  • the 100+ pre-set effect and amplifier combinations. These again are great. They also save a lot of time sorting out how to achieve a sound when there is already one which is in the box. It also saves a lot of $’s buying peddles, trying to get a combination which gives a sound your after.
  • the song list feature. The eBand allows you to load via a PC (or Mac), songs and backing tracks (there are a bucket load of these for the eBand at this Boss site  eTracks For eBand). This along with the “slow it down”, and loop the playback (and A point in track to point B in the song loop), song repeat, make learning how to play a song a pleasure.
  • there is a Phrase Loop feature in there as well. I’ve yet to play with that one, but the day is approaching when I will.
  • plus a record feature. The difference between the Phrase Loop and record feature are:
    • the Phrase Loop is 40 seconds in duration,
    • the record is unlimited (limited by the amount of memory in the unit).
    • the Phrase Loop can be repeatable overdubbed,
    • the record is just the sound you play.

The “Doh! Missed the start again”

There is one feature of the eBand which has “annoyed” me. That is if you are playing along to something you need to take your hand off the guitar, and press the play. This “feature” is blatantly obvious if you think about it. But, until you get to the “Doh! I missed the start again” moments, solving it will not occur to you.

Boss_FS6Luckily, the designers of this little box of tricks were thinking clearly when they put the machine together. There is a solution which the machine will accommodate, a footswitch. A  Boss footswitch at that! What would you expect from Boss. The eBand is designed to use Boss footswitches to start and stop playback, control the Phrase Loop, and lots more (I’d have to read the manual to find all of the things it will control).

Recommendations: If You’re Thinking About Buying A eBand

There are a couple of thing I’ve learnt about using eBand which could be worthwhile thinking about, when you “stump up the cash” for one. The things I’ve learnt include:

  • If you want to be “loud”, or to use it as an MP3 player (which it does do). Think about buying a Keyboard Amplifier, which are usually stereo (guitar amplifiers usually being monaural), and have a clean channel (you get all the effects you want from the eBand).
  • If you think you’ll be using it for playing along to songs, or using the Phrase Loop function, consider getting a FS 6 at the same time. This will let you keep you hands on the guitar, when you doing things.

, , , , , , ,

Leave a comment

A Little Bit of LINQ

The following was posted as a response to a question on Stack Overflow, which is an interesting site I frequent.

Stack Overflow is a community web site of programmers helping programmers. It is a site which allows programmers to post questions, and other programmers post answers. It may sound like a site which would not work because: “Why would you do it for free?”.

The answer to that question is probably a manifold response, or many faceted. Some of those elements would include:

  • Altruism. Programming is an altruistic professions. As a programmer you develop “stuff” for people you may,or may not, know, to help them do something. 
  • Self Improvement. Programming is a profession in which one needs to be learning all the time. There are always new technologies, or technologies which you’ve not worked in before.
  • Didactic. For programmers teaching becomes another “string to the bow” in the profession. There is always something which needs to be explained, or taught, for developer.
  • Self Interest. This is a bit of a follow on from the didactic point, which could be summarised as “If I improve the quality of programmers in general, then there may be one less mess I have to clean up, or a piece of software which has fewer bugs in it”.

The Question

In LINQ, can I select multiple items?

In Summary

Given a sequence like:

string [] foos = { "abc", "def", "ghi" };

Produce a collection which looks like:

string[] result = {"abc", "cba", "def", "fed", "ghi", "ihg"};

The Answer (my answer at least)

static void Main(string[] args)
string[] foos = { "abc", "def", "ghi" };
// Just to test how to reverse strings
string[] reveresed = (from strings in foos
select new string(strings.ToCharArray().Reverse().ToArray())).ToArray();
// the solution
string[] result = foos.Union(foos.Select(A=> new string(A.ToCharArray().Reverse().ToArray()))).ToArray()
// output the result to the debug console
foreach(string a in result) Debug.WriteLine(a)

Key Points:

  • The extension method Union is used to concatenate the original sequence with the reversed sequence.
  • The strings are reversed by converting them to a char[] (using the string ToCharArray method) and then using the Reverse extension method to reverse that array’s order.
  • The new strings for the result sequence are created by calling the constructor of the string object which accepts a char[] (new string(char[])).
  • The results are dumped to the debug console (just to check we got what we were after).

, , , , , , , , ,

1 Comment

%d bloggers like this: