yashsingh1/xdaforums huggingface dataset:
[Spirit FM] denzel09:
Mike, w last market version i have a little bug. When i open app, for listen sound i must click on setting, for example. The same also if i click on mute and then unmute, to hear sound need click for example on setting.

For rest no problem ;) i hope in one fix in next market version :)
[Spirit FM] shunsai:
hey mike,

yeh, as soon as i posted the question i did a quick search in the forum for "record" and saw just how often this question crops up. well, i hope one day it can become a reality, but for now, having a usable FM radio on my phone here in Japan is already more than i expected.

As for the technical side of things, i don't know what RDS/RBDS are, but after work i'll do some research and more playing around with the app to be better able to answer your question.

i can't say much about the cancelled sales and japan. i've never tried paying for anything through the market. as i stated before, i just don't trust google. what's more, i'm not sure how much they adjust their model to the japanese market. i'm curious though- i have no idea how much the original price for your unlocker is... all i see is 99yen. how considerably did you lower it?

not to talk pricing in the forums, but while i'm at it, i might have done a boneheaded thing with my paypal donation. please let me know if there is any trouble with it going through. cheers!
[Spirit FM] mikereidis:
OK. On your GT-S5570 ? Galaxy Mini, right ?

I thought people were reporting Galaxy Mini not working with releases after Oct 1.

Or perhaps it's ROM related ?
[Spirit FM] mikereidis:
Your donation was received fine, Thanks !

RBDS (US/Canada/Mexico), and RDS (rest of world) is low speed digital data sent by the station.

When my app is unlocked, you see a station ID number (PI or Program ID), type of broadcast (eg, News, or Rock, etc.), and text that may indicate song and artist name, or whatever the station decides to send.

This data is shown under the graphic frequency display at top. If you are unlocked, and have signals of about RSSI signal strength (upper left) of 30 or more, you should see something if the station transmits it.

I've never found any info about RDS in Japan so I suspect that it's not used there.

RDS can include alternative frequency information, and I've never seen the documentation for that referencing the Japan band.

Do you have any stations over 90 MHz ? I've heard it might be going that way with a "Japan Wide Band" from 76-108, and some chips support this, but my app doesn't anymore. It only worked on TI FM chips I recall.

I had email from a guy in Germany who could use the Japan band to listen to some dispatch/emergency services. I previously tested the band with a local NTSC TV station, but this area has gone to ATSC digital TV so there's nothing there now but strange digital noises.
[Spirit FM] denzel09:
Yes on 5570.

I have only that little bug but sound is good, no problem. Dont think that is rom problem. ;)
[Spirit FM] roofrider:
I think the latest version works only for u....weird.
[Spirit FM] denzel09:
Latest market version works very well for me. Only that little bug..
[Spirit FM] reycat:
The phone is already rooted. I'll send you the logs as soon as I see my dad and can get the phone off his hands (it's proving to be quite difficult). :)
[Spirit FM] Kusa123:
http://www.nhk.or.jp/strl/publica/bt/en/in0005.html

Japan uses DARC which mainly for car navigation system (VICS) now.

There's now 1seg-system here and I don't see supported radio units in store anymore. so I don't think any phones supports it.

http://en.wikipedia.org/wiki/Television_channel_frequencies#Japan

same situation in japan too.

analog TV discontinued in this summer.
[Spirit FM] Kess78:
Hi,

On my device the radio can be recorded with any voice recorder app on the market, and even the test app from google ( http://developer.android.com/guide/topics/media/audio-capture.html ). If my hearphones are not plugged in the phone the app will record voice but if I plug them, the app will record the radio (every song that are played in playback I think).

If it appears to work on other phone maybe it will be easier to have Record feature in Spirit :)
[Spirit FM] shunsai:
sounds promising. what device are you using? and what app? i'd like to try it for myself. :)
[Spirit FM] Kess78:
I use Virtual Recorder altough it's not the best app speaking of audio quality. https://market.android.com/details?id=ix.com.android.VirtualRecorder&feature=search_result It works with all others apps on the market. I have a Sony Ericsson X10 Mini
[Spirit FM] mikereidis:
For your little bug, can you try the other CyanogenMod Audio Methods ? CyanogenModNew is most likely to help; it's the default ("CyanogenMod") in my latest releases, and the old "CyanogenMod" becomes "CyanogenModOld2".

I presume everyone reporting here on S5570 is running the latest CM7.

