Post by Iver on Aug 21, 2006 21:59:47 GMT
It is very hard to make a monophonic ringtone for your Siemens mobile phone! You need to learn HEX!
But don't worry, you can easily find an introduction to HEX by searching on google.
And btw you need a hex editor to make SRT-files.
Okay, this is how to do it:
An SRT-file (Siemens RingTone) is always built up of blocks of 4 bytes:
The sample YY YY ZZ ZZ repeats every single tone.
The values for frequency and duration are coded in "little endian" <--Important
Examples:
* The tone A1 has the frequency 440 HZ, this complies with a hexadesimal-code of 1B8 (big endian).
But when we use little endian, the bytes switch places, like 01 B8 becomes B8 01.
* The same way; the value 125 ms = 7D 00 in hex, little endian
The datas end with a special block:
F8 FF 01 00 for datas that repeat endlessly.
FE FF 01 00 for datas that actually are just played once.
When they are ringtones, they are repeated after a short pause (about 500 ms...)
Here are some examples of tones:
Other values can be calculated easily by multiplicating or dividing.
Example:
I know this is advanced stuff, but don't give up after only 5 minutes
Enjoy! :wink:
But don't worry, you can easily find an introduction to HEX by searching on google.
And btw you need a hex editor to make SRT-files.
Okay, this is how to do it:
An SRT-file (Siemens RingTone) is always built up of blocks of 4 bytes:
Offset Hex-Value
0x0000: 53 52 54 56: "SRTF" as index.
0x0004: XX XX XX XX: - unknown - I use to insert 00 00 00 00 here.
0x0008: YY YY ZZ ZZ: are values where:
YY YY is the frequency (Hz) and
ZZ ZZ is the duration (ms) of the tone.
The sample YY YY ZZ ZZ repeats every single tone.
The values for frequency and duration are coded in "little endian" <--Important
Examples:
* The tone A1 has the frequency 440 HZ, this complies with a hexadesimal-code of 1B8 (big endian).
But when we use little endian, the bytes switch places, like 01 B8 becomes B8 01.
B 8 0 1
16x 1x 4096x 256x
= (11 x 16) + (8 x 1) + (0 x 4096) + (1 x 256) = 440
* The same way; the value 125 ms = 7D 00 in hex, little endian
The datas end with a special block:
F8 FF 01 00 for datas that repeat endlessly.
FE FF 01 00 for datas that actually are just played once.
When they are ringtones, they are repeated after a short pause (about 500 ms...)
Here are some examples of tones:
Name | Frequency/Hz(decimal) | Frequency/Hz(hex, little-endian)
A1 440 B8 01
Ais1 / B1 466 D2 01
H1 494 EE 01
C2 523 0B 02
Cis2 / Des2 554 2A 02
D2 587 4B 02
Dis2 / Es2 622 6E 02
E2 659 93 02
F2 698 BA 02
Fis2 / Ges2 740 E4 02
G2 784 10 03
Gis2 / As2 831 3F 03
A2 880 70 03
Ais2 / B2 932 A4 03
H2 988 DC 03
C3 1047 17 04
Cis3 / Des3 1108 54 04
D3 1175 97 04
Dis3 / Es3 1245 DD 04
E3 1319 27 05
F3 1397 75 05
Fis3 / Ges3 1480 C8 05
G3 1568 20 06
Gis3 / As3 1661 7D 06
A3 1760 E0 06
Other values can be calculated easily by multiplicating or dividing.
Example:
I know this is advanced stuff, but don't give up after only 5 minutes
Enjoy! :wink: