DO NOT reproduce any or all part of this guide without my consent
Thanks to
My three moddin’ mentors, you guys rock
Thank you
Thank you
This tutorial will guide you through the process of planning an APF, creating it and tweaking it till it’s ready for release.
For those of you aspiring to be skilled modders, you must know that APF acoustic moddin’ is not an easy thing to do correctly. Be determined always, and be very patient. The first few things you come up with can be very disappointing but don’t give up. Never be tempted to use other people’s work as your own.
Planning
This is the first step to making a good acoustic. You must make a habit of planning your acoustics, this is absolutely crucial; as it determines the path you should take and the overall success of your acoustic, should you plan to release it. One of the things you might want to look at is your target user group. Based on experience, I can say that acoustics user groups are divided into two. Those who prefer clarity over loudness, and those who prefer loudness over clarity. Your acoustic must be able to perform to the expectations of both user groups, but have exceptional performance at one of the two parameters. To sum it up, you have to decide whether to offer more clarity, or offer more loudness.
Increasing loudness means that overall clarity is reduced, this is because as sound intensity increases, deeper notes stand out more, and the softer notes are drowned out by the deeper ones, hence it seems as if only the deeper notes can be heard and the softer cannot. In music, most tracks have deeper notes serving for the beat and the softer ones are voices and lyrical content. It is also true that as you increase clarity, the overall loudness must decrease. We can now conclude that loudness and clarity are directly proportional.
Take the above image as your acoustic. Acoustic performance must be somewhere in the middle of that picture, in between the extremes of both loudness and clarity.

The difference between a stock acoustic and a modded acoustic (RaKisTa™-X APF Acoutics) is quite visible in the graphs above. That is real statistical evidence as proven by benchmarks.
Upon deciding how you want your acoustic to perform, and which of the two parameters it should be biased to, you may begin by finding a base acoustic which you will edit. A base acoustic is any original stock acoustic that you can find. DO NOT take an already modded acoustic and use it as a base, edit a few strings and claim it to be your own. This is not only plagiarism, but you’re cheating yourself out of valuable experience. The only way to get good at acoustic moddin is through practice. You must be determined and eager to learn, because it is NOT an easy thing to master.

Start Moddin’
You might want to organise your folders and files to make it easier to categorise your work. Take my workspace below for example

The next step is to download WinHex make the template file we need
CODE
template "SE APF"
description "SE audio profile by Darkmen"
begin
string 4 "HDR_sign_APF"
hex 2 "Version"
hex 2 "ProfileSize"
hex 1 "AcousticCompensation_TX_8"
hex 1 "AcousticCompensation_TX_16"
hex 1 "AcousticCompensation_RX_8"
hex 1 "AcousticCompensation_RX_16"
hex 1 "AcousticCompensation_RX_44_1"
hex 1 "AcousticCompensation_RX_48"
hex 1 "DRC"
hex 1 "DRC_VoiceCall_RX"
hex 1 "DRC_VoiceCall_TX"
hex 1 "EnhancedEchoCanceller"
hex 1 "NoiseReduction"
hex 1 "WhiningNoiseFilter"
hex 1 "CTM"
hex 1 "AccessoryType"
hex 1 "BT_PCM_SampleRates"
hex 1 "BT_PCM_Stereo"
hex 1 "Dummy01"
hex 0x104 "AcousticCompensation_TX_8_TD_Data"
hex 0x204 "AcousticCompensation_TX_16_TD_Data"
hex 0x104 "AcousticCompensation_RX_8_TD_Data"
hex 0x204 "AcousticCompensation_RX_16_TD_Data"
hex 0x204 "AcousticCompensation_RX_44_1_TD_Data"
hex 0x204 "AcousticCompensation_RX_48_TD_Data"
hex 48 "DRC_Data"
hex 48 "DRC_VoiceCall_TX_Data"
hex 48 "DRC_VoiceCall_RX_Data"
hex 32 "EnhancedEchoCancellerData"
hex 12 "NoiseReductionData"
hex 01 "SWAP_TX1_TX2"
hex 01 "CCO_OUTV"
hex 01 "SWAP_RX1_RX2"
hex 01 "TX2_HPEN"
hex 01 "TX1_HPEN"
hex 01 "HIFI_ALOOP"
hex 01 "TXPGA2 (0-7)"
hex 01 "TXPGA1 (0-7)"
hex 01 "RXPGA2 (0-14)"
hex 01 "RXPGA1 (0-14)"
hex 01 "RXVOL2"
hex 01 "RXVOL1"
hex 01 "TXGC"
hex 01 "MIC1_TXGAIN"
hex 01 "AUXI1_TXGAIN"
hex 01 "TX1MUX_SEL"
hex 01 "TX2MUX_SEL"
hex 01 "AUXI3_TXGAIN"
hex 01 "AUXI2_TXGAIN"
hex 01 "STPGA1"
hex 01 "STPGA2"
hex 01 "ST_ON"
hex 01 "PCMJITTER"
hex 01 "PCM_LSBVALID"
hex 01 "PCMO_TRISTATE"
hex 01 "PCM_SWAP"
hex 01 "PCM_LOOP"
hex 01 "PCMDELAY"
hex 01 "AUXO1_RXSEL"
hex 01 "AUXO2_RXSEL"
hex 01 "AUXO1_INSEL"
hex 01 "AUXO2_INSEL"
hex 01 "BEARP_RXSEL"
hex 01 "BEARN_RXSEL"
hex 01 "BEARP_INSEL"
hex 01 "BEARN_INSEL"
hex 01 "LINEP_RXSEL"
hex 01 "LINEN_RXSEL"
hex 01 "LINEP_INSEL"
hex 01 "LINEN_INSEL"
hex 01 "MUX1_ADD"
hex 01 "RX1_ADD"
hex 01 "MUX1_INSEL"
hex 01 "MUX2_ADD"
hex 01 "RX2_ADD"
hex 01 "MUX2_INSEL"
hex 01 "LINEP_GAIN"
hex 01 "LINEN_GAIN"
hex 01 "BEARP_GAIN"
hex 01 "BEARN_GAIN"
hex 01 "AUXO2_GAIN"
hex 01 "AUXO1_GAIN"
hex 01 "POWER_ON"
end
description "SE audio profile by Darkmen"
begin
string 4 "HDR_sign_APF"
hex 2 "Version"
hex 2 "ProfileSize"
hex 1 "AcousticCompensation_TX_8"
hex 1 "AcousticCompensation_TX_16"
hex 1 "AcousticCompensation_RX_8"
hex 1 "AcousticCompensation_RX_16"
hex 1 "AcousticCompensation_RX_44_1"
hex 1 "AcousticCompensation_RX_48"
hex 1 "DRC"
hex 1 "DRC_VoiceCall_RX"
hex 1 "DRC_VoiceCall_TX"
hex 1 "EnhancedEchoCanceller"
hex 1 "NoiseReduction"
hex 1 "WhiningNoiseFilter"
hex 1 "CTM"
hex 1 "AccessoryType"
hex 1 "BT_PCM_SampleRates"
hex 1 "BT_PCM_Stereo"
hex 1 "Dummy01"
hex 0x104 "AcousticCompensation_TX_8_TD_Data"
hex 0x204 "AcousticCompensation_TX_16_TD_Data"
hex 0x104 "AcousticCompensation_RX_8_TD_Data"
hex 0x204 "AcousticCompensation_RX_16_TD_Data"
hex 0x204 "AcousticCompensation_RX_44_1_TD_Data"
hex 0x204 "AcousticCompensation_RX_48_TD_Data"
hex 48 "DRC_Data"
hex 48 "DRC_VoiceCall_TX_Data"
hex 48 "DRC_VoiceCall_RX_Data"
hex 32 "EnhancedEchoCancellerData"
hex 12 "NoiseReductionData"
hex 01 "SWAP_TX1_TX2"
hex 01 "CCO_OUTV"
hex 01 "SWAP_RX1_RX2"
hex 01 "TX2_HPEN"
hex 01 "TX1_HPEN"
hex 01 "HIFI_ALOOP"
hex 01 "TXPGA2 (0-7)"
hex 01 "TXPGA1 (0-7)"
hex 01 "RXPGA2 (0-14)"
hex 01 "RXPGA1 (0-14)"
hex 01 "RXVOL2"
hex 01 "RXVOL1"
hex 01 "TXGC"
hex 01 "MIC1_TXGAIN"
hex 01 "AUXI1_TXGAIN"
hex 01 "TX1MUX_SEL"
hex 01 "TX2MUX_SEL"
hex 01 "AUXI3_TXGAIN"
hex 01 "AUXI2_TXGAIN"
hex 01 "STPGA1"
hex 01 "STPGA2"
hex 01 "ST_ON"
hex 01 "PCMJITTER"
hex 01 "PCM_LSBVALID"
hex 01 "PCMO_TRISTATE"
hex 01 "PCM_SWAP"
hex 01 "PCM_LOOP"
hex 01 "PCMDELAY"
hex 01 "AUXO1_RXSEL"
hex 01 "AUXO2_RXSEL"
hex 01 "AUXO1_INSEL"
hex 01 "AUXO2_INSEL"
hex 01 "BEARP_RXSEL"
hex 01 "BEARN_RXSEL"
hex 01 "BEARP_INSEL"
hex 01 "BEARN_INSEL"
hex 01 "LINEP_RXSEL"
hex 01 "LINEN_RXSEL"
hex 01 "LINEP_INSEL"
hex 01 "LINEN_INSEL"
hex 01 "MUX1_ADD"
hex 01 "RX1_ADD"
hex 01 "MUX1_INSEL"
hex 01 "MUX2_ADD"
hex 01 "RX2_ADD"
hex 01 "MUX2_INSEL"
hex 01 "LINEP_GAIN"
hex 01 "LINEN_GAIN"
hex 01 "BEARP_GAIN"
hex 01 "BEARN_GAIN"
hex 01 "AUXO2_GAIN"
hex 01 "AUXO1_GAIN"
hex 01 "POWER_ON"
end
Copy and paste the above code into a file named SE_APF.tpl and save that file in your WinHex folder.
Open up a few base APFs in WinHex and you should have a window like the one below

Click on "View" and go to "Template Manager"

Select the "SE APF" and hit "Apply!"

A new window will appear showing the parameters and values of the acoustic. I have named each parameter "String ID" and each value "String Data"

The String IDs represent certain parameters in the phone itself
RXVOL1 -controls the volume for left in PHF files. RXVOL1 is used for the volume for the earspeaker. Volume of back speaker in FARFIELD files
RXVOL2 -controls the volume for right in PHF files. Volume of side speaker
AUXI1_TXGAIN, AUXI2_TXGAIN controls the volume of the input
MIC1_TXGAIN controls the volume of the microphone on the phone. (for Phone calls and Recording)
AUXI3_TXGAIN controls the volume of microphone on the handsfree headphone.
EnhancedEchoCanceller controls if you have the echo cancel on or off (for phone calls)
Some other parameters can be collected from the image below

I can only provide you so much information. I strongly recommend you take a look at these three threads for furthur understanding
Mixing & Modding APFs
ZAPF Acoustic Investigation (It still applies to APF)
APF Acoustic R&D
Infinity APF Acoustics
You simply have to experiment with values in the acoustic an test how they perform, it's ok to compare base acoustics to modded ones to see the difference and learn from them, but do not claim another's acoustic as your own. Experiment with the files and you'll come up with something in good time
Presenting your acoustic
Now that you’ve tweaked your APF to what you consider to be a good level, you may release it on SE-NSE’s customizing UI thread. Presentation of your work is of the upmost importance. The chain for releasing an APF usually follows from the first release, being a beta. Beta acoustics are for testing purposes and you should quickly take note of the bug reviews made by users and correct these before releasing your Beta 2 acoustic. By this stage, most of the imperfections in the APF would have been weeded out and this is only for the final minor tweaks to try and satisfy every user so far. Beta stages should usually be covered within 4 days, although there are some instances whereby beta stages can reach Beta 5 and beyond. Try your best not to make too many beta stages as this will discourage users from your acoustic. First impressions mean a lot in the APF moddin’ world. From Beta stages, you may proceed to publishing your final acoustic, or two or more release candidates. Release candidates, or better known as RCs are two different versions of the same acoustic but with major differences in one or more particular parameters that may affect the whole performance dependent on the situation. If your acoustic has RCs, then you can make a decision on the final one by having a poll on which acoustic performs better. The one that does can proceed to be your final release. The first few days, your acoustic will go under heavy scrutiny. People will find faults. Pay attention to them and correct them. If you do a large amount of corrections, you can release it as a v2 of your acoustic so that it is regularly updated. If you follow these tips and take feedback into consideration then you will have loyal acoustic users who will further spread your success.
Lastly, I wish you the best of luck
May the force be with you
