Low latency audio and music applications in Windows Phone 7...?
-
- KVRist
- 498 posts since 6 Feb, 2010
Now that it is clear from the other topic that even the newest Android (ICS 4.0) does NOT support low latency audio it comes to my mind: how about Windows Phone?
Is it suitable platform for audio applications and do you think it is likely to see them being born there?
Is it suitable platform for audio applications and do you think it is likely to see them being born there?
-
- KVRian
- 538 posts since 23 Jan, 2008 from Hamburg, Germany
Hmm.
It looks like all audio companies are really busy developing brilliant apps for this exciting new platform so none of them has the time to answer this simple question.
It looks like all audio companies are really busy developing brilliant apps for this exciting new platform so none of them has the time to answer this simple question.
-
- KVRist
- Topic Starter
- 498 posts since 6 Feb, 2010
Yeah, I am also surprised about the lack of interest. Yeah I know that a lot of people do not like some things that Microsoft does but I think that they will anyway capture big portion of the markets, my guess (and hope) is that in a few years the phone/tablet market will be something like Android 35%, WinPhone 30%, Ios 25%, the rest 10%. So developers should really be interested, especially with the lousy real-time performance of Android.Benutzername wrote:Hmm.
It looks like all audio companies are really busy developing brilliant apps for this exciting new platform so none of them has the time to answer this simple question.
-
- KVRian
- 538 posts since 23 Jan, 2008 from Hamburg, Germany
I've googled a bit and it looks like the latency is even worse on Windows Phone 7. There are several developers out there begging for improvements in future versions of the OS.
Sounds familiar.
Sounds familiar.
-
- KVRist
- Topic Starter
- 498 posts since 6 Feb, 2010
I found nothing. Actually this thread is the top hit in googleBenutzername wrote:I've googled a bit and it looks like the latency is even worse on Windows Phone 7. There are several developers out there begging for improvements in future versions of the OS.
Sounds familiar.
-
- KVRist
- 185 posts since 18 Jan, 2011 from Brisbane, Australia
Here's my half-informed opinion, take it for what you like. Warning: geek-speak ahead.
Microsoft are forcing developers to use C#, their proprietary language, to develop apps for WP7. This is a non-portable high level language that comes with the same performance problems all high level languages. iOS and Android offer high-level languages too, as a way to get simple apps done quickly, but they both offer low-level (native) languages too. While it's certainly possible to create music apps with high level languages, you're simply not going to get the same performance as native code for CPU-intensive jobs like audio processing.
Their C# language (and no OpenGL graphics support) also means I can't port my iOS/Android app to WinPhone without completely re-writing it, and with the sales numbers that have come out so far, there really isn't any incentive to spend the time porting to that platform yet. My friend's game was in their top ten and made ~50$/month.
The game company where I used to work begged them for native access to port one of their prominent Xbox games, they said it just wasn't going to happen.
It's an interesting strategy, it means WP7 will not get the iOS knock-off ports like Android did when it first started taking off, but it also might mean nothing is going to come over at all. Time will tell, but I'd rather focus on getting Caustic to iOS before even considering re-writing the whole thing for this new platform.
Microsoft are forcing developers to use C#, their proprietary language, to develop apps for WP7. This is a non-portable high level language that comes with the same performance problems all high level languages. iOS and Android offer high-level languages too, as a way to get simple apps done quickly, but they both offer low-level (native) languages too. While it's certainly possible to create music apps with high level languages, you're simply not going to get the same performance as native code for CPU-intensive jobs like audio processing.
Their C# language (and no OpenGL graphics support) also means I can't port my iOS/Android app to WinPhone without completely re-writing it, and with the sales numbers that have come out so far, there really isn't any incentive to spend the time porting to that platform yet. My friend's game was in their top ten and made ~50$/month.
The game company where I used to work begged them for native access to port one of their prominent Xbox games, they said it just wasn't going to happen.
It's an interesting strategy, it means WP7 will not get the iOS knock-off ports like Android did when it first started taking off, but it also might mean nothing is going to come over at all. Time will tell, but I'd rather focus on getting Caustic to iOS before even considering re-writing the whole thing for this new platform.
-
- KVRist
- Topic Starter
- 498 posts since 6 Feb, 2010
Sounds a bit worrying.SingleCell wrote:Here's my half-informed opinion, take it for what you like. Warning: geek-speak ahead.
Microsoft are forcing developers to use C#, their proprietary language, to develop apps for WP7. This is a non-portable high level language that comes with the same performance problems all high level languages. iOS and Android offer high-level languages too, as a way to get simple apps done quickly, but they both offer low-level (native) languages too. While it's certainly possible to create music apps with high level languages, you're simply not going to get the same performance as native code for CPU-intensive jobs like audio processing.
Their C# language (and no OpenGL graphics support) also means I can't port my iOS/Android app to WinPhone without completely re-writing it, and with the sales numbers that have come out so far, there really isn't any incentive to spend the time porting to that platform yet. My friend's game was in their top ten and made ~50$/month.
The game company where I used to work begged them for native access to port one of their prominent Xbox games, they said it just wasn't going to happen.
It's an interesting strategy, it means WP7 will not get the iOS knock-off ports like Android did when it first started taking off, but it also might mean nothing is going to come over at all. Time will tell, but I'd rather focus on getting Caustic to iOS before even considering re-writing the whole thing for this new platform.
Are you serious that there is no way to code to winphone with other languages than C#? Not even C++ or Java? And no low level accesss at all? I read this from somewhere but I had to have a coder to convince me this. It would seem ridiculous as games need high performance too. I mean can't some 3rd party write a C++ compiler for Winphone so that it would be easier to port?
-
- KVRist
- Topic Starter
- 498 posts since 6 Feb, 2010
Don't you have to rewrite it anyway as I understand IOS is Objective-C and Android Java? Of course much more money for developers in IOS.SingleCell wrote:.
It's an interesting strategy, it means WP7 will not get the iOS knock-off ports like Android did when it first started taking off, but it also might mean nothing is going to come over at all. Time will tell, but I'd rather focus on getting Caustic to iOS before even considering re-writing the whole thing for this new platform.
-
- KVRist
- 185 posts since 18 Jan, 2011 from Brisbane, Australia
Not necessarily as both offer calls to native code from their high-level languages so it depends on how much you wrote in objective-C or Java.golemus wrote: Don't you have to rewrite it anyway as I understand IOS is Objective-C and Android Java? Of course much more money for developers in IOS.
For example, in Caustic, I'd say about 1% of the code is Java, stuff you don't (or didn't) have a choice doing in Java like touch handlers. In this example, my high-level Java call for OnUserTouch just calls a C++ function and all the work is done there, at the low level. So Caustic is really just a Java shell on top of a C++ app. I'd assume a lot of other music apps do something similar. I know most high-end games work this way.
Nothing lower than C# is allowed, for security reasons most likely. It's not just a matter of writing a compiler. In most cases these winphones run the same ARM chips as iphone/android devices, there's already ARM C++ compilers, that's not the issue. The issue is that as a programmer, Microsoft simply don't give me a way to load my native code and call it from C#.golemus wrote: Are you serious that there is no way to code to winphone with other languages than C#? Not even C++ or Java? And no low level accesss at all? I read this from somewhere but I had to have a coder to convince me this. It would seem ridiculous as games need high performance too. I mean can't some 3rd party write a C++ compiler for Winphone so that it would be easier to port?
C# has come a long way in terms of performance so it's not an absolute deal-breaker. Like I said, some Android music apps like Electrum and G-Stomper are full Java and they do fine.
I'm sure someone will come up with something, but my guess is it'll be built from the ground up for WP7, not a port from iOS/Android.
-
- KVRist
- Topic Starter
- 498 posts since 6 Feb, 2010
Still sounds a bit too bad to be true. I mean lets talk about games because games might very well decide which platform will become the biggest one. I assume that there must be a lot of native code with games if you want cutting edge graphical performance. I wonder that will MS be able to motivate game developers to rewrite games in C# because they might involve even much more code than music applications.SingleCell wrote: Nothing lower than C# is allowed, for security reasons most likely. It's not just a matter of writing a compiler. In most cases these winphones run the same ARM chips as iphone/android devices, there's already ARM C++ compilers, that's not the issue. The issue is that as a programmer, Microsoft simply don't give me a way to load my native code and call it from C#.
C# has come a long way in terms of performance so it's not an absolute deal-breaker. Like I said, some Android music apps like Electrum and G-Stomper are full Java and they do fine.
Maybe it is bad to do assumptions as the mobile market is so unpredictable and in fast change process
-
- KVRist
- 185 posts since 18 Jan, 2011 from Brisbane, Australia
Actually, let's NOT talk about games because there's an apples to oranges thing going on here.golemus wrote:Still sounds a bit too bad to be true. I mean lets talk about games because games might very well decide which platform will become the biggest one. I assume that there must be a lot of native code with games if you want cutting edge graphical performance. I wonder that will MS be able to motivate game developers to rewrite games in C# because they might involve even much more code than music applications.
Maybe it is bad to do assumptions as the mobile market is so unpredictable and in fast change process
Let me explain: Microsoft gives you access to their graphics library, DirectX, for rendering in games. That includes all the fancy stuff like shaders and high-end effects. I'll assume these library ARE written in native, but have interfaces through the standard graphics API. Your C# code just says, "draw my dude at these coordinates" and then their libraries do the grunt work.
However, such a library doesn't exist for DSP. You can't just tell the sound API, "gimme an oscillator and run it through a 24dB/oct LP filter please" and have it do that work in native. You've gotta write that by hand, in C#.
So I'm not worried about games making it to WP7, just sound apps. I'll acknowledge my previous comment mentioned games, but this was for old arcade emulator code, which can't just go through a standard 3D renderer. Sorry if that caused confusion.