-
|
|
Controlling Music - is there any way...
|
...that I can start a track from a location of my choice?
I'm not bothered about changing the tempo or anything like that, but I need to be able to skip around in the track. This surely *must* be possible - is it?
Again, thanks as ever for any info! :)
SB.
|
|
-
|
|
Re: Controlling Music - is there any way...
|
Also - how can I get access to other important bits of information like track length, for example?
Thanks! :)
SB
|
|
-
|
|
Re: Controlling Music - is there any way...
|
This is not possible with the current version of the XNA Framework.
The new audio APIs we are adding for Zune include media player functionality.
XNA Framework Developer -
blog - homepage
|
|
-
|
|
Re: Controlling Music - is there any way...
|
Can we assume that the XACT update in the next version of XNA will catch up with the DirectX/XDK versions? (Play from offset and cue instance properties being two features already in the "other" XACT; also markers, even DSP perhaps).
Are we likely to ever get the kind of flexibility in XNA XACT that X3DAudio offers? (eg. separating the 3D calculations from applying them to the cue allows you to do things like have a single cue heard from multiple listeners at once, or attached to multiple emitters).
Pandemonium, an occasionally updated blog about my game, XNA, games development, and the games industry; XapParse, a parser for XAP (XACT) files
|
|
-
|
|
Re: Controlling Music - is there any way...
|
I would really like to see XAudio2 support in general. The ability to stream out data of your own choice would rock.
Jon Watte, Direct3D MVP
kW X-port 3ds Max .X exporter
kW Animation source code
|
|
-
|
|
Re: Controlling Music - is there any way...
|
You've got to be kidding me. You can't play an audio clip from any position other than its starting point!? LAME.
In addition, XNA doesn't support 3D audio (it's NOT 3D AUDIO, it's just a volume-balancing gimmick), and it doesn't support any speaker configuration other than 5.1 surround and stereo (all other configs crash, unless you turn off hardware acceleration in Windows and then it sounds garbled).
Since I can't start a sound playing at a particular position (like where another left off), it's impossible to synchronize different sounds to the same timeline unless they're all started and all playing at once (with some muted). How LAME.
Since XNA does not render binaural audio, it doesn't sound 3D over 2-channel headphones. Instead, sounds in front of you sound identicle to sounds behind you.
I was going to use a 360 degree array of pre-recorded binaural sounds (spaced 10 degrees apart, for a total of 36 sounds), and then shift to the appropriate sound based on the desired direction and start playing it at the same time the other one left off (since the sounds are all the same sound from different angles, hence they should be synchronized to the same timeline when switching between them). This is becoming irritating. 5.1 is the only surround that works, and 5.1 surround in general is nothing but a volume-balancing gimmick. Meanwhile, I don't know what XNA does with 2-channel sound, but it does not sound 3D at all, its nothing but traditional stereo.
You guys really need to slap an ALPHA or BETA label on XNA and market it as a work-in-progress/incomplete system. LOL. Awesome effort, and I totally appriciate it, but people are building stuff on this platform and it's very incomplete and missing a lot of functionality; it was advertised and marketted a bit misleadingly, IMO.
|
|
-
|
|
Re: Controlling Music - is there any way...
|
Before you crucify XNA for your sound issues, it may be worth noting that it isn't XNA's sound system, it is XACT. XNA simply decided to support XACT, and that would be my only complaint. Unfortunately XACT is the only thing that works with the Xbox360, so there is no real way around that.
You can always file your complains on Microsoft Connect, where they might be heard by people who can do something about it.
XNA QuickStart Engine | My site"I'll be whatever I want to do!", Philip J. Fry
|
|
-
|
|
Re: Controlling Music - is there any way...
|
JSpiel:You guys really need to slap an ALPHA or BETA label on XNA and market it as a work-in-progress/incomplete system.
I think that's a little harsh... I'm sorry that you would like to use binaural audio are disappointed we don't support that, but the fact is, binaural audio is an experimental technology and not widely supported by any game engines or audio APIs. I'm not sure it's fair to say our API is incomplete just because we don't support a feature that most AAA commercial games do not support either!
XNA Framework Developer -
blog - homepage
|
|
-
|
|
Re: Controlling Music - is there any way...
|
XNA uses XACT, so it's XNA as far as I'm concerned.
Apply3D. It's not 3D sound, so why call it that? Surround is not 3D, it's surround. It's just horizontal balancing of sound across 5.1 (overkill) channels, not 3D sound. 5.1 is the only surround config that XNA supports right now, but it's not 3D. XNA isn't the only one guilty here. FMOD, which is used commercially, also claims to support 3D sound and does not. It's false advertisement.
XNA's audio API accepts vectors in 3D space for sound emitters, and that's very misleading, because it does not position sounds in 3D space. In stereo mode, the sound is identicle whether it it's directly in front or behind. Surround speakers do not render sounds above and below you. That can be done with two speakers and transaural processing, but 5 speakers is overkill and would actually distort the sound and/or cause unnecessary and excessively complicated processing to occur for the extra speakers. The API suggests 3D audio, but it's not at all. I'm not upset that it doesn't support binarual synthesis, I'm upset that it claims to, but doesn't. Binarual is 3D sound, stereo is not 3D, and surround is not 3D.
Binaural synthesis is not experimental. Binaural recording has been around since 1881, even before stereo sound, just google "binaural". There's a commercial working API for it now that does binaural synthesis in real-time. It works like a charm. It is the future of audio in interactive entertainment. Situations and expenses that have arisen in the past have prevented it from being widely adopted, but now the reverse is true. We cannot afford to not adopt it. Now that a real-time API exists, all we need is cheap in-ear headphones to experience incredible sound, not thousand dollar gimmicky surround systems for people with an inferiority complex. You know what they say about people who drive hummers, lol.
Anyway, what really kills the XNA audio API is the fact that you can't start a sound from anywhere but the beginning. I told a first-year student about this and he said "wow, that's worse than Flash, even Flash's audio can do that!"
Sad, but true.
Edit: On the bright side, the XNA audio API itself is rather well-formed for 3D audio, it just haven't the right engine under the hood.
|
|
-
|
|
Re: Controlling Music - is there any way...
|
XACT sits on top of XAudio. XAudio lets you process buffers on your own, and lets you process sound (auralization) for 3D by calling into utility functions (X3DAudio). Unfortunately, the XAudio API is not exposed in XNA. XACT 3.0 adds a little bit of additional control (and sits on top of XAudio2), but that's not supported in any version of XNA GS for now. Here's hoping it'll make it into 3.0 final for the end of the year.
I don't understand how someone can think binaural audio is "experimental" though -- several sound card manufacturers have supported it (in the form of stereo HRTF) for a decade, and DirectSound3D used to support it until the big Vista kernel re-write. Additionally, the X3DAudio library for processing sound into 3D also supports it as a processing option. There's nothing magic about it, and a number of big and small games have supported it for up to a decade.
However, it may be that most players don't care, or don't notice. Personally, the phase mashing that most HRTF functions end up performing sounds awful to my ears. Perhaps that decision to drop support simply has to do with market demands and putting the bucks where the "bang" is.
Jon Watte, Direct3D MVP
kW X-port 3ds Max .X exporter
kW Animation source code
|
|
-
|
|
Re: Controlling Music - is there any way...
|
Consumers don't care about HRTF. Less than 1% of the market play console games using headphones. Most use stereo speakers, and a decent proportion use 5.1 surround. Calling 5.1 surround "not 3D" is splitting hairs. If you had to support something that took a lot of effort to do and would only affect <1% of the market, or direct your efforts on something more people would notice, what would you choose?
Many audio engines don't support HRTF or play from arbitrary position. I know this for fact having worked as an audio programmer on four professional, full-price, arguably "AAA" games for two different companies, using three audio engines in that time and having evaluated probably about twenty. Calling XNA XACT a beta release because it lacks those features honestly doesn't help your case. (In fact, right now XNA XACT has more features than XACT did when we released Kameo, a game which scored plenty of 9s and even a few 10s for its audio, asking the question exactly how much benefit you get out of all these things you seem to think are essential).
Indeed, I am confident the XACT in XNA 3.0 will support play from arbitrary position, because it already does in the XDK/DirectX SDK IIRC. It just doesn't in XNA XACT yet. That doesn't make it a Beta release - things just evolve over time, and get new features. Fact of life.
By all means request the features you want to see, but don't go around tossing insults at the software and (implicitly) the people who wrote it just because it doesn't have the ones you want. XACT is no worse than most engines out there, and better than most. I know of exactly one - WWISE - that is massively better, and that has a company-full of people working on it and (until recently, I think) massive license fees; XACT has a handful of developers and is free.
Pandemonium, an occasionally updated blog about my game, XNA, games development, and the games industry; XapParse, a parser for XAP (XACT) files
|
|
-
|
|
Re: Controlling Music - is there any way...
|
Bitterman: If all we wanted to do was Kameo-style platformers, then XACT would indeed be sufficient (although I beleive you did have the low-level XAudio library back then, which gives you buffer queueing, which you don't have in XACT). The complaint here is that you can't do other, potentially revolutionary (or potentially bad) styles of games. And, for an indie, it's probably a better idea to try to do something that hasn't been done before, than trying to out-do one of the large studios on their home turf. For any game audio API, the ability to queue or stream raw sound data is both crucial and present. However, for XNA it isn't. It would be great if it was, because then all the other complaints can be resolved through user code. The alternative is to support all the features users might want (sample sync, mid-stream start, resonant filters, convolution, what have you), which seems a lot harder. Finally, you're saying XNA FW 3.0 will support positional audio. Are you working on that? I haven't seen any promise of that feature; all the current announcements seem to be focused on Zune development. Which I fail to get excited about; it's such a limited platform, with such a limited market. If I were to develop for limited platforms, I would go for the cell phone market, which is a thousand times larger than the Zune market (at least). If I wanted handheld games, I'd go for the DS, which is a thousand times larger than the Zune market (as an estimate). And more capable, to boot. But, XNA does what XNA wants to do, and we mere mortals take the pieces we like and do what we can with them. I guess the point here is that we have identified some certain pieces that seem simple to deliver, that would allow us to do more. Not everyone knows that the first reaction when identifying these pieces should be moseying on over to Connect and filing a feature request.
Jon Watte, Direct3D MVP
kW X-port 3ds Max .X exporter
kW Animation source code
|
|
-
|