yashsingh1/xdaforums huggingface dataset:
[Android Apps and Games] mikereidis:
Sorry about that. I'm happy to hear you got it fixed.

There's a disclaimer in each of the 1st 3 posts, but oriented to popping speakers, rather than general, or about boot issues. I'll make it better.

I think that people with stock ROM and stock recovery are particularly at risk if the phone doesn't boot properly. I should prevent installation unless CWM or TWRP are installed.

Because "won't boot" is very important to fix, I also spent all my work time today creating easier recovery options; a flashable ZIP and a standalone script.

I'm not exactly sure why yet some devices won't boot, but good recovery solutions are more important right now.

I wonder if I can do something that restores original config if the boot doesn't complete. Since the boot problem likely comes after the Shim HAL is first called, this should be possible.
[Android Apps and Games] mikereidis:
I've posted v140526 on Play and here: http://d-h.st/5Lg

As with all new versions, select Update/OK to update Shim HAL. (Will be more stable in future).

This should fix the /system/addon.d/ ROM update backup/restore script used during ROM updates.

Some devices will fail to boot fully after install. Because of this, devices with stock recovery should NOT have this app installed, nor should anyone who does not have some confidence in their technical skills, or who will freak out if their phone gets disabled for a little while.

See next post for methods to remove the Shim HAL, especially when your device fails to boot.
[Android Apps and Games] mikereidis:
There have been 3 reports so far of failure to boot after installing the Shim HAL. This sort of problem should be assumed possible at this early "Alpha level research project" phase.

Please don't install if you are nervous. Wait a while for the bugs to get worked out and info compiled.

Don't install if not confident in your technical skills.

Don't install if you might freak out if your phone gets disabled for a little while.

If your device fails to boot, here are some things to try:

This flashable ZIP is intended to remove Shim HAL and fix boot: http://d-h.st/jls . It worked OK for me on a few phones. But I say "intended" because you never know where bugs may arise in the millions of combos of recovery/version and devices. AND this is the first flashable ZIP I've ever released, so be warned. :)

Alternatively, here is a shell script can be run from TWRP recovery, or via adb shell while in recovery: http://d-h.st/1AS . Something like:

adb push removeav /data/local/tmp/removeav

adb shell

su

chmod 777 /data/local/tmp/removeav

/data/local/tmp/removeav

# Can also try these, until you see the "Success removing AudioTricks..." message.

sh /data/local/tmp/removeav

sh < /data/local/tmp/removeav

Alternatively, after an update with the latest v140526, you could try these from "adb shell":

su

/system/addon.d/99-audiotricks.sh remove

sh /system/addon.d/99-audiotricks.sh remove

/data/data/fm.a2d.av/files/99-audiotricks.sh

sh /data/data/fm.a2d.av/files/99-audiotricks.sh remove

Quoting older, but still valid Shim HAL removal here:
[Android Apps and Games] iplexus4:
Hi bro, try to remove and seeing this

Nexus 4 on Paranoid android based on 4.4.2
[Android Apps and Games] mrrocketdog:
playstore donate purchase.

Quantum 4.1 kt747

:good:

err on the side of kindness
[Android Apps and Games] mikereidis:
You get that trying to REMOVE ?

Did it work at all before trying to remove ?

Select the 2nd tab "IN PRIMARY". Try the permanent Remove button there.

If that doesn't work, you can try the flashable remove ZIP here: http://d-h.st/jls
[Android Apps and Games] MrBlackCore:
Not working on my Samsung galaxy ace 2. I'm using CM 11. I can only lower the volume. It does not go up.

CyanogenMod 11

---------- Post added at 02:10 AM ---------- Previous post was at 01:40 AM ----------

Not only this app is not working but now my phone does not make any sound... Ringing, poweamp, alarms ect. I have to wipe/flash again. :D
[Android Apps and Games] mikereidis:
Last few releases have an SU bug that can cause problems on some devices installing, removing or updating the Shim HAL.

I'll post a v140527 as soon as I can with fixes.

If you can get into the app, try the Remove button on 2nd tab.

Otherwise, you can try flashing this remove ZIP: http://d-h.st/jls
[Android Apps and Games] iplexus4:
Yep, i try to remove from in primary and showing message is ok (no anything about gb 2.3) but after deleting all probably works. I try your zip script, now toggles disabled but app don't offer me anything to install and out primary remove button now without text
[Android Apps and Games] mikereidis:
New v140527, not on Play: http://d-h.st/gL3

It fixes some SU issues, but I'm still not happy with it. SU is a pain...

It works on AOSP ROMs (except OneX International at least), but I'm still having issues with stock derived GT-N7100 and stock Xperia P.
[Android Apps and Games] iplexus4:
Installed new version, it show message about installing other hal shim, but after i'm rebooting device - message shows again and all controls disabled :(
[Android Apps and Games] mikereidis:
v140530: http://d-h.st/2lc#.U4hLA3KBugY

Also on Play.

Fixes a LOT of issues, especially SU / mount issues with stock restrictive SELinux like Samsung stock 4.2+.

As always, Press Update/OK to update Shim HAL each new release.

- SU / root fixes, especially for SELinux Samsung 4.2+.

- Fine control removed.

- Coarse control range changed from -60 to +60 db ; now 0 to +36 db. Maybe I'm the only one w/ a need for gain reduction below 1.0 or 0 dB.

- Many other fixes.
[Android Apps and Games] mikereidis:
Hopefully the new version will clean it up. :)

http://d-h.st/2lc#.U4hME3KBugZ
[Android Apps and Games] Zeljko1234:
Oh nooo! Why did you remove gain reduction? Main purpose for me is to reduce gain in too loud environment as concerts and avoid distortion.

Seems that I'm stuck in old version.
[Android Apps and Games] mrrocketdog:
delete.

err on the side of kindness
[Android Apps and Games] Gixermouse:
Ah! Thanks for your advice and Sorry about the delay in replying. I found a bit of a workaround from TWRP and so far it's been stable with nothing missing.

I have a few backups from earlier in the year so was considering a restore and having to reinstall everything but just restoring the Data was enough to get me back to normal (although I'm not suggesting for a minute that I'm actually normal).

I did make a restore of my ROM after the volume hack went bad so when I get the time or if I have any problems I'll try your suggestions :)

Cheers

Gix
[Android Apps and Games] mikereidis:
Create a file named /data/data/fm.a2d.av/files/primary_gain_inv and the gains will be inverted. Instead of +18 db at center, you'll get -18 db, for both input and output.

From adb shell I use:

I use this because I like to see visualizers at high volume, without loud sound coming from 10-20 test phones, especially since I usually prefer silence while developing these days.

I'm thinking that I could make the low end and high end of gain configurable.

I'm interested to know which features are useful and which aren't. From time to time I will modify or remove features to get feedback. Removing a feature gives me a LOT more feedback than just asking in this thread or elsewhere. And removing unneeded features is often good for simplifying the code, making it more robust, and allowing resources for features which ARE widely desired.
[Android Apps and Games] mikereidis:
Good. :)

With the latest version, selecting OK from Update dialog will hopefully fix all previous "sins".
[Android Apps and Games] Zeljko1234:
[MENTION=3575078]mikereidis[/MENTION] thank you for explanation and tip but I would like to have -60 to +60 with fine adjustment as with current build I use (didn't updated).

Option to store presets with name would be also nice, together with numerical edit of levels I suggested before. For example, user can adjust level, store as concert, conference, outdoor, cemetery... and then just select before recording. Or even better, using some scripting can launch your app, load preset and start camera. You can add command line parameters so other apps can call your app. If you offer api, others can integrate into apps itself.

After all, maybe Google bye your app and integrate in Android. In this case, mine is 1% for all ideas/suggestions I gave you so I can buy spare kidney :D
[Android Apps and Games] Naf3ts:
I am also a little bit unhappy about the removed gain reduction, like Zeljko1234.

So he is not the only person who is missing it. If you find the time, please add it back into the app :fingers-crossed:
[Android Apps and Games] mikereidis:
I wrote about a hack above. Anyway, if old version installed and ran OK thjen new version not needed.
[Android Apps and Games] mikereidis:
Scratched my cornea Friday. :( Thankful no eyeball surgery needed... :)

Can't read for more than 30 seconds. Will respond when I can; hopefully within a few days.
[Android Apps and Games] AndroTech:
Take care & get well soon. We will wait
[Android Apps and Games] mikereidis:
Thanks. :)

Well with one eye closed and a dark theme I'm up to reading a few minutes at a time now...

Opportunity for some design time too; pencil, paper and thinking... :)
[Android Apps and Games] mikereidis:
OK, Sounds good. I'll make range adjustable. I was thinking about a thumbwheel for fine tuning, with the coarse control remaining the main indicator and control. Also digital display of value and option to manually enter eg "6.73".

Google has no real interest in things like this They want an easy to use OS for normal non-tinkerers that eliminates choice. Eg there's no supported way in Android for a "proper" app to specify target of audio: speaker, headset, BT, etc. The system forces it's way: BT if BT on, paired and connected, otherwise headset if plugged in, otherwise speaker.

I may even have to tread carefully to avoid getting an app like this banned from Google Play. If I offer options that might bypass future DRM, that could be a problem. And Android does not allow recording ANY output or input, so an app that does this could also be a problem, for phone calls among other things.
[Android Apps and Games] mikereidis:
Stock Android 4.4.3 on my Nexus 7 2013 flo seems to work fine with v140530. :)

The anticipated root app problems have not arisen, at least for now.
[Android Apps and Games] Zeljko1234:
You just wish to let me without my spare kidney :D

Android is becoming more and more limited, harder and harder to get root, use some apps... Open source will be useless if we cannot actually flash custom rom because of locked boot loader. Stock unrooted Android is already crippled.

Sorry for of topic. I hope you'll get better soon, will not get banned from google play and continue your great work.
[Android Apps and Games] mikereidis:
Topic is fine/ ;)

The vast majority of app devs are absoluely dependent on the Google and/or Apple app stores for their income, so we have to be careful, and unapproved stuff has to be distributed separately.

OTOH, I have to applaud both Google and Apple for CREATING the "app ecosystem" in the first place. App stores made it much easier for small developers to try and make a living selling software. (Making reasonable income is almost always hard, but that's a business issue.) Most indie devs would still be working for larger companies without the app stores.

Both Android and iOS are tightening up security, and that can be a good thing, especially to average non-root users.

But yes, Google is tending to leave Android enthusiasts behind with these moves.

This app requires root to install the Shim HAL on /system . Android 4.4.3 was expected to require Shim HAL installation via custom recovery only, and likely some future Android version will enforce this.

So in future I may have to say "requires root PLUS a custom recovery". At some point I'll likely have to say "...PLUS a supportable AOSP ROM". And "supportable" might mean that devices using binary blobs with no source code won't work. A surprising number of "AOSP" ROMs have binary blobs for the audio and other HALs.

When Google implements DRM for audio/video on a wide scale, they won't make it easy to bypass, or the DRM will be useless,
[Android Apps and Games] :
Some thoughts for further development

Mike,

as i stated in the SPIRIT2 thread this app was very welcome to me.

It solves the volume control issue on my i9000 when running SPIRIT2 over speaker and have my external antenna connected :cyclops:

And it solves the income-call volume issue on the i9000 as well. Many users complain about that, on i9000, the volume is too low

in noisy environments.

This just for the record and for the search engine crawlers.

Your app does not influence Equalizers as DSP Manager but if an app brings it's own EQ function it is not overwritten.

For me this is a strong proof your concept really is invisible and does nothing uncontrollable to the rest of the ecosystem.

This is just for reassurance.

What i would like to see are the following features:

- Profile support, like suggested before. At the moment the amount of settings is not so big but with increasing functions this might become a valuable option.

- Configurable gain settings. As mentioned before. Positive and negative gains should be possible. An overall range of 60dB should be

freely usable by custom 0-dB point setting. E.g.: -30 to 0 to +30dB or -3dB to 0 dB to +57dB. You know what i mean.

- For stereo channels, like the output, but also if a device has stereo mics: Gain values should be adjustable also channel independant.

You know that feature from Windows, where you can combine volume left/right or leave it independant.

Background: People with different ear sensitivity due to partial hearing loss.

- Reinstall finetuning, +/- 6dB in steps of 2 would be nice

- I would like to see thumbwheel controls for adjustment. Finding them more convenient.

- Numerical input fields for quick value settings. Usable for quick setting up a basic profile as well, see above.

- Audio routing like on mixer consoles. This would be a killer feature. Let me just phantasize:

SPIRIT2 FM app gives music to the headphones.

Chain now is FM -> SPIRIT2 -> DSP Manager -> AT-VT -> Headphone out.

With audio routing ...AT-VT -> Speaker out

or ... AT-VT +-> Audio recording app

!--> Headphone out

That audio recording app should be your next app.

Audio routing also allows for recording via mic and parallel rehearsal through headphones without need for a special app.

Just my 2-cents...
[Android Apps and Games] Zeljko1234:
[MENTION=3575078]mikereidis[/MENTION] are you ok? Better? I read in another thread that you're in hospital. I hope you'll get better soon.
[Android Apps and Games] mikereidis:
Yes thank you, my eyesight is better every day, but it's still hard to read computer screens, even after darkening themes and brightness as much as possible. So development will be slow for at least another 2 weeks I think.

And now I need to learn how to care for/inject and feed my newly diagnosed diabetic son...

I wrote a bunch on Spirit2 thread: http://xdaforums.com/showthread.php?t=2537861&page=75
[Android Apps and Games] mikereidis:
HTC devices seem more likely to fail to boot after installing the Shim HAL.

I see this on my HTC One M7 running the latest 4.4.3 GPE, as well as stock HTC ROMs on OneX, and even an AOSP ROM for ancient Desire HD.

It appears this is due to the use of Android 4.0 ICS style "new HALs". JB+ style HALs don't have this problem.

I've spent some time trying to fix this, but don't have a usable solution yet. It should be fixable.

I'm rather surprised to learn that even 4.4.3 GPE M7 has this issue. I will guess that HTC has been refusing to update their HALs, and there are various reasons they may be doing so.

This helps explain why HTC devices have high latency and why they tend to suffer from audio dropouts when using Spirit2 FM app, or Spirit1 in digital audio mode.

AOSP ROMs such as CM tend to have new JB+ style HALs, but not all of them.
[Android Apps and Games] mikereidis:
:)

It's hard to parse what you are saying, but...

The main reason I like the "Hook calls at the HAL level" approach is because it's the last standardized part of the audio processing chain. Before it are the regular mixer, effects, visualizers, re-samplers and codecs, as well as the fast mixer and it's sources including the OpenSL ES API.

I\ve noted that some apps use the higher performance low level OpenSL ES API. It's OK for what it does but it means the normal equalizers etc. can't be used. Some streaming apps use this API and have to provide their own EQ if any. I have thoughts to allow this type of audio to be fed back in to the top of the chain, too allow normal EQ etc.

Latency will be higher, but there are many use cases where that doesn't matter. Streaming is highly buffered anyway, for example. It remains to be seen how well this can work.

OK, I'm pretty much in sync with these ideas.

What I'd LOVE to do:

Present an image of the internals of the audio chip, and provide a way to reprogram some things. The modern audio chips/hubs have a LOT of stuff inside of them. They can require multiple document pages to show a good picture. I can stare for hours at some to get a feel for the big picture of how everything interacts, though reading a few hundred pages of the document is essential too.

Another perspective is the overall audio system, connected to various microphone and other inputs, and speaker, receiver, headset, BT, etc. outputs. Android tries to be "extra smart" in configuring and routing audio for the average user who just wants a phone that magically works well for them automatically. But we enthusiasts often have special needs, like being able to switch on demand between speaker and headset, without physically plugging and unplugging a wired headset.
[Android Apps and Games] :
:laugh:

To clear up: An app like AUDIALS brings it's own EQ settings. With installed AT-VT this does not interfere to the volume boost given.

On the other hand: APOLLO can be used with DSP-Manager to eq the audio PLUS volume boost given by AT-VT.

I like that. AT-VT does not interfere.

Well, i WOULD like AUDIALS to use the DSP-Manager because of the fantastic implementation of bs2b crossfeed.

But this seemingly was not intended by the APP developer. So it is o.k. if AT-VT does not force something.

By the way: That would be a great feature to add as well: A crossfeed implementation.

As shown here: http://www.head-fi.org/t/182830/bauer-stereophonic-to-binaural-dsp

there are different approaches to that.

I built the CMOY variant once (means: I really built it using solder iron and real live parts etc., i am an analog man.) and was quite impressed.

DSP-MANAGER studio settings are also nice and unobtrusive.

So to enhance headphone experience it would be nice to have a bunch of crossfeeds ;)

Wish i had a deeper insight into Android development to have better knowledge of what might work and which effort has to be taken.

I feel my analog world fades away and digital surrogates come their way....

Even Neil Young turns to digital ... as he says. But still his Album "Psychedelic Pill" was written to good old tape masters.

With audible HISSS on the quiet parts. Made me laugh, but in a comfortable way.

Strongly recommend "Unpluggged" by Eric Clapton as well. Best live album ever.

Sorry for being partly off-topic:eek:

The best for you Mike, keep your eyes shut for a while after reading this :good:
[Android Apps and Games] mikereidis:
My approach is to try and leave things like EQ and other signal processing to the people who specialize in it. I want to build the plumbing that can connect their "fancy sinks, bathtubs etc" in new and useful ways. Eg I looked around a bit and found there are huge numbers of VST and other audio plugins out there already, and I don't want to re-invent the wheel.

If you desire, I'm sure there are good simulations possible for analog tape hiss, turntable "imperfections" and ground loop hum, right next to the vacuum tube and fuzz box algorithms. LOL. I built a single tube amp once in the late 1970's just so I could say I had the experience, even though semiconductors were mostly superior at that point, except for CRTs and large RF power needs.

Digital is just so versatile and gets better with each new gen of CPUs/SOCs/HUBs etc. Proper scientific double-blind studies seem to show most "experts" can't distinguish once you get to certain bit counts and sample-rates, even adding a factor or 2 of good compression.

What's funny about the first few generations of Android FM chips is that they only had analog outputs, but all/most of the internal signal processing was in digital. They converted to digital, processed, then back to analog for easy output (tacked on after final DAC conversion, as FM was an afterthought, never supported by Google).

All the chips did this because it was the easiest way, and the results were good.
[Android Apps and Games] mikereidis:
An experimental "0612" internal version number release, but built this morning 0617 (as seen via About): http://d-h.st/moK

- Range from -30 dB to +30 dB . The inverse gain hack is no longer functional or needed.

- I tried to add working support to fix problems with several HTC devices running stock or GPE ROMs. It's at a point where at least it doesn't cause boot to fail, but I haven't been able to make it work properly yet.

It's only undergone a moderate amount of testing, mostly on AOSP ROMs.

My productivity is still severely curtailed by my eye injury, but better every day pretty much. :)
[Android Apps and Games] Zeljko1234:
Many thanks! Take care of your eyes! Development can wait ;)
[Android Apps and Games] mikereidis:
This experimental release has what I call the "Update bug".

Even after updating, every time the app is started you are prompted to update again, but you can just press Cancel. Annoying...
[Android Apps and Games] mikereidis:
Well I have to do SOMETHING, or get real bored.

Should probably get to the million undone things around the house though, LOL.
[Android Apps and Games] Zeljko1234:
That's also good idea :D
[Android Apps and Games] mikereidis:
Gotta get my bike fixed and get out some.

And rest a bit for when the next Android crisis hits. Likely a bunch of root app breakage, maybe with a new Android version TBA at Google I/O next week.

I'm happy to see 15 sales/donations for this app so far; about 1 month from an unknown app and 25 days on Play. But it's still just $10, enough for an unhealthy McDonalds "meal", LOL.

My Spirit apps put me closer to a "real job", though that's the result of over 10,000 hours "invested" over 3.5 years and I started with a pittance until I stopped producing almost full featured free versions.

I have about 25 phones and tablets now, but only 15 are actively used for testing. I need to update the fleet and I'm wondering what to buy, now that FM is not mandatory on the phones I buy. So I'm guessing, besides my current GS1-GS3, Note1-Note2, One X both, One M7, N7 both, G2, MotoG and a few older ones: One V, Desire HD and Xperia P.

- Nexus 4 used; about $100.

- GS4 used, about $100 ?

- Nexus 5, $350 Canadian new.

- Note3, maybe $300 used ?

- HTC One M8 about $500 used ?

And how many of these have North America vs International versions ? And if carrier variants, which variants ?

I roughly count XDA development thread posts to gauge popularity and these 5 seem to be the most popular recent devices among modders, that I don't already have.

I was looking to use sales stats to gauge, but 15 isn't a very good sample.

An independent dev has to be a bit picky about what test phones to buy. I can buy a phone for $100, but could spend hundreds of hours over a few years flashing various ROMs and learning all the quirks and boot failure fixes, to say nothing of the HAL and Android version and ROM differences.