Spirit1, Spirit2 Real FM Radio General Thread

Search This thread

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
Spirit1 and Spirit2 are real, tuned, over-the-air FM radio apps for Android. They do not require Internet access.

Android 6+ Marshmallow Speaker mode and HTC One M8/Qualcomm startup problems: http://forum.xda-developers.com/showpost.php?p=64465957&postcount=9434

Dec 2, 2015: I'm going to close this thread for now at least, because sadly, too many "non customers" are coming here asking for support for paid versions and I've become very tired of it. Customers please email me [email protected] for support. Thanks !

Dec 2, 2015: Spirit apps now available via Paypal through the new Alpha level Official XDA App: http://forum.xda-developers.com/showpost.php?p=64109123&postcount=9431

Spirit2 2015_03_25_lollipop & KitKat slow rollout: http://forum.xda-developers.com/showthread.php?p=59681989#post59681989

Mar 18/19, 2015: New Spirit2 release for Lollipop+: http://forum.xda-developers.com/showthread.php?t=1059296&page=904#post59544280

Feb 21, 2015: Spirit's 4th birthday, Spirit2 analog mode & other New features: http://forum.xda-developers.com/showthread.php?p=58992351#post58992351

GOOGLE BAN on the Spirit apps (SELinux, lifted). :( http://forum.xda-developers.com/showpost.php?p=59810554&postcount=9046

DAMMIT Google ! :( DAMMIT new EU VAT policies ! :( : http://forum.xda-developers.com/showpost.php?p=58184929&postcount=8824

LG G3 official support ?: http://forum.xda-developers.com/showpost.php?p=57367265&postcount=8710

Spirit2 Lollipop HTC One M7 & M8 GPE with root: http://forum.xda-developers.com/showthread.php?t=1059296&page=872#post57367616

Spirit2 Open/Free now on Play for "buy me a cheap beer" price, and free XDA download: http://forum.xda-developers.com/showpost.php?p=57261604&postcount=8694

Spirit1 Light resurrected on Play for "buy me a coffee" price, and free XDA download: http://forum.xda-developers.com/showpost.php?p=57261804&postcount=8695

Spirit2 Beta releases on Play for customers, updated sign up info: http://forum.xda-developers.com/showpost.php?p=57079402&postcount=795

Spirit2 11_24/11_25 pre-mature Lollipop re-design release bugs on some ROMs prompt re-org of Spirit2 variants: http://forum.xda-developers.com/showpost.php?p=57057763&postcount=8664

Spirit2 Free: Open Source Real FM Radio for AOSP & Root: http://forum.xda-developers.com/apps/spirit-fm/app-spirit2-free-source-real-fm-radio-t2951455

Spirit2 RC2 beta for Lollipop: November 24 / 141124: http://forum.xda-developers.com/showthread.php?p=57006262

Spirit2 November 21 (141121): Beta Re-architecture for Android Lollipop 5.0: http://forum.xda-developers.com/showpost.php?p=56930903&postcount=8631

Spirit2 November 12 (141112): Experimental Re-architecture for Android 5: http://forum.xda-developers.com/showthread.php?t=1059296&page=861

Spirit2 October 29 (141029): Experimental Re-architecture for Android 5: http://forum.xda-developers.com/showpost.php?p=56376931&postcount=8571

Nexus 6, 9, Player & Android 5.0: http://forum.xda-developers.com/showthread.php?t=1059296&page=854#post56094758

Spirit2 October 1 (141001): Extremely Experimental Re-architecture for Android L: http://forum.xda-developers.com/showpost.php?p=55771652&postcount=8499

Android L: Spirit1 and Spirit2: http://forum.xda-developers.com/showthread.php?p=55733853#post55733853

Spirit2 0920 HIGHLY EXPERIMENTAL Audio mods, in preparation for Android L: http://forum.xda-developers.com/showpost.php?p=55560963&postcount=8455 APK: http://d-h.st/0z9

Spirit Transmit v2 0915: ONLY works on ROOTED Sony Xperia T and Z class; NOT Z2: http://forum.xda-developers.com/showthread.php?t=1059296&page=845#post55456171

Download Experimental
Spirit2 September 10-12
: http://forum.xda-developers.com/showpost.php?p=55397310&postcount=8427

Official Sony Z series support coming: http://forum.xda-developers.com/showthread.php?p=54229607

LG G2 Mahdi & FM friendly kernels: http://forum.xda-developers.com/showpost.php?p=54067863&postcount=8037

LG G2 FM friendly kernel patches: http://forum.xda-developers.com/showpost.php?p=54068182&postcount=8038

Android ONE = Google FM Radio ?? !! http://forum.xda-developers.com/showpost.php?p=53677209&postcount=781

Spirit2: Hi Mike, I am still enjoying Spirit 1, is there any reason to pay again for Spirit 2? : http://forum.xda-developers.com/showpost.php?p=52304938&postcount=7787

HTC One M8 Verizon ! :) http://forum.xda-developers.com/showthread.php?p=51904224

Spirit2 is officially released ! :) New thread for Spirit2: http://forum.xda-developers.com/showthread.php?t=2537861

The Death of access to stock, unrooted OEM proprietary FM APIs:http://forum.xda-developers.com/showthread.php?p=50954346

New 30 day refund policy: http://forum.xda-developers.com/showthread.php?p=50889714

Digital Radio, the "Euro Chip Initiative" and "The Universal Smartphone Radio Project":http://forum.xda-developers.com/showpost.php?p=50416866&postcount=7511

Permissions problems on recent ROMs: http://forum.xda-developers.com/showthread.php?p=48749760#post48749760

--------------------
Spirit name: http://forum.xda-developers.com/showpost.php?p=45326547&postcount=6771

New phones: Note 3 LTE, HTC One Mini, Xperia Z Ultra & Z1/Honami: http://forum.xda-developers.com/showthread.php?t=1059296&page=673

Broadcom OEM API for unrooted changes on Android 4.3 HTC One: http://forum.xda-developers.com/showthread.php?p=44953912#post44953912

Nexus 7 2013: http://forum.xda-developers.com/showthread.php?p=44800402#post44800402

Meh... Emmis NextRadio app is underwhelming: http://forum.xda-developers.com/showthread.php?p=44669987#post44669987

BT headsets: RDS PS & station info, pause/play, previous + next with AVRCP 1.3+: http://forum.xda-developers.com/showpost.php?p=44463541&postcount=6619

HTC One GPE Android 4.3 solution: Use Spirit August 5 or later version: http://forum.xda-developers.com/showpost.php?p=44298000&postcount=6585 apk: http://d-h.st/gWe

Android 4.3 may break FM on devices using Broadcom FM/combo chips: http://forum.xda-developers.com/showpost.php?p=44233922&postcount=6571

"Spying" on FM radio usage stats: http://forum.xda-developers.com/showpost.php?p=44018032&postcount=6522

Effem FM app in some CM ROMs ? : http://forum.xda-developers.com/showthread.php?p=43795132#post43795132

HTC One GPE + digital audio (Unlocked): http://forum.xda-developers.com/showpost.php?p=43071149&postcount=6332

HTC One first AOSP/Google support: http://forum.xda-developers.com/showthread.php?p=42922397#post42922397

HTC One Nexus Experience phone: http://forum.xda-developers.com/showpost.php?p=42060507&postcount=6156

Galaxy S4 MINI GT-I9190 FM: http://forum.xda-developers.com/showpost.php?p=42061724&postcount=6157

Galaxy S4 = No OTA FM: "In with a bang, and out with a whimper." http://forum.xda-developers.com/showpost.php?p=40952026&postcount=6001

Where has all the FM gone ? Gone to streaming, every one ? http://forum.xda-developers.com/showpost.php?p=40952008&postcount=6000

See Supported Device List in post #2 below.

Variants:
  • Spirit Free: Basic & Mono. Digital audio on Galaxy S. See post #3.
  • Spirit Two Free Alpha: Digital Audio & other Unlocked features.
  • Spirit Light: (supported but no longer sold.)
  • Spirit Unlocked: RDS, Media Buttons, Lockscreen & much more.

Spirit is the ONLY fully digital FM app:
  • Bluetooth A2DP headsets in CD quality stereo.
  • Recording in CD quality stereo.
  • External visualizers, equalizers and effects.
  • Internal Wave and FFT visual: 5x8 dB & log2 43 - 22,050 Hz.

Digital audio support:
  • Rooted HTC One, One XL, One S, Evo 4G LTE, Sony Xperia T.
  • Rooted International non-US Galaxy S, S2, S3, Note, Note2.
  • Most stock Sony 2012-2013 devices.

Record only support:
  • Stock International Galaxy S2 Jelly-Bean, S3, Note, Note2.


Download:
Info:


News:


Please purchase Spirit Unlocked for full features, excellent support, and help Android FM.

Thanks ! :)
Mike.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
Compatibility

