Born in Edinburgh, he took an arts degree at the
University of Edinburgh and studied composition privately with the Anglo-Canadian composer
Healey Willan. From there he developed his career as editor, music critic, and author. Gray first met
Philip Heseltine (another writer/critic who also composed music under the name Peter Warlock) at the
Cafe Royal in the spring of 1916 and they were soon sharing a studio – 2 Anhalt Studios, close to
Battersea Park. This led to Gray's first musical venture, the co-sponsoring with Heseltine in 1917 of a concert of works by the then completely unknown composer
Bernard van Dieren. Three years later Gray co-founded the early music periodical
The Sackbut, also with Heseltine. Gray subsequently worked as music critic for publications including
The Daily Telegraph,
The Manchester Guardian, and
The Morning Post, and occasionally for the
Radio Times and
The Listener. His first published book,
A Survey of Contemporary Music, was published in 1924, and was notable for its contrary opinions.
Frank Howes,
The Times chief music critic, pointed out that the formula "so far from the usual view being true, the precise opposite is the case" occurs every few pages.
Virginia Woolf mentions the quip he made at
Germaine Tailleferre : "Of Mlle. Germaine Tailleferre one can only repeat Dr Johnson's dictum concerning, a woman preacher, transposed into terms of music. "Sir, a woman's composing is like a dog's walking on his hind legs. It is not done well, but you are surprised to find it done at all." With Heseltine, Gray co-authored the characteristically perverse
Carlo Gesualdo, Prince of Venosa: Musician and Murderer in 1926. A full, but equally unorthodox
History of Music followed in 1928. Gray was also an early advocate of
Sibelius, championing his music in the UK from 1923 when it was still all but unknown there. He wrote two books on the composer in 1931 and 1935. His sympathetic portrayal of Heseltine/Warlock in his memoir of 1934 is thought by many to be his best literary work. ==Musical works==