Welcome!

Welcome to the official BlackBerry Support Community Forums.

This is your resource to discuss support topics with your peers, and learn from each other.

inside custom component

Java Development

Reply
Developer
rcmaniac25
Posts: 1,805
Registered: ‎04-28-2009
My Device: Z10 (STL100-4)-10.2.1.3253, Z10 (STL100-3)-10.3.1.634 Dev OS, Z30 (STA100-5)-10.3.1.634 Dev OS, Passport (SQW100-1)-10.3.0.1418, PlayBook (16GB)-2.1.0.1917

Re: can someone please identify this blackberry audio format?

Companies are entitled to their secrets. The JavaME standard requires that the data returned is in the format specified, doesn't mean it has to record in that format. It's easier to make one recorder and then convert then it is to make 10 recorders and return in the correct format. I can understand what your getting at but the simplicity of one encoder is better then the complexity of many, especially when some formats require licensing and using others encoders.

 

As for your situation, someone else figured it out, you can too.

---Spends time in #blackberrydev on freenode (IRC)----
Three simple rules:
1. Please use the search bar before making new posts.
2. "Like" posts that you find helpful.
3. If a solution has been found for your post, mark it as solved.
--I code too much. Well, too bad.
Please use plain text.
Developer
ydaraishy
Posts: 562
Registered: ‎09-30-2009
My Device: Not Specified

Re: can someone please identify this blackberry audio format?

"As for your situation, someone else figured it out, you can too."

Everyone is entitled to release code under whatever license they wish. I have no problem with that at all; I prefer to release my code under open licenses, some don't.

 

But the attitude of "I figured something out about a closed standard, I'm not going to tell anyone about it unless you pay me" I have big problems with. Not only is a standard or a format closed to begin with, people want to perpetuate this problem by reverse engineering or what have you and then refusing to make this knowledge known!

 

Some with a more commercial attitude will let this fly, but it's irritating for us who have to work with closed standards.

Please use plain text.
Developer
rcmaniac25
Posts: 1,805
Registered: ‎04-28-2009
My Device: Z10 (STL100-4)-10.2.1.3253, Z10 (STL100-3)-10.3.1.634 Dev OS, Z30 (STA100-5)-10.3.1.634 Dev OS, Passport (SQW100-1)-10.3.0.1418, PlayBook (16GB)-2.1.0.1917

Re: can someone please identify this blackberry audio format?

I wasn't the one who figured it out, I was looking through my posts and couldn't find the guy who did it.

 

I like open source as much as the next guy and am working on a library that, when done, I plan to release open source so it's not like I am against it. I also have an issue with the attitude of "I figured it out but I'm not telling unless you pay me." But I have nothing I can really do about it.

 

I know what your talking about, I am trying to figure out a propriety compression scheme for a free utility, it irritates me when I have to work with closed standards.

 

Sorry if I came off like a snob, but I'm just stating the information I know:

  • The recordings are done in a propriety format.
  • RecordControl.commit() converts it to a specified format.
  • JavaME standard doesn't specify that recordings must be done in a specified format, just returned as one. (If it says otherwise then I am mistaken but I have yet to find that.)
  • Someone figured out the format but at the beckoning of people asking for him to explain it he basically said "Show me the money first."
  • All businesses of some sort have there own "secrets" as irritating as it is to many trying to use what they came up with.
  • The great thing about people is if one person can come up with it (or figure it out) others can do the same.
---Spends time in #blackberrydev on freenode (IRC)----
Three simple rules:
1. Please use the search bar before making new posts.
2. "Like" posts that you find helpful.
3. If a solution has been found for your post, mark it as solved.
--I code too much. Well, too bad.
Please use plain text.
Developer
Posts: 1,474
Registered: ‎04-14-2009
My Device: Not Specified

Re: can someone please identify this blackberry audio format?

This might be slightly off-topic, but why don't you record in AMR instead of GSM?

Please use plain text.
Developer
Aviator168
Posts: 709
Registered: ‎09-10-2009
My Device: 8520, 8900, 9000, 9300, 9650, 9700, 9780, 9800, 9810, 9900, 9930

Re: can someone please identify this blackberry audio format?

[ Edited ]
  • The recordings are done in a propriety format.

I have no problem RIM records in a propriety format. But just don't call it GSM

 

  • RecordControl.commit() converts it to a specified format.

 

  • JavaME standard doesn't specify that recordings must be done in a specified format, just returned as one. (If it says otherwise then I am mistaken but I have yet to find that.)

But RIM's documentation says it can output GSM recording.

 

 

 

Please use plain text.
Developer
Aviator168
Posts: 709
Registered: ‎09-10-2009
My Device: 8520, 8900, 9000, 9300, 9650, 9700, 9780, 9800, 9810, 9900, 9930

Re: can someone please identify this blackberry audio format?

New information.

 

The gsm file does not contain a HEADER as when I cut off the first 1040 (multiple of 65 containing 2 gsm frames)  bytes of the file from the beginning, the BB player still can play the file. Yes, it is packed, but the bit stream might've been written out in the reverse order. 

 

BTW.  The low order 4 bits of the first byte of every gsm frame should be hex 0xD. The magic number indicatiing it is a gsm frame.

Please use plain text.
Developer
rcmaniac25
Posts: 1,805
Registered: ‎04-28-2009
My Device: Z10 (STL100-4)-10.2.1.3253, Z10 (STL100-3)-10.3.1.634 Dev OS, Z30 (STA100-5)-10.3.1.634 Dev OS, Passport (SQW100-1)-10.3.0.1418, PlayBook (16GB)-2.1.0.1917