Edit August 18, 2015: I haven't updated this list since June 29, 2013 largely because FM has been dying on Android devices. Samsung hasn't supported FM on flagships since the International GS3 GT-I9300 and Note2 GT-N7100 and never supported FM on US flagships except for some rare Sprint devices.

If there is no stock working FM app on your device, chances are close to zero these days, especially on Samsungs.

The only additions I have made in over 2 years are: Sony Xperia Z2/Z3 or compatible, rooted LG G2 International or Sprint, and rooted devices with Qualcomm FM/combo and audio chips, such as the HTC One M8, Xperia Z1 and similar, and some lesser known devices.


November 12, 2012 compatibility list with more info on older devices: http://forum.xda-developers.com/showthread.php?t=1059296&page=480


No FM:

These devices, and many more, are not physically capable of FM, except as noted:
  • Samsung Galaxy S4/S5/S6/Note3/Note4/Note5 & most US/LTE models of Galaxy S, S2, S3, Note, Note2.
  • All Google Nexus's except Nexus One w/ custom kernel.
  • Motorola Verizon Razr HD & M / Maxx. (Australia variant has FM.)
  • Motorola Verizon Razr I XT890 (JB update disables FM. May 8 worked w/ root, but no audio.)
  • HTC Verizon Droid Incredible 4G LTE.
Manufacturers:
  • Samsung: 70 %
  • HTC: 23 %
  • Motorola: 4 %
  • Sony: 1.3 %
  • Huawei: 1.0 %
  • LG: 0.8 %

Devices:

As of April 7, 2013: 69 devices supported, except as noted.

Other devices may work, but I can't support them.

By 2013 popularity: most to least. I own the most popular and can support them much better.

Samsung (14):
  • Galaxy S2 GT-I9100 / M / T
  • Galaxy S3 GT-I9300
  • Galaxy S GT-I9000 / M / B / 9010
  • Galaxy Note GT-N7000
  • Galaxy S Plus
  • Galaxy Note2 3G GT-N7100
  • Galaxy W / Wonder / GT-I8150 / B
  • Galaxy Cooper GT-S5830 / L / D / B
  • Galaxy S2 GT-I9100G
  • Galaxy Gio GT-S5660 / M
  • Galaxy 5 / Europa / 550 / i5500 / i5503
  • Galaxy SL GT-I9003
  • Galaxy Mini / Dart SGH-T499 / Tass GT-S5570
  • Galaxy Player / S WI-FI

HTC (30):
  • One Stock, Google Play Edition & AOSP
  • One X LTE (AT&T) / XL / Evo 4G LTE / One S
  • One X International S720e
  • Sensation 4G / XE Z715e
  • Desire HD / Inspire 4G
  • Desire
  • Nexus One (need root & non-stock kernel)
  • One V (Virgin Mobile variant needs root)
  • Desire Z / G2 / Evo Shift 4G (G2 needs root)
  • Desire S
  • Wildfire S A510e / PG762
  • One X+ LTE (AT&T) (Not on custom ROMs)
  • Droid Incredible 2 / S S710E
  • HD2 / Leo / T8585 / T9193
  • Explorer a310e / a310b (No RDS unless rooted)
  • Velocity 4G
  • Evo 4G / Supersonic (2010)
  • Evo Design 4G / Kingdom / Acquire / HeroS
  • Aria / Liberty / Intruder A6366
  • Glacier / T-Mobile myTouch 4G
  • myTouch 4G Slide
  • One X+ 3G (Not on custom ROMs ; disabled pending confirmation)
  • ThunderBolt / Scorpion ADR6400L
  • Wildfire
  • Droid Incredible ADR6300
  • Amaze 4G / Ruby
  • Legend
  • Sensation XL X315e
  • Chacha / Status
  • Desire X (1 confirmation stock un-rooted)