The difference might be a setting, most likely whether Bluetooth is on or off when running the app. Bluetooth ON tends to be more fragile as the Bluez stack can crash if it receives an unexpected response.

But it could also be related to the hardware revision of the BCM 20780 FM chip.
[Spirit FM] mikereidis:
Very interesting, and I hope others can test this, but I think phones like this are the exception. For phones like this, recording via my app should be relatively easy.

Do you have an equalizer app that works with FM, or something like a VU meter app or wallpaper that responds to FM ?

My first test releases had recording (in theory), but nobody, including me, could get it to record anything but silence. My recording code is still in the app and can be re-enabled. I think it could work with my Galaxy S, which I didn't have at that time.

On most phones, especially older or cheaper ones, analog FM audio is injected towards the end of the audio chain. This means it can't be digitally processed (eg equalizer or VU sound level meters) or recorded.

Many newer and more expensive phones, however, have either a completely digital path usable for recording, etc., or at least have an analog to digital converter that can be use with FM.

A completely digital path should be much superior to adding another A->D and D->A conversion though.

I think all FM chips do digital stereo etc. decoding, so it's A->D->A when listening live. Without direct digital, recording and playback become A->D->A->D->A, not even counting what happens at the transmitter.
[Spirit FM] Quinny899:
My desire HD (which is currently broken) had dolby mobile that worked on it, and that would come under this category wouldn't it?
[Spirit FM] shunsai:
yeh, i tried virtual recorder and a few others, but no go on my Desire z... as i figured.

what has me curious though is that call recorders are able to record both voices. all these voice recorders though seem to only record from the mics. i'm sure it's more technical than i'm thinking, but i wonder what the difference is in recording a call (both sides) and recording just voice (mic only).

i recorded both sides of the conversation fine with call recorder on my Desire Z. the option of note seems to be that it allows me to "record calls from Kernel with 2-way call recording patch (root required)" as opposed to "recording from the Standard Android API."

what's the feasibility of recording from kernel with this program?
[Spirit FM] mikereidis:
Thanks... Yeah Japan seems to be in a world of it's own for many standards. And there seem to be MANY products or variants that are JDM (Japan Domestic Market) only, including cars, phones, PCs etc.

From Wikipedia:

"4.806 million mobile phones were sold in Japan in November 2007. Of these, approx. 3.054 million phones, 63.5% of the total, can receive 1seg broadcasts."

... Yet most of us have never even heard of 1seg, despite it's use in some of South America, as well as Japan.

----

The main reason I keep wondering about Japan is that the country is the 2nd biggest downloader of "Music and Audio" apps. First four in the list:

United States	32.9%

Japan	13.3%

South Korea	7.4%

France	4.9%

And yet Japan doesn't even register in the top ten (down to 1.6%) for my free, or paid apps.

It may be that my app doesn't work on the most popular Japanese phones, and those are likely Japan manufactured and Japan exclusive.

Perhaps very few root their phones and/or install aftermarket ROMs due to a lack of support for the language. And my app being mostly English may also be a hindrance.

Anyway, I'll always be interested in any insights about countries and cultures where my apps have impediments I'm not yet aware of.
[Spirit FM] Kess78:
Well I have an equalizer on the phone called DSP Manager but it dosn't work with the radio. I tried the app Audalyzer (https://market.android.com/details?id=org.hermit.audalyzer&feature=search_result) and this time it works with the radio.
[Spirit FM] mikereidis:
There are 2 audio paths during a call: Transmit and Receive. They are processed separately. The Android APIs only allow the selection of 1 of them as an input, and there is no selection equivalent to "Mix these 2 sources".

Yes, I've read about that app, and noted the dev seems to be making more than I am. :) It's a very special app that requires that kernel patch, and only works on a limited selection of phones.

Hopefully the Andoid API will be enhanced to support this at some time, but it's most feasible if the hardware can support mixing directly.

Low I think. I have LOTS of Linux kernel experience, but for this project am doing all I can to keep my work in the app itself and out of the kernel.

If I start doing kernel work, I'll end up stuck there, trying to support hundreds of different devices, ROMs and kernels, and I have MORE than enough work to do supporting them above the kernel line.

That said, if that call recorder patch, or some other "patches", like those for Voodoo Sound, can be used by my app, I may do so. I just don't want to get back into writing kernel code myself.
[Spirit FM] mikereidis:
If Audalyzer (or VU meter wallpaper) works with FM, then it should be possible to record FM. Those, and the recorder app seem like good tests for this capability.

Those are: (1) FM -> Digital -> App -> File.

DSP manager needs: (2) FM -> Digital -> DSP -> Analog -> Speaker/Headset.

I think Tivo-like pause/delay would be (3) FM -> Digital -> App -> File/Delay -> Analog -> Speaker/Headset.

Or it could be a recorder app that does (1), combined with a music/playback app that does: (4) File -> App -> Analog -> Speaker/Headset.

But I think that if: (1) Recording to file is happening, it may tie up most of the audio hardware or software and prevent (4) from happening simultaneously.

It would be very interesting to see if, while recording FM, a music player could be used to listen to the audio (file) delayed ala Tivo/PVRs.

Of course adding Bluetooth audio to the mix is more complication and limitations.

The good news is that more of the newer phones have the hardware needed to make FM digitisation, and thus recording etc., possible. On older phones it seems as if FM was an afterthought, pumped in via a "bypass" in the final stages of the audio chain.

The bypass mode DOES have an advantage though: lower battery usage.

---

BTW, I'm hoping I'm VERY close to having decent AF Alternate Frequency support now.

It was MUCH harder than expected to create a list that had the needed entries, would update and remove stale entries, but did not have false entries created by "RDS noise". No matter what, there are always at least occasional RDS "packets" that contain errors or complete nonsense.
[Spirit FM] shunsai:
yeh, like i said, this is all already technically way beyond me. i've only just started doing some cursory research as i am like a complete infant with regards to anything to do with the android.

not sure that it means anything, but the callrecorder i use by skvalex claims to support several of the current devices (i can verify that it works nicely on my Desire Z):

"Requires the kernel with 2-way call recording patch and ROOT permissions:

- HTC Desire

- HTC HD2

- Google Nexus One

- HTC Desire HD

- HTC Desire Z

- HTC Desire S

- HTC Incredible S

- HTC Thunderbolt

- HTC Sensation

- HTC EVO 3D (CDMA)

- HTC Hero

- HTC Wildfire

- Acer Liquid mt

- Dell Streak

- ZTE Blade

- HighScreen Cosmo

- Acer Liquid

- Sony Ericsson XPERIA ray

- Sony Ericsson XPERIA arc

Use standard API for recording (may record from the mic):

- Motorola Defy (Preferences: Audio source - microphone)

- Sony Ericsson XPERIA mini pro

- Samsung GT-I9000 Galaxy S

- Samsung GT-I9001 Galaxy S Plus

- Samsung GT-I9100 Galaxy S II (Preferences: Audio source - voice uplink, and voice downlink for BT)

- Samsung GT-S5570 Galaxy Mini

- Alcatel OT-990"

so far, i've come across this page that has some kernel patches for various phones. but i don't know how useful that would be to you...
[Spirit FM] shunsai:
check out the attached screenshot below to see what my RDS info shows up as.

after changing regional band to "world" i seem to get the autodial to land on one frequency above 90 (98.3), but nothing seems to actually being broadcast from it.
[Spirit FM] Kess78:
Thanls for thoses informations, very interesting :)

I'm not able to open the audio file while it's recording, maybe because two apps can't use the same file at the same time...

That's cool to hear. You are the best, I know you can do it !
[Spirit FM] mikereidis:
Yeah, looks like there's no RDS data there.

Just FYI, if you change the band between Japan and anything else, you need to hit the Back key, then return to the app before the graphic at top is correct. This is a small "cosmetic" defect I'm unlikely to fix anytime soon.

Yeah, I guess the "Japan Wide" band 76-108 is more a feature for devices to be used in Japan or elsewhere.

This: http://en.wikipedia.org/wiki/FM_broadcasting_in_Japan says: "The 90-108 MHz section is used for television for VHF Channels 1,2 and 3."

So I'd guess 98.3 is something for TV VHF channel 2, now presumably digital.
[Spirit FM] mikereidis:
Too bad. Two apps can, but they have to be "nice" about it.

I should see if my Galaxy S can record, or at least monitor the data. I had an email once from someone looking at commercial usage for a program to analyze FM audio for loud noises. My theory is this was for an alarm system, whether for burglars, or a senior or ill person crashing to the floor.

In any case I concluded my Galaxy S COULD do it, because the fancy Wolfson audio chip provides LOTS of routing options, including digitising the "Auxilary" FM input.

Also, several phones support a microphone option via the headset jack. This audio input path can apparently connect to the FM audio output which can also go to the output pins on the headset jack.

So if you can send FM to the headset jack, and record from the "headset microphone", then you may be able to record FM. At least one person has reported doing this in an interesting thread on this site.
[Spirit FM] Kess78:
I just tested it and played with the settings and it works fine !! Thanks a lot ! Like your Legend I need to have the PI timeout to 1600 but that's not so anoying.

I didn't notice any bug yet :)

How can I donate to you via Paypal ?
[Spirit FM] roofrider:
Mike,

I sent the logs from the latest version. Maybe u cud find something.

Well there are a couple of cm7s and I'm on a different one from denzel..it cud be a ROM issue but there should be something in log rite.
[Spirit FM] dancer_69:
I can confirm that Huawei Ideos X5(the regular model) has an FM chip and the latest version works!

Doesn' t work with Tavarua method but with qdsp5v2. With this method I can hear a radio station from headphones only(with speaker I get only a very low level hiss noise).

And the volume cannot controled. I tried every option but I have the same volume(volume controls haven't any effect to volume change also).

About changing frequencies, I can find channels only with >> and << buttons.

And I have some crashes and reboots of phone when testing spiritFM so these for now.

EDIT:

After last reboot, the app doesn't work anymore. Opens and when the app's main screen appears, the device stack and after a minute it reboots.

These are the logcat messages before the device stuck:

E/fm_hrdw ( 2192): sl_pwr_on IOCTL Si4709_IOC_POWERUP error: -1
E/fm_hrdw ( 2192): sl_get couldn't detect hw/power up
E/fm_hrdw ( 2192): hrdw_open error opening v4l /dev/mixer: 2
E/fm_hrdw ( 2192): v4_freq_set VIDIOC_S_FREQUENCY error: 22
E/fm_hrdw ( 2192): v4_freq_set VIDIOC_S_FREQUENCY error: 22
E/fm_hrdw ( 2192): enab_disab disable dev_id: 6 error errno: 1
E/fm_hrdw ( 2192): enab_disab enable dev_id: 7 error errno: 1
[Spirit FM] qriozum:
Hello.

Whether there is a possibility that he re-establish normal font in an application that was the version for 3nov,ie not bold?

This bold, the new version is not elegant. in August it can somehow can change the options of the program?

Regards

q.
[Spirit FM] cos68:
Thanks for your update.

Unfortunately the volume issue that you fixed in your Nov 22 version is back. First time i start the application after a reboot it is working fine, but the next time i start your application the volume slider is not working at all. This is the same on both my Desire HD and my Incredible S.

If I use your debug volume setting, then the volume is not changing either. Selecting the three HW settings changes absolutely nothing. If I select one of the three Sc or the three Sm buttons, then it writes "Mediavolume" and the volume bar shows the correct value, but the volume in the headset/speaker does not change.

Please let me know, if you need more information like a log file or something else.

Thanks

Claus
[Spirit FM] mikereidis:
Great ! :) I guess the 1.6 seconds is TI FM chip specific. I think I can reduce the wait time at least half a second by lowering the RDS "waterline".

I see you were asking for AF back in July...

Anyone wanting to sponsor a feature or a new phone, or just to say thanks, is encouraged to use my email address for Paypal. With some anti-spam protection it's mikereidis{at}gmail.com and I can be reached at that address at any time too.

If you have a choice, native currencies are fine. I just keep balances in those currencies so far, as a purchase or emergency fund.

I'm happy to say that my income has increased somewhat, from the $7 per day average a few months ago to around $11 per day now. That's still not sufficient to continue indefinitely, so I may have to consider some contract possibilities next year.

So anyone wanting to encourage this journey to create the best FM app, please show your support. I have some ideas for a revamped, swype and fling style, modern touch device user interface, but that takes time/work...

My near future plans include continued support for more devices, including Huawei, ZTE and the huge number of stock, un-rooted phones with the proprietary Broadcom FM/Bluetooth stack.
[Spirit FM] mikereidis:
Thanks for the detail ! I was concerned that might happen.

I reverted the code to try and get the S5570 problem fixed, but it didn't help there, so I will re-revert it right back and find a better way for the Galaxy 5 mini.
[Spirit FM] mikereidis:
Yes, I can disable the bold. I think it was always there for the frequency display though; does it seem OK for the frequency button ?

I think it may look different depending on your ROM and the fonts it uses.

If anyone else has an opinion, please let me know.

At this time it's not configurable, but text size is.
[Spirit FM] mikereidis:
Thanks. I went back to the old volume control code, because that's what caused this type of problem for me on my i5500. But I guess it didn't help (completely?) and it broke common devices like the Desire so I'll put the code back as before.

The only clue in the logs are lines like these:

11-26 20:34:08.239 E/fm_hrdw ( 2458): do_acc_hci hci err: 12 Command Disallowed

It seems to imply the hardware is not ready. Strangely, this only seems to happen when setting frequency, setting volume and other things seem OK. With the previous problem, once the problem started, it continued until device reboot, or sometimes Bluetooth power cycle.

I think the most likely "ROM problem" is the "*.HCD" file that is sort of like a firmware file for Broadcom chips.

Here's the one that works OK on my i5500: http://www.mediafire.com/file/2b22j0hakzrhsq1/BCM2049B0_BCM20780B0_002.001.022.0170.0174.hcd

To over-ride the normal file, which is usually under /system/bin or at least /system, you can copy (and rename) this file to /sdcard/spirit_cfg/bcm.hcd

For example, with ADB on a connected PC:

adb shell mkdir sdcard/spirit_cfg

adb push BCM2049B0_BCM20780B0_002.001.022.0170.0174.hcd /sdcard/spirit_cfg/bcm.hcd

Then power cycle the app.

You can verify it's using the new file by renaming or moving the original file, and ensuring my app still starts in UART mode (Bluetooth may not work).

So for example:

adb remount

adb shell mv /system/bin/*.hcd /sdcard

And to restore:

adb remount

adb shell mv /sdcard/*.hcd /system/bin
[Spirit FM] mikereidis:
Great ! AFAIK, my app is the first proof the X5 / u8800 has working FM. I haven't heard of any stock FM app for a u8800. I wonder if the stock app from a u9000 would work though ? Getting a stock app working might help in trouble-shooting.

I had a report of the speaker (only) working on a stock ROM on Oct. 30 using the CyanogenMod method, but I didn't have the Huawei/Tavarua method then.

I think on the stock ROM, the audio is digital, unlike the analog on most other phones. But your CM ROM likely doesn't have the stock audio libraries, so the qdsp5v2 method is needed, and I think that's analog.

The seek buttons won't work until the needed code is added.

I'll post some adb shell commands to try for volume control.

Are you using an app that just shows error entries in the log ? (Those starting with "E/"). Getting the "D/" debug messages may be helpful.

These first 2 errors are as expected. The first tries to detect a Silicon Labs chip, but might be causing a problem I can try to avoid in the next release.

I saw these on other devices too and it indicates the frequency can't be set. Does setting frequencies seem to work for you ?

This may be preventing the switch to speaker mode. It seems to indicate a permissions problem with /dev/msm_audio_dev_ctrl, but with SU my app shouldn't be having that problem, and since qdsp5v2 is working, it's likely something else.
[Spirit FM] dancer_69:
- I will try to find the stock app from U9000 to test if works, but I have CM7 rom now, so

- I don't know if will work.

- I used the logcat from adb shell to see what cause the crashing.

- I can change frequencies only manually with >> ,<< buttons.
[Spirit FM] qriozum:
I mean the font on the buttons memorized the names of radio stations.

Here is a version 3Nov:

Here, font, as for me, is very good and correct.

While here:

This version is 26Nov - bold font is horrible and not very clear: (

I note that the screenshots are made ​​on the SAME ROM (Virtuous Affinity v1.46).

Regards

q.
[Spirit FM] mikereidis:
Tried ICS again tonight and it works for Galaxy S on Alpha 7 using the "scary" and occasionally crackly "GalaxyS ALSA" audio method.

There were occasional volume control problems and the music player kept starting up, and the frequency response is poor but it works....

Somebody posted success on November 21 so perhaps I can claim the first public ICS FM app, LOL: http://xdaforums.com/showpost.php?p=19575982&postcount=1956

So I did a google search and it seems someone thinks the app sucks, but it allegedly "sucked" on or before Nov 20: LOL: http://blog.gsmarena.com/cyanogenmo...-to-all-supported-devices-in-two-months-time/

My response:

Oh my gosh, My Spirit FM Radio app sucks ?

Please let me try your app and see how it works on ICS.

I didn't even have to do anything and it magically worked. I only just now tried it out. Any other FM apps running on ICS yet ?