Hell, we've all waited this long. What's a few more years?Today is 1st of June,
Half of the year is GONE.
As far, as I'm familiar with math, float is only necessary for resampling as you need to calculate the time interpolation of the waveform (did this already several times). For a linear mixing job, one would simply add the channels (most usecases). Also float could be ommitted, as the Neon should be able to do 128bit of Single Cycle hardware multiply in int. This should be more than enough resolution to mix 2^96 Channels of 32bit without overflow. If you want lets say 10 bit resolution for a scaler, you would end up with a calculation that needs be 45 bits wide for 32bit resolution, 8 ch (3bits more) and 10 bit prescaler. So even 64 bits would do.If you "basically just add samples together", you'll end up with lots of clipping and distortions. It takes a lot more math to mix audio samples together without thrashing them, especially if you need to mix more than just two streams together. Many implementations use dynamic compression, exploiting the ability to look ahead for a few samples. Hardware mixers usually just throw more precision at the problem to keep things relatively simple and lossless.
There's a reason why many audio frameworks switched over to using float samples internally.
PulseAudio has a wide selection of available resampling algorithms - you can throw a LOT of CPU cycles at this task if you want a good audio quality.
It feels like we haven't made enough of a big deal about this - it is a pretty big deal. This means that the Pyra can now work 'out of the box' without any additional media. If ED & group were not so overloaded already, I'd ask for a 'hello world' video of the Pyra booting from battery off of the internal eMMC with no cards or cables.4. Installation of the OS and booting from eMMC is now working!
I agree. I felt that this was the biggest piece of (positive) news on Wally's list. We've been waiting for word of this working for so long that I've been increasingly worried that some problem would crop up preventing it from being achieved without a major delay. It's a great relief to hear that it's working.It feels like we haven't made enough of a big deal about this - it is a pretty big deal.
A "plugs out" test of sorts. Yeah that'd be great!It feels like we haven't made enough of a big deal about this - it is a pretty big deal. This means that the Pyra can now work 'out of the box' without any additional media. If ED & group were not so overloaded already, I'd ask for a 'hello world' video of the Pyra booting from battery off of the internal eMMC with no cards or cables.
I know, thats what the extra 10 bits were meant for. But with a 64 bit multiply you could actually expand it to a 29 bit at no cost which should usually be enough for normalizing.You still need to normalize the result, which is the tricky part. Even when you stick to doing it linearly, normalizing integer samples takes a lot more precision to remain lossless.
After a chat with developers, we also came up with a way to expose I2C using 6 pogo pins. These pogo pins will be located directly on the PCB. The idea behind this implementation is that entire back-covers with add-on components can be created (even 3D-printed) with additional functionality to enrich the phone’s functionality. The implementation only requires that the custom back-cover with additional hardware has the same dimensions and position of plastic latches as the original – and obviously that the component in question uses I2C (contact pads). I expect that a back-cover with a keyboard – perhaps one similar to that found on the Nokia N900 – will be something a considerable number of people may be interested in creating. To this end, we’ll make sure to have detailed documentation on this feature. I really hope that the hackers and tinkerers among you will embrace and make use of I2C for new cool implementations.
If you read, you can catch the conclussion. It's more on-topic than you think, try it again!I am usually on-board with the natural flow of conversations to go off topic in an organic manner. But, what is the relevancy of that to this news thread about Pyra development?