Motorola (12):
  • Defy A8210 / MB525
  • Droid 4 (need root)
  • Droid Bionic (JB update need root: http://forum.xda-developers.com/showthread.php?t=2256439)
  • Photon 4G MB855
  • Droid X2
  • Droid 3
  • Droid X
  • Milestone 3 XT860 / ME863
  • Pro Plus ME632 / MB632
  • Droid2 A955 CDMA (need root & mono)
  • Atrix 2 MB865
  • Bravo MB520

Sony (11) (Most only work stock for now):
  • Xperia S / SL LT22i / ii
  • Xperia Acro S LT26w
  • Xperia Ion LT28h / at / i
  • Xperia P LT22i
  • Xperia Sola MT27i
  • Xperia Go ST27a / i
  • Xperia U ST25i
  • Xperia T LT30a / at / p
  • Xperia V LT25i
  • Xperia TX LT29i
  • Xperia Z C6603 / C6602 (no speaker ?). ZL & Tablet Z may work with Audio-> Method = "Qualcomm Intent".

Huawei (1):
  • Ascend G300 u8815

LG (2):
  • Optimus One P500
  • Optimus 2X P990 re-enabled on Play & semi-official for AOSP ROMs as of June 29
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
Galaxy S GT-I9000 speaker damage risk:

EDIT Feb 12, 2014: I still get occasional reports of speaker damage, about 1 every 3-4 months. Nothing can be done I'm afraid... :(

EDIT May 20, 2013: One person has reported damage with digital audio mode. Virtually everything is different in this mode, so I can't imagine why it would happen. The only audio commonality is the analog outputs feeding into the inputs of the audio chip.

March 23, 2013: See end of post for a potential digital audio solution. Digital audio is normally an Unlocked exclusive feature, but on Galaxy S it is available for Free users.
There is a risk of speaker damage on Galaxy S GT-i9000 when running custom ICS or JB ROMs.

If you've been running Spirit for at least 10-40 hours with no problem, your risk is minimal. I think this is hardware related and about 1-5 % are susceptible. I get about 1 report every 3 weeks now.

Avoiding use of the speaker or keeping volume low does not help. Risk may increase when using USB cables to PCs or chargers or external amplifiers.

If you are worried about Galaxy S speaker damage, then DO NOT use Spirit, unless on CM7 or a stock derived ROM. Use GB ROMs with proven safe FM, get a new phone, or just live without FM.

Unless you are familar with ALSA programming, Ioctls and low level Linux/Android kernel stuff, as well as DC servos in amplifiers, please do not think you have useful technical advice to give about what I should study. I've spent at least 400 hours on this problem, with no analog solution.


Have Damage ?:
If you've had GalaxyS speaker damage, and are a BRAVE do it yourselfer, here are some Ebay links for speakers and instructions on replacing them: http://forum.xda-developers.com/showpost.php?p=23014977&postcount=2355 All responsibility for any problems doing this is yours.

Ringer/Buzzer Speakers are available on Ebay new for $6 shipped, or $8 refurbished shipped from the US to the US.

I'm very sorry for any problems. I had no idea this problem would happen or go on this long. It's rare that software causes hardware damage.

If you're angry, or think my dev skills are sub-par, please refer me to the secret documents for FM audio via Galaxy S ALSA controls. There is none. I've read the code for various audio libraries, and the ALSA drivers, many times, and though the March 4th, 2012 attempt seemed a virtual duplicate of the CM7 audio lib, the problem continued.

If you've been affected, please email me at [email protected] to report.

Thanks, and sorry for any troubles.


Hopeful Digital Audio Solution:

Using digital audio mode likely reduces or eliminates the risk. As of March 23, 2013, it's too early to tell.

EDIT May 20: One person has reported damage with digital audio mode. Virtually everything is different in this mode, so I can't imagine why it would happen. The only audio commonality is the analog outputs feeding into the inputs of the audio chip.

On first Spirit startup, or after clearing app data, you are presented with a choice of "Digital" or "Danger". Choose "Digital". If running Unlocked, restart Spirit to enable Visualizations and a record button.

You can also set Menu-> Settings-> Audio-> Method to "Digital Auto" or "Digital GS1", both near the end of the list.

If you hear interrupted high frequency "chipmunk" sounds, rebooting may help, at least until the microphone is used (but phone calls OK ?).

If a reboot doesn't help, you can disable Digital-> Stereo and do Pause / Play. Audio is now mono of course, so you might as well set Audio-> Output Mode (or Channels next release) to "Mono Force".

More chipmunk info: http://forum.xda-developers.com/showpost.php?p=39383252&postcount=5696

Battery consumption may be a bit higher using digital. Unlocked uses substantially more CPU & battery when visualization is on screen, and when equalizers, effects and Bluetooth are in use.
 
Last edited:

pilgrim011

Senior Member
May 3, 2008
1,639
456
Belgrade
www.tvojsajt.com
Why every custom radio app turns on BT? HTC FM radio doesn't do that? I know that there is some explanation about BT and FM sharing the same chip, but it's weird to me that HTC radio doesn't turn BT on...:confused:

Btw, I have tried this on HTC Desire, but I was unable to scan via "scan" button - I get "FM operation failed. If problem persists, please turn off FM and turn it back on." One more thing - I did a quick comparison with MIUI FM (which is the default radio in Oxygen ROM), and it seems it's not that good with picking up FM signal.

I like that signal strength indicator, btw. :)
 

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
Why every custom radio app turns on BT? HTC FM radio doesn't do that? I know that there is some explanation about BT and FM sharing the same chip, but it's weird to me that HTC radio doesn't turn BT on...:confused:

Btw, I have tried this on HTC Desire, but I was unable to scan via "scan" button - I get "FM operation failed. If problem persists, please turn off FM and turn it back on." One more thing - I did a quick comparison with MIUI FM (which is the default radio in Oxygen ROM), and it seems it's not that good with picking up FM signal.

I like that signal strength indicator, btw. :)


Thanks for your report ! BT is needed to control FM. Most FM "chips" are combination devices with WiFi and Bluetooth, and in some cases GPS. In theory, the manufacturers could enable a separate FM access mechanism, but in most known cases, FM control rides piggyback on Bluetooth HCI commands. Also in theory, if Bluetooth wasn't needed, control could likely be obtained directly from the serial port interface. But that doesn't make sense from a software architecture point of view.


I think the HTC app may be hiding the fact that it's using BT. Eg. if you run "bttest enable" from command line, Linux and hcitool and my app can use BT, but Android doesn't recognize BT is on, because the higher level Android stuff hasn't been started.

The HTC app takes about 6 seconds to start if BT is off. If BT is on I think it's much faster. It's no co-incidence that BT startup takes that time also.


On TI FM chips, it IS possible to turn BT back off when no FM control or data access is needed, just so long as WiFi or something else using that chip is still on. (Otherwise the Android power manager turns it off.) I will look into that further if needed, but I've seen my phones running 8-12+ hours with BT on and FM playing on a single charge.

Yes, the "Scan" function is not functional at this time. Long pressing the arrows for "Seek" should work though, albeit not well on Broadcom devices such as the Desire.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
It launches fine on my Inspire 4G running CM7, but I can't pick up many channels where I am. My location isn't your fault though. :)

Wonderful ! Thanks for your report.

Standing on a roof with the antenna/headset cable extended the right way may help. :) Probably not safe enough to recommend though, unless you accept all risk. ;)

Longer wires don't help at FM frequencies in my experience, but something directional like a VHF TV antenna might be good.

Switching to "Mono" mode can help clear up the audio with weak signals, with the resultant loss of one channel of course.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
I've published the app to the Google Marketplace: https://market.android.com/details?id=com.mikersmicros.fm&feature=search_result

I would prefer that installations be done from the Market now. You can select Automatic updates among other things.

I bumped the version number to 2.0.3 to reflect the disabling by default of the SuperUser ("su") request. If anyone had an older CM ROM that needed this workaround, it can be re-enabled by creating a file named fm_su on the SD Card.

# Eg.: "adb shell touch /sdcard/fm_su"

This command could be tried if you are not getting audio.

# To remove: "adb shell rm /sdcard/fm_su"
 
  • Like
Reactions: HooliganIL

aled99

Senior Member
Sep 22, 2010
54
11
Very nice app! Works well on HD2 (hyperdroid gingerbread). Installed from market.
I'm interested in your updates for turning bluetooth off - but it's not a big deal.

As in the OP the fm recording doesn't crash the app, but it either doesn't record anything or seems to record from the phone mic? I don't really need the recording, just tried it out.
 

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
I translated Spirit FM Radio to greek.
Here is the archive with the translation files, please add them to the app.
Thanks

Wonderful ! Thank you. I will be pushing an update later today that fixes some annoying problems and I'll try to integrate this at the same time.

The annoying problems include:

- The app re-configuring itself and messing up the audio when re-oriented or sometimes when brought to foreground or sent to background.

- The volume control fighting between the app and CyanogenMod.


For anyone not aware, you will likely have to un-install the downloaded app before installing the Market app. The downloaded app uses a debug signature and the Market app a normal publisher signature.
 

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
Would this work with the Nexus S?

Sent from my Nexus S using XDA App

I don't think so but please feel free to try it and see what happens.

My guess is that the app will go into Broadcom mode but that no audio will be heard. You could verify Broadcom mode by running the following from a connected PC with the Android dev utilities:

adb shell "logcat | grep mode"

When powering up this would result in a line like: "D/fm_hrdw ( 336): BC HCI mode", and likely a line ending with "api_mode: 2".


My understanding of the Nexus S is that it is more or less a Samsung Galaxy S. There is an app on the Market for the Galaxy S called "Fm TwoO", but I've been told it doesn't work on the Nexus S.

The FM TwoO app includes a library and published API for FM and RDS that I'd like to integrate into my app. I think it MIGHT be usable on the Nexus S, if I can figure out how to replicate it and/or otherwise modify it. Perhaps the only problem is that audio routing is different on the HTC phone.


My understanding of the Nexus S / Galaxy S is that they contain a BCM4329 chip for WiFi and BT, but that they also contain a relatively rare chip for FM. This is why it might be misidentified as a Broadcom based device; because it DOES have a Broadcom FM chip, albeit unused and perhaps unusable.

I'll consider your post a request for Nexus S support. If anyone else wants support for this phone (or any other) please post or PM me, and I'll add it to my "vote list".
 

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
Very nice app! Works well on HD2 (hyperdroid gingerbread). Installed from market.
I'm interested in your updates for turning bluetooth off - but it's not a big deal.

As in the OP the fm recording doesn't crash the app, but it either doesn't record anything or seems to record from the phone mic? I don't really need the recording, just tried it out.

Great ! Thanks for your report...

The first 2 times you start a recording, it will likely record from the microphone. The 3rd, or perhaps even fourth time, it's possible the FM audio MIGHT be recorded.

For testing, the code increments the input source value each time a new recording is started. On the 3rd time the value gets to 8, the first value Google didn't define. The code was from Qualcomm and I think they created a device that allows FM recording with input value 8. In the next release, I've changed it so that the first time the value is 8 (which will likely throw an error and prevent the stop recording button from being enabled.)

I could not make recording work on my HTC Legend, and attempting to do so would mess up the FM audio output. I just tried now on my Desire HD; FM audio was muted while recording from the mic the first two times. On the 3rd and subsequent attempt, recording would not start. At least the Desire returned to normal FM audio after trying this.

I will disable this function if it can't be made to work on any phone, but for now I'm hoping there might be some phone and ROM combination on which this would work.

It requires the right hardware connections, and some driver and ROM/framework support, and I'm now doubting the CM ROMs are capable of this, but it's possible some phone's stock ROM might. But that would only make sense I think if the phone manufacturer supported FM recording, or at least planned to. OTOH, being able to record would mean the FM could be digitized and then sent to Bluetooth headphones, or any other digital audio output.


I believe the HTC phones support an external microphone for a car kit hooked up to USB. I would guess that it would be possible to create a cable from headphone output to USB mike input and direct analog recording could be done that way. But I don't think many people would want such a weird cable hanging on their phones.

Alternatively, if I can get the FM audio out of the FM chip in digital format it could solve some audio routing issues AND make recording or Tivo type pause functionality possible.


Anyway, please feel free to "vote" on what features you would find most useful.
 
Last edited:

mikereidis

Inactive Recognized Developer
Jan 28, 2011
7,826
4,142
Ottawa/Gatineau, Canada
It's a pity, a tuner eats a battery even it's being used and off. I noticed it for a few times. After phone restarted everything is ok.

Sorry, it sounds like you hit some bug and restarting cleared that up. Please let me know if it continues and if you find a way to reproduce it.


I have not yet optimized the battery life in many ways, but generally I've been able to run my Legend for 8+ hours and my Desire HD for about 6.8 hours.

For example, the RDS and RSSI data continue to be collected even when the screen is off. I'll try to fix this ASAP.
 

skatt127

Member
Jan 21, 2009
34
0
Well, actually I've tried it a few times. When I start the tuner it works perfectly, no problems at all. Then I turn it off (press a screen button and it becomes yellow)
Then I turned off the screen ( phone is in stand by mode) for a minute or two.
Then I turn the phone again and a battery monitor shows 47 mA. Usually it shows only 4-5 mA. I restart the phone and do not use a tuner at all - after stand by mode my phone shows 4-5 mA as usually. That's it.
I've checked this many times already.

P.S. I've just checked the situation with MIUI FM and found the same thing after a tuner is off. The only difference is if I kill MIUI tuner as a task, a current goes to 4-5 mA. And if I kill Spirit FM in a such way the current doesn't change - it's 47mA all the way until I restart a phone.
Thank you for an answer.
 
Last edited:

aled99

Senior Member
Sep 22, 2010
54
11
Great ! Thanks for your report...

The first 2 times you start a recording, it will likely record from the microphone. The 3rd, or perhaps even fourth time, it's possible the FM audio MIGHT be recorded.

Thanks for your reply.
I can't seem to be able to get the recording to start after the first attempt, but I will keep trying as you suggested.
The main thing, which makes this app much better than other FM apps I've tried on my HD2, is the mono audio option works... this makes weaker signals sound sooo much better. Thank you!!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 497
    Spirit1 and Spirit2 are real, tuned, over-the-air FM radio apps for Android. They do not require Internet access.

    Android 6+ Marshmallow Speaker mode and HTC One M8/Qualcomm startup problems: http://forum.xda-developers.com/showpost.php?p=64465957&postcount=9434

    Dec 2, 2015: I'm going to close this thread for now at least, because sadly, too many "non customers" are coming here asking for support for paid versions and I've become very tired of it. Customers please email me [email protected] for support. Thanks !

    Dec 2, 2015: Spirit apps now available via Paypal through the new Alpha level Official XDA App: http://forum.xda-developers.com/showpost.php?p=64109123&postcount=9431

    Spirit2 2015_03_25_lollipop & KitKat slow rollout: http://forum.xda-developers.com/showthread.php?p=59681989#post59681989

    Mar 18/19, 2015: New Spirit2 release for Lollipop+: http://forum.xda-developers.com/showthread.php?t=1059296&page=904#post59544280

    Feb 21, 2015: Spirit's 4th birthday, Spirit2 analog mode & other New features: http://forum.xda-developers.com/showthread.php?p=58992351#post58992351

    GOOGLE BAN on the Spirit apps (SELinux, lifted). :( http://forum.xda-developers.com/showpost.php?p=59810554&postcount=9046

    DAMMIT Google ! :( DAMMIT new EU VAT policies ! :( : http://forum.xda-developers.com/showpost.php?p=58184929&postcount=8824

    LG G3 official support ?: http://forum.xda-developers.com/showpost.php?p=57367265&postcount=8710

    Spirit2 Lollipop HTC One M7 & M8 GPE with root: http://forum.xda-developers.com/showthread.php?t=1059296&page=872#post57367616

    Spirit2 Open/Free now on Play for "buy me a cheap beer" price, and free XDA download: http://forum.xda-developers.com/showpost.php?p=57261604&postcount=8694

    Spirit1 Light resurrected on Play for "buy me a coffee" price, and free XDA download: http://forum.xda-developers.com/showpost.php?p=57261804&postcount=8695

    Spirit2 Beta releases on Play for customers, updated sign up info: http://forum.xda-developers.com/showpost.php?p=57079402&postcount=795

    Spirit2 11_24/11_25 pre-mature Lollipop re-design release bugs on some ROMs prompt re-org of Spirit2 variants: http://forum.xda-developers.com/showpost.php?p=57057763&postcount=8664

    Spirit2 Free: Open Source Real FM Radio for AOSP & Root: http://forum.xda-developers.com/apps/spirit-fm/app-spirit2-free-source-real-fm-radio-t2951455

    Spirit2 RC2 beta for Lollipop: November 24 / 141124: http://forum.xda-developers.com/showthread.php?p=57006262

    Spirit2 November 21 (141121): Beta Re-architecture for Android Lollipop 5.0: http://forum.xda-developers.com/showpost.php?p=56930903&postcount=8631

    Spirit2 November 12 (141112): Experimental Re-architecture for Android 5: http://forum.xda-developers.com/showthread.php?t=1059296&page=861

    Spirit2 October 29 (141029): Experimental Re-architecture for Android 5: http://forum.xda-developers.com/showpost.php?p=56376931&postcount=8571

    Nexus 6, 9, Player & Android 5.0: http://forum.xda-developers.com/showthread.php?t=1059296&page=854#post56094758

    Spirit2 October 1 (141001): Extremely Experimental Re-architecture for Android L: http://forum.xda-developers.com/showpost.php?p=55771652&postcount=8499

    Android L: Spirit1 and Spirit2: http://forum.xda-developers.com/showthread.php?p=55733853#post55733853

    Spirit2 0920 HIGHLY EXPERIMENTAL Audio mods, in preparation for Android L: http://forum.xda-developers.com/showpost.php?p=55560963&postcount=8455 APK: http://d-h.st/0z9

    Spirit Transmit v2 0915: ONLY works on ROOTED Sony Xperia T and Z class; NOT Z2: http://forum.xda-developers.com/showthread.php?t=1059296&page=845#post55456171

    Download Experimental
    Spirit2 September 10-12
    : http://forum.xda-developers.com/showpost.php?p=55397310&postcount=8427

    Official Sony Z series support coming: http://forum.xda-developers.com/showthread.php?p=54229607

    LG G2 Mahdi & FM friendly kernels: http://forum.xda-developers.com/showpost.php?p=54067863&postcount=8037

    LG G2 FM friendly kernel patches: http://forum.xda-developers.com/showpost.php?p=54068182&postcount=8038

    Android ONE = Google FM Radio ?? !! http://forum.xda-developers.com/showpost.php?p=53677209&postcount=781

    Spirit2: Hi Mike, I am still enjoying Spirit 1, is there any reason to pay again for Spirit 2? : http://forum.xda-developers.com/showpost.php?p=52304938&postcount=7787

    HTC One M8 Verizon ! :) http://forum.xda-developers.com/showthread.php?p=51904224

    Spirit2 is officially released ! :) New thread for Spirit2: http://forum.xda-developers.com/showthread.php?t=2537861

    The Death of access to stock, unrooted OEM proprietary FM APIs:http://forum.xda-developers.com/showthread.php?p=50954346

    New 30 day refund policy: http://forum.xda-developers.com/showthread.php?p=50889714

    Digital Radio, the "Euro Chip Initiative" and "The Universal Smartphone Radio Project":http://forum.xda-developers.com/showpost.php?p=50416866&postcount=7511

    Permissions problems on recent ROMs: http://forum.xda-developers.com/showthread.php?p=48749760#post48749760

    --------------------
    Spirit name: http://forum.xda-developers.com/showpost.php?p=45326547&postcount=6771

    New phones: Note 3 LTE, HTC One Mini, Xperia Z Ultra & Z1/Honami: http://forum.xda-developers.com/showthread.php?t=1059296&page=673

    Broadcom OEM API for unrooted changes on Android 4.3 HTC One: http://forum.xda-developers.com/showthread.php?p=44953912#post44953912

    Nexus 7 2013: http://forum.xda-developers.com/showthread.php?p=44800402#post44800402

    Meh... Emmis NextRadio app is underwhelming: http://forum.xda-developers.com/showthread.php?p=44669987#post44669987

    BT headsets: RDS PS & station info, pause/play, previous + next with AVRCP 1.3+: http://forum.xda-developers.com/showpost.php?p=44463541&postcount=6619

    HTC One GPE Android 4.3 solution: Use Spirit August 5 or later version: http://forum.xda-developers.com/showpost.php?p=44298000&postcount=6585 apk: http://d-h.st/gWe

    Android 4.3 may break FM on devices using Broadcom FM/combo chips: http://forum.xda-developers.com/showpost.php?p=44233922&postcount=6571

    "Spying" on FM radio usage stats: http://forum.xda-developers.com/showpost.php?p=44018032&postcount=6522

    Effem FM app in some CM ROMs ? : http://forum.xda-developers.com/showthread.php?p=43795132#post43795132

    HTC One GPE + digital audio (Unlocked): http://forum.xda-developers.com/showpost.php?p=43071149&postcount=6332

    HTC One first AOSP/Google support: http://forum.xda-developers.com/showthread.php?p=42922397#post42922397

    HTC One Nexus Experience phone: http://forum.xda-developers.com/showpost.php?p=42060507&postcount=6156

    Galaxy S4 MINI GT-I9190 FM: http://forum.xda-developers.com/showpost.php?p=42061724&postcount=6157

    Galaxy S4 = No OTA FM: "In with a bang, and out with a whimper." http://forum.xda-developers.com/showpost.php?p=40952026&postcount=6001

    Where has all the FM gone ? Gone to streaming, every one ? http://forum.xda-developers.com/showpost.php?p=40952008&postcount=6000

    See Supported Device List in post #2 below.

    Variants:
    • Spirit Free: Basic & Mono. Digital audio on Galaxy S. See post #3.
    • Spirit Two Free Alpha: Digital Audio & other Unlocked features.
    • Spirit Light: (supported but no longer sold.)
    • Spirit Unlocked: RDS, Media Buttons, Lockscreen & much more.

    Spirit is the ONLY fully digital FM app:
    • Bluetooth A2DP headsets in CD quality stereo.
    • Recording in CD quality stereo.
    • External visualizers, equalizers and effects.
    • Internal Wave and FFT visual: 5x8 dB & log2 43 - 22,050 Hz.

    Digital audio support:
    • Rooted HTC One, One XL, One S, Evo 4G LTE, Sony Xperia T.
    • Rooted International non-US Galaxy S, S2, S3, Note, Note2.
    • Most stock Sony 2012-2013 devices.

    Record only support:
    • Stock International Galaxy S2 Jelly-Bean, S3, Note, Note2.


    Download:
    Info:


    News:


    Please purchase Spirit Unlocked for full features, excellent support, and help Android FM.

    Thanks ! :)
    Mike.
    92
    Compatibility

    Edit August 18, 2015: I haven't updated this list since June 29, 2013 largely because FM has been dying on Android devices. Samsung hasn't supported FM on flagships since the International GS3 GT-I9300 and Note2 GT-N7100 and never supported FM on US flagships except for some rare Sprint devices.

    If there is no stock working FM app on your device, chances are close to zero these days, especially on Samsungs.

    The only additions I have made in over 2 years are: Sony Xperia Z2/Z3 or compatible, rooted LG G2 International or Sprint, and rooted devices with Qualcomm FM/combo and audio chips, such as the HTC One M8, Xperia Z1 and similar, and some lesser known devices.


    November 12, 2012 compatibility list with more info on older devices: http://forum.xda-developers.com/showthread.php?t=1059296&page=480


    No FM:

    These devices, and many more, are not physically capable of FM, except as noted:
    • Samsung Galaxy S4/S5/S6/Note3/Note4/Note5 & most US/LTE models of Galaxy S, S2, S3, Note, Note2.
    • All Google Nexus's except Nexus One w/ custom kernel.
    • Motorola Verizon Razr HD & M / Maxx. (Australia variant has FM.)
    • Motorola Verizon Razr I XT890 (JB update disables FM. May 8 worked w/ root, but no audio.)
    • HTC Verizon Droid Incredible 4G LTE.
    Manufacturers:
    • Samsung: 70 %
    • HTC: 23 %
    • Motorola: 4 %
    • Sony: 1.3 %
    • Huawei: 1.0 %
    • LG: 0.8 %

    Devices:

    As of April 7, 2013: 69 devices supported, except as noted.

    Other devices may work, but I can't support them.

    By 2013 popularity: most to least. I own the most popular and can support them much better.

    Samsung (14):
    • Galaxy S2 GT-I9100 / M / T
    • Galaxy S3 GT-I9300
    • Galaxy S GT-I9000 / M / B / 9010
    • Galaxy Note GT-N7000
    • Galaxy S Plus
    • Galaxy Note2 3G GT-N7100
    • Galaxy W / Wonder / GT-I8150 / B
    • Galaxy Cooper GT-S5830 / L / D / B
    • Galaxy S2 GT-I9100G
    • Galaxy Gio GT-S5660 / M
    • Galaxy 5 / Europa / 550 / i5500 / i5503
    • Galaxy SL GT-I9003
    • Galaxy Mini / Dart SGH-T499 / Tass GT-S5570
    • Galaxy Player / S WI-FI

    HTC (30):
    • One Stock, Google Play Edition & AOSP
    • One X LTE (AT&T) / XL / Evo 4G LTE / One S
    • One X International S720e
    • Sensation 4G / XE Z715e
    • Desire HD / Inspire 4G
    • Desire
    • Nexus One (need root & non-stock kernel)
    • One V (Virgin Mobile variant needs root)
    • Desire Z / G2 / Evo Shift 4G (G2 needs root)
    • Desire S
    • Wildfire S A510e / PG762
    • One X+ LTE (AT&T) (Not on custom ROMs)
    • Droid Incredible 2 / S S710E
    • HD2 / Leo / T8585 / T9193
    • Explorer a310e / a310b (No RDS unless rooted)
    • Velocity 4G
    • Evo 4G / Supersonic (2010)
    • Evo Design 4G / Kingdom / Acquire / HeroS
    • Aria / Liberty / Intruder A6366
    • Glacier / T-Mobile myTouch 4G
    • myTouch 4G Slide
    • One X+ 3G (Not on custom ROMs ; disabled pending confirmation)
    • ThunderBolt / Scorpion ADR6400L
    • Wildfire
    • Droid Incredible ADR6300
    • Amaze 4G / Ruby
    • Legend
    • Sensation XL X315e
    • Chacha / Status
    • Desire X (1 confirmation stock un-rooted)
    Motorola (12):
    • Defy A8210 / MB525
    • Droid 4 (need root)
    • Droid Bionic (JB update need root: http://forum.xda-developers.com/showthread.php?t=2256439)
    • Photon 4G MB855
    • Droid X2
    • Droid 3
    • Droid X
    • Milestone 3 XT860 / ME863
    • Pro Plus ME632 / MB632
    • Droid2 A955 CDMA (need root & mono)
    • Atrix 2 MB865
    • Bravo MB520

    Sony (11) (Most only work stock for now):
    • Xperia S / SL LT22i / ii
    • Xperia Acro S LT26w
    • Xperia Ion LT28h / at / i
    • Xperia P LT22i
    • Xperia Sola MT27i
    • Xperia Go ST27a / i
    • Xperia U ST25i
    • Xperia T LT30a / at / p
    • Xperia V LT25i
    • Xperia TX LT29i
    • Xperia Z C6603 / C6602 (no speaker ?). ZL & Tablet Z may work with Audio-> Method = "Qualcomm Intent".

    Huawei (1):
    • Ascend G300 u8815

    LG (2):
    • Optimus One P500
    • Optimus 2X P990 re-enabled on Play & semi-official for AOSP ROMs as of June 29
    35
    This is an early document, for further details see: "Dec 19 Spirit2 design details": http://forum.xda-developers.com/showthread.php?p=35571087

    Next Gen: Spirit2

    After almost 2 years, Spirit FM (Spirit1 or version 1) is "mature". Among over 10,000 paid customers, many have been happy to run Spirit on 2-4 generations of phones.
    From HTC Legends, Desires and Nexus1's running Android 2.1 Eclair, to OneX, Galaxy S, S2, and now S3 & Note2 running Android 4.2 Jellybean.

    Spirit1 was not designed much, it was rapidly built using an open source app as it's base. This enabled a quick implementation on many phones, ROMs, etc.
    A lot of quick hacks has accumulated, and now it's difficult to change or cleanup many sections of code without creating bugs on some phone and ROM combinations.

    It's time to start fresh and design and build Spirit2 "properly".
    I'll create a system to enable new settings/options in a few minutes, instead of an hour or more, editing 5 or 6 different files.
    The code will be much cleaner, efficient and bug free when it doesn't have to support 7 different versions of Android, 200 different phones and 10 different FM APIs.


    Spirit1 Future

    Spirit1 will not disappear. Support will continue, but I can't guarantee I'll be able to make it work on old (3-4 year) phones running Android 4.2 JellyBean, for example.
    No major new functions will likely be added to Spirit1. For example, FM record may remain an experimental test option, but will not be supported.

    I will continue to make and release some minor bug and compatibility fixes; timing & extent to be determined. My focus will be on Spirit2, the future.
    I hope those disappointed will eventually appreciate my decision to focus on the future when they get a new device.

    I expect to cease sales of Spirit1 at some time; maybe in months or maybe years. At present, Google doesn't provide a good way to do this, and still allow
    existing customers to re-download. AFAICT we can only set the price to high values, such as $99.99 or $249. If you ever see such a price on Spirit1 Light,
    or Light & Unlocked, don't be appalled. It just means I wish to stop new sales while keeping existing customers happy.

    In the short term, Spirit1 might even become a testing ground for Spirit2. Before a device is officially supported by Spirit2, it may be enabled on Spirit1.
    Sometimes I get several reports that a new phone works OK. Then after some time, major problems become evident that make me regret calling the device supported,
    especially for rarer devices.


    Spirit2 Plans

    Plans are always subject to change. Gotta be nimble. :)

    Spirit2 will be available on Google Play around January, 2013. Beta versions will be available earlier, linked on a new XDA thread.
    No Light version is planned, but a free version may be. Price should be the same as Spirit1 Unlocked.

    Existing Spirit1 Unlocked customers can upgrade at no cost to Spirit2. Spirit2 isn't about making you pay twice.
    But if you feel generous and appreciative of my support over the last few years, I'd be happy if you made a 2nd purchase.
    Or as some appreciative users have, a 3rd, via Light or an additional tip/donation. :)

    The upgrade path from Light to Spirit1 Unlocked, or to Spirit2, or from Unlocked to Spirit2 is the same. I cancel your original order, even 2 years later, and you get
    a full refund. Then you simply buy the new version. You can email me for special needs, such as needing 2 versions for different phones.
    I cancel any order at any time on request anyway, so this is nothing new.

    Spirit2 will focus on a smaller number of popular phones among custom ROM developers and users. I will only support phones that I own for testing, and those with
    very similar architectures. The 80/20 rule applies here, and focusing on 20% of the phones, for 80% coverage just makes sense.

    If you want to run Spirit2, I recommend popular high end devices, mostly from Samsung and HTC. I'll be happy to make exceptions for other OEMs with popular higher end
    phones, or phones with a similar architecture. For example, LG Optimus G and some Motorola devices have the same S3/S4/+ Qualcomm FM/audio architecture as HTC OneX LTE.


    Spirit2 Design

    Spirit2 design started November, 2012, after a 12 month delay from original plans. :)

    Spirit2 will support digital audio features, such as FM recording, Bluetooth, VU meters and who knows what, possibly including visualizations and audio analysis.
    Phones that are not capable of digital audio features likely won't be supported. Thankfully, the wildly popular GS2 GT-i9100 is now proven to support digital FM audio.

    Unchanged from my original 2011 plan, Spirit will use and support the ST-Ericsson proposed Android FM API, hereafter referred to as "Android FM API", despite it's
    mere "proposed" status. The Android FM API was first proposed over 2 years ago now, and seems to slowly be making it's way into AOSP. It's slow progress,
    and uncertain future, has disappointed me. I hope that Spirit2 will help this FM API gain support from
    phone and FM chip OEMs, as well as other 3rd party app developers.

    Many Sony 2012 phones support this API already, on devices based on ST-Ericsson, Broadcom and Qualcomm FM chips at least. So stock, unrooted Sony devices should be
    well supported, in theory at least. I'm not committing to official Sony support at this time however.
    This API is similar to other "OEM Proprietary FM APIa" that don't need SU/root. But it's not proprietary, it's openly documented & uses open source code.

    Other "OEM Proprietary" APIs will likely not be supported. Spirit2 will retain a focus on custom AOSP type ROMs that are incapable of running stock FM apps.
    Support for different FM chips will be via plugins, exactly as specified for use with the Android FM API.

    Unless and until phone or chip OEMs supply suitable FM chip plugins, Spirit2 will provide them. Sony has at least 3 plugins, but it's not clear if Sony can or would
    allow their free re-distribution for other devices.

    Third party developers will be able to write apps using the open, rich & documented Android FM API.
    They will be able to run as standalone apps, widgets, etc. without Spirit2, on devices such as the Sony's that support this API (or a slight derivative).

    On devices that do not support this API natively, 3rd party apps will be able to call compatible functions in the bottom-half, service portion of Spirit2.
    They won't have to bother with tedious, boring stuff such as configuration, as the top-half, app/GUI portion of Spirit2 can handle that.
    Or they could provide their own configuration mechanisms and do anything that Spirit2 does.

    I hope that custom ROMs will be built using the Android FM API AOSP code, and support FM natively within their audio libraries and frameworks.
    But I can't count on this anytime soon, so Spirit2 will do it's best to emulate functionality that is ideally done in the internals of a ROM.
    This is the current situation with Spirit1 on many custom ROMs and it requires LOTS of effort and can never be perfect.

    "FM Chip control" is just one part of the Android FM API. The other major component is audio routing and control. Audio has been the major challenge of Spirit1.
    The FM chip/API code has changed very little during 2012.

    A device that fully supports the Android FM API makes audio issues quite simple. The app can simply start or stop the audio with easy functions. Complexities like
    volume control, headset cable media buttons, lockscreen controls, and possibly A2DP Bluetooth support can be taken care of by the framework of the ROM.
    Even FM recording should be simple, on devices that support it. Spirit1 supports a simple FM record function, but it only works on devices like GS3 at present.

    But Spirit2 will remain a more or less normal SU/root app, as Spirit1 is. I'm one person & don't have the resources to get involved in building kernels, libraries,
    frameworks and ROMs. So Spirit2 will have components that replicate, as best it can, a proper system service for handling FM and FM related audio.

    It seems to make sense to design & build a plugin mechanism for handling FM audio, similar in concept to the FM chip plugin for the Android FM API.
    The Android FM API chip plugin, a library file such as libfmradio.cg2900.so, is oriented to code at the C/C++/JNI layer of Android/Java.
    The Spirit2 audio system plugin is more likely to be done at the Java level, as there are many Android Java APIs that are required or useful.

    Hypothetically, Spirit2 could run even on officially unsupported phones, if someone has or writes an FM plugin and an audio plugin.
    Many FM chips could be supported, with at least basic features, by a single generic V4L FM plugin. A simple generic audio plugin could be created
    that would rely on configurable "reflected" Java APIs or shell scripts etc. The "real world" however, is messier than this might imply.

    Some portions of Spirit2 will be open sourced. Details to be determined.


    EDIT: Which phones/architectures will Spirit2 support ?

    Tentative, but:

    Galaxy S3/Note2
    Galaxy S2/Note
    OneX International
    OneS/X LTE, Evo 4G LTE & similar S3/S4/+ + WCN3660 + WCD9310. Might include Optimus G, Motorola.
    Any Nexus capable of FM. Nexus 4 ? 10 ?
    Sony 2012's maybe, since they support this API when stock.
    I'm keeping an eye on popularity & compatibility of Motorola Razr I.
    34
    Galaxy S GT-I9000 speaker damage risk:

    EDIT Feb 12, 2014: I still get occasional reports of speaker damage, about 1 every 3-4 months. Nothing can be done I'm afraid... :(

    EDIT May 20, 2013: One person has reported damage with digital audio mode. Virtually everything is different in this mode, so I can't imagine why it would happen. The only audio commonality is the analog outputs feeding into the inputs of the audio chip.

    March 23, 2013: See end of post for a potential digital audio solution. Digital audio is normally an Unlocked exclusive feature, but on Galaxy S it is available for Free users.
    There is a risk of speaker damage on Galaxy S GT-i9000 when running custom ICS or JB ROMs.

    If you've been running Spirit for at least 10-40 hours with no problem, your risk is minimal. I think this is hardware related and about 1-5 % are susceptible. I get about 1 report every 3 weeks now.

    Avoiding use of the speaker or keeping volume low does not help. Risk may increase when using USB cables to PCs or chargers or external amplifiers.

    If you are worried about Galaxy S speaker damage, then DO NOT use Spirit, unless on CM7 or a stock derived ROM. Use GB ROMs with proven safe FM, get a new phone, or just live without FM.

    Unless you are familar with ALSA programming, Ioctls and low level Linux/Android kernel stuff, as well as DC servos in amplifiers, please do not think you have useful technical advice to give about what I should study. I've spent at least 400 hours on this problem, with no analog solution.


    Have Damage ?:
    If you've had GalaxyS speaker damage, and are a BRAVE do it yourselfer, here are some Ebay links for speakers and instructions on replacing them: http://forum.xda-developers.com/showpost.php?p=23014977&postcount=2355 All responsibility for any problems doing this is yours.

    Ringer/Buzzer Speakers are available on Ebay new for $6 shipped, or $8 refurbished shipped from the US to the US.

    I'm very sorry for any problems. I had no idea this problem would happen or go on this long. It's rare that software causes hardware damage.

    If you're angry, or think my dev skills are sub-par, please refer me to the secret documents for FM audio via Galaxy S ALSA controls. There is none. I've read the code for various audio libraries, and the ALSA drivers, many times, and though the March 4th, 2012 attempt seemed a virtual duplicate of the CM7 audio lib, the problem continued.

    If you've been affected, please email me at [email protected] to report.

    Thanks, and sorry for any troubles.


    Hopeful Digital Audio Solution:

    Using digital audio mode likely reduces or eliminates the risk. As of March 23, 2013, it's too early to tell.

    EDIT May 20: One person has reported damage with digital audio mode. Virtually everything is different in this mode, so I can't imagine why it would happen. The only audio commonality is the analog outputs feeding into the inputs of the audio chip.

    On first Spirit startup, or after clearing app data, you are presented with a choice of "Digital" or "Danger". Choose "Digital". If running Unlocked, restart Spirit to enable Visualizations and a record button.

    You can also set Menu-> Settings-> Audio-> Method to "Digital Auto" or "Digital GS1", both near the end of the list.

    If you hear interrupted high frequency "chipmunk" sounds, rebooting may help, at least until the microphone is used (but phone calls OK ?).

    If a reboot doesn't help, you can disable Digital-> Stereo and do Pause / Play. Audio is now mono of course, so you might as well set Audio-> Output Mode (or Channels next release) to "Mono Force".

    More chipmunk info: http://forum.xda-developers.com/showpost.php?p=39383252&postcount=5696

    Battery consumption may be a bit higher using digital. Unlocked uses substantially more CPU & battery when visualization is on screen, and when equalizers, effects and Bluetooth are in use.
    31
    I'm taking a MUCH needed break from Spirit and will restart work on Spirit2 in late October.


    After 2.7 years and over 9,000 hours spent developing, supporting and otherwise dealing with Spirit FM:

    - I need to draw a line in the sand here and take a week off to "detox" from the Internet.

    - Then I need a month for doing taxes and pressing family, household and personal tasks.

    - Then I need at least a few months to explore where Spirit is going with Spirit2 and/or some other FM app related stuff I'm considering.


    So,... given that I endeavour to be as honest and open as I can: I regret that going forward, I'm not going to be able to provide the high level of support
    I've been providing and been struggling to maintain.

    As always, if anyone has purchased Spirit and feel they haven't had sufficient enjoyment: I cancel any order at any time on request.

    For answers to most questions about Spirit, use the search feature on this XDA thread. If you can't find an answer, post, and hopefully some helpful person will answer,
    maybe even me occasionally. :) I previously answered every question on this thread, but I have to let that go now.

    I appreciate if anyone helps anyone else here, but ask that you be nice. I think it's probably better to ignore a poster than respond with an angry "Read the FAQ !".

    If Spirit doesn't work with default settings, maybe alternative settings will work. But this is the exception now. If it doesn't work by default, it probably won't.

    As time goes on, stock and custom ROMs will update/change and something may break in the FM access. I've hypothesized that for custom ROMs, within 3 months as many as 50%
    of ROMs will have a role in some problem with Spirit. If Spirit has 0 or just a few small updates in the next 3 months, I'll be interested to see the result.

    This breakage rate is largely the nature of the fast pace of change in ROMs, but change happens in stock ROMs too. The bluetooth stack has undergone major revisions in
    Android 4.2-4.3. I've dealt with that, and Android 4.3 related issues, so hopefully Spirit will run well on new or recent phones for a while.


    Since I'm looking at other "projects" in the Android FM app area, there's a reasonable chance that Spirit will continue to have related updates. But since I may
    (or may not) be concentrating on stock FM support, improvements may be restricted to stock support. The beta access for Spirit Unlocked and Light may be a way to deal with that.



    ----------------------------------------------------------------
    Sidebar:

    It's been a constant struggle to reverse engineer FM chip/API details as they change from chip to chip, phone to phone, OEM-OEM, Android version, API version, custom ROM, and more.

    Google isn't helping the cause any, nor are many of the phone OEMs, chip OEMs and carriers. Nobody else has been "crazy enough" to try what I'm doing with FM.

    Gee, even the top FM apps from Sony and Samsung don't do most of the digital audio features that Spirit can, even on an ancient GT-I9000 Galaxy S.

    But despite the work and crazy hours I put in, there are still some nasty & effectively unsolvable problems, like audio on Desire HD, a UI that needs serious improvement,
    and annoying things like 87.5 on startup with stock Broadcom API.

    The code for Spirit is a horrible mess, and deserves to be replaced with a (properly) designed Spirit2 or whatever.

    ----------------------------------------------------------------

    I'm not going to be monitoring my usual email address [email protected] as much, and not at all during any Internet "detox" week.

    This email will auto-respond that:

    - Purchase cancel requests (Only !) be sent to [email protected], or perhaps to the normal email with "CANCEL"
    spelled out in capitals in the subject. And be patient please, even Google can be glacially slow handling these.

    I may or may not respond to any emails or posts. Sorry, I kinda hate to become "that kind of dev", but this is essential for me, and for Spirit, at this time.

    I appreciate all the appreciation for Spirit, and feel satisfied with the 4.7 out of 5 rating that Spirit Unlocked has on Play, from thousands of people.

    I hate to see that rating drop because I can't provide the same level of support, but I guess that would be fair and should be expected. I'd be more likely to drop a rating if I was the
    customer and there was little or no support for some problem.


    ----------------------------------------------------------------

    So, in the next few months, there is the potential for Spirit to re-continue, as it has for 2.7 years now. Or it may take a new form; remains to be seen.

    It's important for me to be honest and say that, instead of pretending I absolutely will return to Spirit if you can just wait. I refuse to be that kind of sales / business man.

    Business-wise, for Spirit as it exists now, some might see this as "burning a bridge". I see it more as a bridge in urgent need of repair/replacement to prevent loss of life. Need to replace the old wooden bridge with a modern steel structure...


    Thank you everyone for all your support, and see you on "the other side" ! :)
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone