Discussion:
[Bitpim-devel] MP3 ringtones
Roger Binns
2005-01-10 10:24:47 UTC
Permalink
I have committed code sufficient to get MP3 ringtones working, and it
works well on the VX6000. They play loudly and clearly.

You'll need to copy the QueryAudio function from com_lgvx6000.py
into the relevant phone profile. Then drag and drop/add a digital
audio file (eg wav, mp3) and you'll get the conversion dialog.

No interlocks have been put in place in the UI yet. You'll
need to do the convert step first (but can repeat it) and then
crop the result down to size. I suspect there is a 64k file
size limit. Finally hit ok.

Currently this will only work on Windows since it needs the
ffmpeg helper binary. I'll work on doing a Linux version
tomorrow, errr today.

Further notes:

- The default parameters of 22050 Hz sampling and 64kbps
data rate will limit you to about 6 seconds to be under
64kb file size.

- There are no callbacks from the wx library to know how far
sound has progressed playing, so the code runs a timer and
wings it. It has been accurate in my tests so far, and
I don't see any alternatives.

- The conversion UI isn't the best in the world, and I'd be
happy for someone else to take it over once it is all
functionally correct.

- We need to work out what the various phones support. Please
experiment with file size, sampling rates and bit rates
and post the results here.

Roger
d***@netzero.com
2005-01-10 16:03:39 UTC
Permalink
I tried it and I think it's a great idea. Unfortunately, the A650 can't play mp3 files directly, so the conversion may need to be updated to convert from mp3/wav to qcp. I did it manually using ffmpeg and pvconv and it worked fine. Not sure what the feasibility of including pvconv as a helper.

The dialog gave me a couple of exceptions: one when I 'Play' before 'Convert', and one when I 'Play' a trimmed song.

-Joe Pham



______________________________________________________________________
Speed up your surfing with NetZero HiSpeed.
Now includes pop-up blocker!
Only $14.95/month -visit http://www.netzero.com/surf to sign up today!
Roger Binns
2005-01-10 17:28:38 UTC
Permalink
Post by d***@netzero.com
I tried it and I think it's a great idea. Unfortunately, the A650 can't play mp3
files directly, so the conversion may need to be updated to convert from mp3/wav to
qcp.
On the LG phones QCP 'ringtones' are played through the earpiece at normal
volumes making them completely useless as ringtones. Feel free to add QCP
conversion once the MP3 code is complete.
Post by d***@netzero.com
Not sure what the feasibility of including pvconv as a helper.
The license agreement doesn't allow it. I have contacted them twice over this
and whenever my emails mention that BitPim is free software, they don't even
bother responding any more.

Anyway that was part of the motivation behind the changes in conversions.py
and exception classes. I'll be able to pop up the relevant help page and
people can go download it themselves.
Post by d***@netzero.com
The dialog gave me a couple of exceptions: one when I 'Play' before
'Convert',
That would be one of the interlocks I haven't done yet.
Post by d***@netzero.com
and one when I 'Play' a trimmed song.
That should work fine.

Roger
Stephen Wood
2005-01-17 03:58:58 UTC
Permalink
Post by Roger Binns
...
Post by d***@netzero.com
Not sure what the feasibility of including pvconv as a helper.
The license agreement doesn't allow it. I have contacted them twice over this
and whenever my emails mention that BitPim is free software, they don't even
bother responding any more.
Can we do what we do with pvconv by using the Purevoice SDK? You can
either accept the SDK license for perosnal/internal business use OR

"By accepting below LICENSEE represents that the QUALCOMM PureVoice
Software will only be used by LICENSEE solely for the purpose of
creating application programs which may run only on general-purpose
desktop computer systems or servers running on Windows, Macintosh, Linux
or Unix operating systems subject to the terms set forth above."

Could we make an application that does what pvconv does, distribute only
binaries of it (and our code without the SDK parts), and put in whatever
exceptions are needed in our license?

There are of course many terms to the Qualcomm license that could make
doing this difficult.

Stephen
Roger Binns
2005-01-17 05:14:51 UTC
Permalink
Post by Stephen Wood
Can we do what we do with pvconv by using the Purevoice SDK?
Technically yes. The legal side is extremely questionable.

We could create a pvconv workalike that has to be a seperate
standalone binary, and in theory the GPL won't apply to it.
But the Qualcomm stuff does have terms we couldn't possibly
comply with. For example we couldn't publish the code because
it would contain information related to the use of the API:

Confidentiality. LICENSEE acknowledges and agrees that the
QUALCOMM PureVoice Software, all technical documentation
delivered to LICENSEE by QUALCOMM hereunder, and all other
information relating to the design, development, configuration,
use, operation and maintenance of the QUALCOMM PureVoice Software
constitutes confidential and proprietary information of QUALCOMM
(referred to as "Confidential Information"). LICENSEE shall
maintain the QUALCOMM PureVoice Software under strict confidence
and shall not duplicate, disclose or transfer to any third person,
or use any Confidential Information other than in accordance
with this License.

But of course they have GPL/viral license terms:

Derivative Rights. QUALCOMM shall have derivative rights to any
interface code written for or used with the QUALCOMM PureVoice
Software by LICENSEE.

And how do we stop people from redistributing stuff. (Material
breaches cost us money):

Unauthorized Distribution or Copying. LICENSEE acknowledges and
agrees that it is prohibited from distributing, copying, duplicating,
using or otherwise reproducing all or any part of the QUALCOMM
PureVoice Software or Application Programs, except as expressly
provided for in this Agreement. LICENSEE further agrees that (i)
distributing, copying, duplicating, or otherwise reproducing all
or any part of the QUALCOMM PureVoice Software or Application
Programs, except as expressly provided for in this Agreement, or
(ii) failing to protect the QUALCOMM PureVoice Software shall be
considered a material breach of this Agreement.

There is no way with the huge number of terms that can easily be
interpretted against us that I am going to include pvconv or a
binary made using their SDK that does the same thing in BitPim.
If Qualcomm want people to use their stuff then they can have
decent clear licensing terms, or actually bother to answer my
emails once they learn that I won't be paying them anything.

So users are going to have to download and install this themselves
and deal with all the legal nonsense. And in the future they will
hopefully pay careful attention to closed undocumented legally
encumbered formats used on their phones.

(One of my hopes with BitPim is that people pay more attention to
the internals of their phones and vote with their money for
manufacturers and carriers who make it easy to do whatever you
want with content you own.)

Roger

Loading...