Re: can someone please identify this blackberry audio format?

That's good to know.

 

  • But RIM's documentation says it can output GSM recording.

To restate my previous point: RecordControl.commit() converts it to a specified format. Also as long as your not trying to encode AMR it is free to write a decoder.

 

Off-topic: What is the response time for sending the voice data to a ASR server and getting the decoded information? I have read that it is anywhere from instantaneous to a couple minutes.

 

Back-on-topic: If the bytes are reversed then if you reverse them back can you play it on your desktop?

---Spends time in #blackberrydev on freenode (IRC)----
Three simple rules:
1. Please use the search bar before making new posts.
2. "Like" posts that you find helpful.
3. If a solution has been found for your post, mark it as solved.
--I code too much. Well, too bad.
Please use plain text.
Developer
Aviator168
Posts: 709
Registered: ‎09-10-2009
My Device: 8520, 8900, 9000, 9300, 9650, 9700, 9780, 9800, 9810, 9900, 9930

Re: can someone please identify this blackberry audio format?

 


rcmaniac25 wrote:

That's good to know.

 

  • But RIM's documentation says it can output GSM recording.

To restate my previous point: RecordControl.commit() converts it to a specified format. Also as long as your not trying to encode AMR it is free to write a decoder.

 

Off-topic: What is the response time for sending the voice data to a ASR server and getting the decoded information? I have read that it is anywhere from instantaneous to a couple minutes.

 

Back-on-topic: If the bytes are reversed then if you reverse them back can you play it on your desktop?


Responds time is no longer that a few seconds if you are lucky. Sometime you get the text back before you finish the call as we are only processing what you are repeating what is told to you.
RecordControl.commit() does not convert to the specified format. I have no interest in writing a AMR decoder as we already have a gsm decoder that works with every other systems out there.
We tried re-arrange many different ways, but nothing works. I guess untill RIM tells us how the Class II bits, Class Ia, and the Class Ib bits are arranged, we are not going to try anymore with this.

 

 

Please use plain text.
Developer
rcmaniac25
Posts: 1,805
Registered: ‎04-28-2009
My Device: Z10 (STL100-4)-10.2.1.3253, Z10 (STL100-3)-10.3.1.634 Dev OS, Z30 (STA100-5)-10.3.1.634 Dev OS, Passport (SQW100-1)-10.3.0.1418, PlayBook (16GB)-2.1.0.1917

Re: can someone please identify this blackberry audio format?

Understandable, good luck on your project.

---Spends time in #blackberrydev on freenode (IRC)----
Three simple rules:
1. Please use the search bar before making new posts.
2. "Like" posts that you find helpful.
3. If a solution has been found for your post, mark it as solved.
--I code too much. Well, too bad.
Please use plain text.
Developer
Aviator168
Posts: 709
Registered: ‎09-10-2009
My Device: 8520, 8900, 9000, 9300, 9650, 9700, 9780, 9800, 9810, 9900, 9930

Re: can someone please identify this blackberry audio format?

Someone has taken over the GSM 'hacking'. Here is the stand field packing. Carriers must use a different packing order.

 

4.5.8.1  General Packaging Issues

The GSM standard (ETS 300 961) specifies the bit stream produced by
the codec, but does not specify how these bits should be packed for
transmission. The packetization specified here has subsequently been
adopted in ETSI Technical Specification TS 101 318. Some software
implementations of the GSM codec use a different packing than that
specified here.

field field name bits field field name bits
________________________________________________
1 LARc[0] 6 39 xmc[22] 3
2 LARc[1] 6 40 xmc[23] 3
3 LARc[2] 5 41 xmc[24] 3
4 LARc[3] 5 42 xmc[25] 3
5 LARc[4] 4 43 Nc[2] 7
6 LARc[5] 4 44 bc[2] 2
7 LARc[6] 3 45 Mc[2] 2
8 LARc[7] 3 46 xmaxc[2] 6
9 Nc[0] 7 47 xmc[26] 3
10 bc[0] 2 48 xmc[27] 3
11 Mc[0] 2 49 xmc[28] 3
12 xmaxc[0] 6 50 xmc[29] 3
13 xmc[0] 3 51 xmc[30] 3
14 xmc[1] 3 52 xmc[31] 3
15 xmc[2] 3 53 xmc[32] 3
16 xmc[3] 3 54 xmc[33] 3
17 xmc[4] 3 55 xmc[34] 3
18 xmc[5] 3 56 xmc[35] 3
19 xmc[6] 3 57 xmc[36] 3
20 xmc[7] 3 58 xmc[37] 3
21 xmc[8] 3 59 xmc[38] 3
22 xmc[9] 3 60 Nc[3] 7
23 xmc[10] 3 61 bc[3] 2
24 xmc[11] 3 62 Mc[3] 2
25 xmc[12] 3 63 xmaxc[3] 6
26 Nc[1] 7 64 xmc[39] 3
27 bc[1] 2 65 xmc[40] 3
28 Mc[1] 2 66 xmc[41] 3
29 xmaxc[1] 6 67 xmc[42] 3
30 xmc[13] 3 68 xmc[43] 3
31 xmc[14] 3 69 xmc[44] 3
32 xmc[15] 3 70 xmc[45] 3
33 xmc[16] 3 71 xmc[46] 3
34 xmc[17] 3 72 xmc[47] 3
35 xmc[18] 3 73 xmc[48] 3
36 xmc[19] 3 74 xmc[49] 3
37 xmc[20] 3 75 xmc[50] 3
38 xmc[21] 3 76 xmc[51] 3

Please use plain text.