Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,771,243 Members 52,108 Now Online
XDA Developers Android and Mobile Development Forum

[APP][2.1+] Spirit FM

Tip us?
 
mikereidis
Old
(Last edited by mikereidis; 4th August 2014 at 11:54 AM.) Reason: Added Android version tag to title
#1  
Recognized Developer - OP
Thanks Meter 3094
Posts: 6,158
Join Date: Jan 2011
Location: Ottawa/Gatineau, Canada
Lightbulb [APP][2.1+] Spirit FM

Spirit is a real, tuned, over-the-air FM radio app for Android. It does not require Internet access.

Spirit FM Transmit: ONLY works on ROOTED Sony Xperia T and Z class; NOT Z2: http://forum.xda-developers.com/show...8#post54601208

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

LG G2 Mahdi & FM friendly kernels: http://forum.xda-developers.com/show...postcount=8037

LG G2 FM friendly kernel patches: http://forum.xda-developers.com/show...postcount=8038

Android ONE = Google FM Radio ?? !! http://forum.xda-developers.com/show...&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/show...postcount=7787

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

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

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

New 30 day refund policy: http://forum.xda-developers.com/show...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/show...0#post48749760

--------------------
Spirit name: http://forum.xda-developers.com/show...postcount=6771

New phones: Note 3 LTE, HTC One Mini, Xperia Z Ultra & Z1/Honami: http://forum.xda-developers.com/show...59296&page=673

Broadcom OEM API for unrooted changes on Android 4.3 HTC One: http://forum.xda-developers.com/show...2#post44953912

Nexus 7 2013: http://forum.xda-developers.com/show...2#post44800402

Meh... Emmis NextRadio app is underwhelming: http://forum.xda-developers.com/show...7#post44669987

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

HTC One GPE Android 4.3 solution: Use Spirit August 5 or later version: http://forum.xda-developers.com/show...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/show...postcount=6571

"Spying" on FM radio usage stats: http://forum.xda-developers.com/show...postcount=6522

Effem FM app in some CM ROMs ? : http://forum.xda-developers.com/show...2#post43795132

HTC One GPE + digital audio (Unlocked): http://forum.xda-developers.com/show...postcount=6332

HTC One first AOSP/Google support: http://forum.xda-developers.com/show...7#post42922397

HTC One Nexus Experience phone: http://forum.xda-developers.com/show...postcount=6156

Galaxy S4 MINI GT-I9190 FM: http://forum.xda-developers.com/show...postcount=6157

Galaxy S4 = No OTA FM: "In with a bang, and out with a whimper." http://forum.xda-developers.com/show...postcount=6001

Where has all the FM gone ? Gone to streaming, every one ? http://forum.xda-developers.com/show...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.
The Following 446 Users Say Thank You to mikereidis For This Useful Post: [ Click to Expand ]
 
mikereidis
Old
(Last edited by mikereidis; 30th June 2013 at 01:00 AM.)
#2  
Recognized Developer - OP
Thanks Meter 3094
Posts: 6,158
Join Date: Jan 2011
Location: Ottawa/Gatineau, Canada
Compatibility

Prior: http://forum.xda-developers.com/show...59296&page=480

No FM:

These devices, and many more, are not physically capable of FM, except as noted:
  • Samsung Galaxy S4 & most US/LTE models of Galaxy S, S2, S3, Note, Note2.
  • Google Nexus 4 & all 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/show....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
The Following 82 Users Say Thank You to mikereidis For This Useful Post: [ Click to Expand ]
 
mikereidis
Old
(Last edited by mikereidis; 12th February 2014 at 01:32 PM.)
#3  
Recognized Developer - OP
Thanks Meter 3094
Posts: 6,158
Join Date: Jan 2011
Location: 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.

Quote:
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/show...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 mikereidis@gmail.com 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/show...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.
The Following 30 Users Say Thank You to mikereidis For This Useful Post: [ Click to Expand ]
 
djeaton
Old
#4  
djeaton's Avatar
Senior Member
Thanks Meter 11
Posts: 150
Join Date: Mar 2011
Location: Canton, GA

 
DONATE TO ME
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.
Palm -> Blackberry -> Windows Mobile -> iOS -> Android
Rooted Galaxy S 4 running CM 10.1
Asus Nexus 7 (gen 2)
Samasung Galaxy Tab 2 7"
Chromecast
MK808B Android Stick
Rooted Nook Touch w/Glowlight
 
pilgrim011
Old
#5  
Senior Member
Thanks Meter 349
Posts: 1,389
Join Date: May 2008
Location: Belgrade
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...

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.
SGS2 & HTC Desire
 
mikereidis
Old
(Last edited by mikereidis; 2nd May 2011 at 02:15 AM.)
#6  
Recognized Developer - OP
Thanks Meter 3094
Posts: 6,158
Join Date: Jan 2011
Location: Ottawa/Gatineau, Canada
Quote:
Originally Posted by pilgrim011 View Post
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...

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.
==================================================
__________________________________________________ _______
On "Vacation"...

Spirit Transmit:
Only ROOTED Xperia T, Z & Z1:
http://forum.xda-developers.com/show...59296&page=825

Spirit2 Real FM Radio
; Root + AOSP: https://play.google.com/store/apps/details?id=fm.a2d.s2
Spirit2 XDA: http://forum.xda-developers.com/show....php?t=2537861

Spirit1 Real FM Radio: https://play.google.com/store/apps/d...cros.fm_unlock
Spirit1 XDA: http://forum.xda-developers.com/show...php?p=13379669
The Following 3 Users Say Thank You to mikereidis For This Useful Post: [ Click to Expand ]
 
mikereidis
Old
(Last edited by mikereidis; 2nd May 2011 at 01:32 AM.)
#7  
Recognized Developer - OP
Thanks Meter 3094
Posts: 6,158
Join Date: Jan 2011
Location: Ottawa/Gatineau, Canada
Quote:
Originally Posted by djeaton View Post
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.
==================================================
__________________________________________________ _______
On "Vacation"...

Spirit Transmit:
Only ROOTED Xperia T, Z & Z1:
http://forum.xda-developers.com/show...59296&page=825

Spirit2 Real FM Radio
; Root + AOSP: https://play.google.com/store/apps/details?id=fm.a2d.s2
Spirit2 XDA: http://forum.xda-developers.com/show....php?t=2537861

Spirit1 Real FM Radio: https://play.google.com/store/apps/d...cros.fm_unlock
Spirit1 XDA: http://forum.xda-developers.com/show...php?p=13379669
 
mikereidis
Old
#8  
Recognized Developer - OP
Thanks Meter 3094
Posts: 6,158
Join Date: Jan 2011
Location: Ottawa/Gatineau, Canada
I've published the app to the Google Marketplace: https://market.android.com/details?i...=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"
==================================================
__________________________________________________ _______
On "Vacation"...

Spirit Transmit:
Only ROOTED Xperia T, Z & Z1:
http://forum.xda-developers.com/show...59296&page=825

Spirit2 Real FM Radio
; Root + AOSP: https://play.google.com/store/apps/details?id=fm.a2d.s2
Spirit2 XDA: http://forum.xda-developers.com/show....php?t=2537861

Spirit1 Real FM Radio: https://play.google.com/store/apps/d...cros.fm_unlock
Spirit1 XDA: http://forum.xda-developers.com/show...php?p=13379669
The Following User Says Thank You to mikereidis For This Useful Post: [ Click to Expand ]
 
jorgeefflores
Old
#9  
Member
Thanks Meter 2
Posts: 31
Join Date: Dec 2010
Would this work with the Nexus S?

Sent from my Nexus S using XDA App
 
dancer_69
Old
#10  
Senior Member
Thanks Meter 221
Posts: 1,857
Join Date: Jan 2007
Default Greek translation

I translated Spirit FM Radio to greek.
Here is the archive with the translation files, please add them to the app.
Thanks
Attached Files
File Type: rar values-el.rar - [Click for QR Code] (4.0 KB, 1865 views)
LightsOnOff

Torch directly from shortcut!

The Following 6 Users Say Thank You to dancer_69 For This Useful Post: [ Click to Expand ]
Tags
spirit fm radio receiver ota
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes