December 12, 2013
On 13 December 2013 02:28, John Colvin <john.loughran.colvin@gmail.com>wrote:

> On Thursday, 12 December 2013 at 15:47:48 UTC, Jacob Carlborg wrote:
>
>> On 2013-12-12 11:43, Manu wrote:
>>
>>> So, I'm a massive fan of music games. I'll shamefully admit that I was tragically addicted to Dance Dance Revolution about 10 years ago. Recently, it's Guitar Hero and Rock Band.
>>>
>>> I quite like the band ensemble games, they're good party games, and great rhythm practise that's actually applicable to real instrument skills too.
>>>
>>
>> I wouldn't agree with that, at least not for Guitar Hero. I had issues with the timing. When I played I tried to time the music, but that didn't work. Instead I had to time the screen to get any points.
>>
>
> As a lifelong musician this annoyed the hell out of me. The whole experience ends up like reading annoying flashy sheet music. Low latency is critical.
>

It is quite sad how few people seem to know how, or make the effort to setup their system properly, or know what the typical sources of latency are... or even that there's such a thing as latency in the first place. It's possible to make it near-perfect... but when I go to other peoples houses and try to play, it never is. And then I start fiddling with their AV system for an hour while everyone get's angry at me and tells me it's perfect, and have no idea what I'm fussing about >_<


December 12, 2013
On 12/12/13 16:47, Jacob Carlborg wrote:
> Instead I had to time the screen to get any points.

Not defending Guitar Hero here, but sometimes it is necessary to follow visual rather than sonic cues in performance -- e.g. the brass players and others at the back of a symphony orchestra will often play ahead of musicians at the very front, because the sound takes longer to get from them to the audience.  There's a lot of subtle internal stuff that goes on with different sections of the orchestra having to react and play differently in order to keep the whole together, and a lot of that needs to be be modulated by following visual cues of one kind or another from various different people, sometimes against the grain of what your ears are getting.

Then there are things like some extreme contemporary music where different musicians are effectively in different tempi -- you can play with a click-track, but sometimes it's easier or preferable to have flashing lights give you your own personal tempo.

Plugged-in performance isn't really my area, but it wouldn't surprise me if having to deal with latency is an occasional occupational challenge there -- can anyone confirm? :-)
December 12, 2013
On 12 December 2013 17:43, Joseph Rushton Wakeling <joseph.wakeling@webdrake.net> wrote:
> On 12/12/13 16:47, Jacob Carlborg wrote:
>>
>> Instead I had to time the screen to get any points.
>
>
> Not defending Guitar Hero here, but sometimes it is necessary to follow visual rather than sonic cues in performance -- e.g. the brass players and others at the back of a symphony orchestra will often play ahead of musicians at the very front, because the sound takes longer to get from them to the audience.  There's a lot of subtle internal stuff that goes on with different sections of the orchestra having to react and play differently in order to keep the whole together, and a lot of that needs to be be modulated by following visual cues of one kind or another from various different people, sometimes against the grain of what your ears are getting.
>

You know, I've never had that... but then again I haven't had the fortune of being in a band where distance between the first and back musicians is > 200 metres.  (Because sound doesn't travel *that* slow ;)

> Then there are things like some extreme contemporary music where different musicians are effectively in different tempi -- you can play with a click-track, but sometimes it's easier or preferable to have flashing lights give you your own personal tempo.
>
> Plugged-in performance isn't really my area, but it wouldn't surprise me if having to deal with latency is an occasional occupational challenge there -- can anyone confirm? :-)

Only in the recording studio - if the time it takes for sound to leave your instrument, into the microphone, through the walls into the studio booth, into the mixer (and assuming digital) from the mixer to the sound card, to the DAW software mixer which is taking the recording and mixing it in with the playing tracks (optional live effects processing being done) back to the sound card, to the mixer, through the walls into the studio room, into the headphones of the receiver playing the instrument...  is greater than 22ms, then the person playing experiences a delay in the time he plays to the time he hears himself in the song.  If that happens, you are not in a good situation. =)
December 12, 2013
On 12/12/13 19:15, Iain Buclaw wrote:
> You know, I've never had that... but then again I haven't had the
> fortune of being in a band where distance between the first and back
> musicians is > 200 metres.  (Because sound doesn't travel *that* slow
> ;)

Well, it's not _just_ about the speed of sound, there are also things like the speed of attack of different instruments and so on.

Then again, ever been to a performance of one of those pieces that ask for some musicians to be placed in different locations round the back of the concert hall for spatial effects?  Things can get fun with that ... :-)

> Only in the recording studio - if the time it takes for sound to leave
> your instrument, into the microphone, through the walls into the
> studio booth, into the mixer (and assuming digital) from the mixer to
> the sound card, to the DAW software mixer which is taking the
> recording and mixing it in with the playing tracks (optional live
> effects processing being done) back to the sound card, to the mixer,
> through the walls into the studio room, into the headphones of the
> receiver playing the instrument...  is greater than 22ms, then the
> person playing experiences a delay in the time he plays to the time he
> hears himself in the song.  If that happens, you are not in a good
> situation. =)

So, if your latency is 22ms, think of how that corresponds to sound travelling in space: you only need to be separated by about 7.5m for that kind of delay to kick in.
December 12, 2013
On Thursday, 12 December 2013 at 17:04:32 UTC, Manu wrote:
> On 13 December 2013 02:28, John Colvin <john.loughran.colvin@gmail.com>wrote:
>
>> On Thursday, 12 December 2013 at 15:47:48 UTC, Jacob Carlborg wrote:
>>
>>> On 2013-12-12 11:43, Manu wrote:
>>>
>>>> So, I'm a massive fan of music games. I'll shamefully admit that I was
>>>> tragically addicted to Dance Dance Revolution about 10 years ago.
>>>> Recently, it's Guitar Hero and Rock Band.
>>>>
>>>> I quite like the band ensemble games, they're good party games, and
>>>> great rhythm practise that's actually applicable to real instrument
>>>> skills too.
>>>>
>>>
>>> I wouldn't agree with that, at least not for Guitar Hero. I had issues
>>> with the timing. When I played I tried to time the music, but that didn't
>>> work. Instead I had to time the screen to get any points.
>>>
>>
>> As a lifelong musician this annoyed the hell out of me. The whole
>> experience ends up like reading annoying flashy sheet music. Low latency is
>> critical.
>>
>
> It is quite sad how few people seem to know how, or make the effort to
> setup their system properly, or know what the typical sources of latency
> are... or even that there's such a thing as latency in the first place.
> It's possible to make it near-perfect... but when I go to other peoples
> houses and try to play, it never is. And then I start fiddling with their
> AV system for an hour while everyone get's angry at me and tells me it's
> perfect, and have no idea what I'm fussing about >_<

You just described my life :p
December 12, 2013
On Thursday, 12 December 2013 at 18:31:58 UTC, Joseph Rushton Wakeling wrote:
> On 12/12/13 19:15, Iain Buclaw wrote:
>> You know, I've never had that... but then again I haven't had the
>> fortune of being in a band where distance between the first and back
>> musicians is > 200 metres.  (Because sound doesn't travel *that* slow
>> ;)
>
> Well, it's not _just_ about the speed of sound, there are also things like the speed of attack of different instruments and so on.
>
> Then again, ever been to a performance of one of those pieces that ask for some musicians to be placed in different locations round the back of the concert hall for spatial effects?  Things can get fun with that ... :-)
>
>> Only in the recording studio - if the time it takes for sound to leave
>> your instrument, into the microphone, through the walls into the
>> studio booth, into the mixer (and assuming digital) from the mixer to
>> the sound card, to the DAW software mixer which is taking the
>> recording and mixing it in with the playing tracks (optional live
>> effects processing being done) back to the sound card, to the mixer,
>> through the walls into the studio room, into the headphones of the
>> receiver playing the instrument...  is greater than 22ms, then the
>> person playing experiences a delay in the time he plays to the time he
>> hears himself in the song.  If that happens, you are not in a good
>> situation. =)
>
> So, if your latency is 22ms, think of how that corresponds to sound travelling in space: you only need to be separated by about 7.5m for that kind of delay to kick in.

Delay between people isn't really the problem, it's delay in hearing yourself that's the killer. Although 22ms is the normally quoted limit for noticing the latency, it actually depends on frequency. Even regardless of frequency, i typically find that anything less than 64ms is ok, less than 128ms is just about bearable and anything more is a serious problem for recording a tight-sounding performance.
December 12, 2013
On Thursday, 12 December 2013 at 17:43:57 UTC, Joseph Rushton Wakeling wrote:
> Plugged-in performance isn't really my area, but it wouldn't surprise me if having to deal with latency is an occasional occupational challenge there -- can anyone confirm? :-)

It's a big deal when recording. Low latency drivers for lower-end audio interfaces are a constant source of problems, and it's common to run out of time in the prescribed latency (defined by buffer size and the sample rate) to do the audio processing you want, leading to having to render things offline or use less cpu intensive plugins.

Digital mixers of the sort that are ubiqitous at modern gigs have had a lot of work put in to them to achieve as much as possible at as low a latency as possible.
December 12, 2013
On 2013-12-12 17:16, Manu wrote:

> Sounds like your system was calibrated poorly, or there is latency in
> your AV setup, or your TV/stereo is cheap. There's lots of sources of
> latency that can affect those games. You just have to make sure to
> eliminate them before you can play it properly.
> I can easily play those games without looking at the screen at all. But
> I did need to do some fiddling to get it properly synchronised. I felt
> about 30-40ms latency when I first switched to the 360 versions.
> The old PS2 games were much better since they had no digital outputs,
> there's no buffering anywhere along the chain. Still depends on your TV
> displaying the signal it receives immediately though.

Most likely a calibration issue. I don't own Guitar Hero myself so I've never tired to calibrate it.

-- 
/Jacob Carlborg
December 12, 2013
On 12/12/13 19:52, John Colvin wrote:
> Delay between people isn't really the problem, it's delay in hearing yourself
> that's the killer.

Think people listening to people they hear with delay for their musical cues, and the people they are listening to listening to _them_ for their musical cues, and the feedback effect that might result ... :-)  You have to get used to the fact that the right time to play may sound like the wrong time to play relative to some other group spatially separated from you.

By the same token, if everyone plays precisely with the conductor, they don't actually play precisely together as far as the audience is concerned, which is why professional orchestras tend to play a bit behind the conductor's beat.
December 12, 2013
If, when writting "mini and communication processing", you meant MIDI (Musical Instrument Digital Interface) instead of mini, you may be interesting by my bindings to the RtMidi library:
 - https://github.com/remy-j-a-moueza/drtmidi
 - RtMidi website: http://www.music.mcgill.ca/~gary/rtmidi/index.html

On 12/12/2013 11:43 AM, Manu wrote:
> So, I'm a massive fan of music games. I'll shamefully admit that I was
> tragically addicted to Dance Dance Revolution about 10 years ago.
> Recently, it's Guitar Hero and Rock Band.
>
> I quite like the band ensemble games, they're good party games, and
> great rhythm practise that's actually applicable to real instrument
> skills too.
>
> The problem is though, that Neversoft and Harmonix completely fucked up
> the GH and RB franchises. Licensing problems, fragmented tracklists.
> It's annoying that all the songs you want to play are spread across
> literally 10 or so different games, and you need to constantly change
> disc's if you want to play the songs you like.
>
> I've been meaning to kick off a guitar hero clone since GH2 came out. I
> started one years ago as a fork of my Guitar Hero song editor for PS2,
> and I added support for drums before GH4 or RB were conceived, but then
> when they announced those games they stole my thunder and it went into
> hibernation.
>
> I'm very keen to resurrect the project (well, start a new one, with
> clean code, in D).
> Are there any music game nerds hanging around here who would be
> interested in joining a side project like this? It's a lot more
> motivating, and much more fun to work in a small team.
>
> It's an interesting union of skills; rendering, audio processing,
> super-low-latency synchronisation, mini and communications processing,
> animation, UI and presentation.
>
> I have done all this stuff commercially, so I can act as a sort of
> project lead of people are interested, but haven't tried to write that
> sort of software before.
>
> It also seems like a good excuse to kick off a fairly large scale and
> performance intensive D project, which I like to do from time to time.