How to put your song on the contact in the smartphone Xiaomi: all the ways

Setting a customized tune on a Xiaomi smartphone is a simple but not always obvious task. Users often find that standard MIUI settings do not allow you to select an arbitrary audio file from the device’s memory, offering only system ringtones, a problem that is especially relevant for owners of devices with MIUI 12-14, where the settings interface has changed markedly.

In this article, we will discuss all the current ways to assign your song to a contact, from standard methods through the Contacts app to workarounds using a file manager and third-party utilities, pay special attention to typical errors that may cause the melody to not play, and give recommendations for optimizing audio files for proper operation.

If you tried to change the ringtone through the settings, but your favorite track does not appear in the list - do not rush to abandon the idea. 90% of the time, the problem is solved in 2-3 minutes without installing additional programs.

Why can’t you just pick a song to contact?

The main reason for the restrictions lies in the security policy of Android and the features of the MIUI shell. Since Android 10, Google has tightened the rules for accessing applications to the file system, and Xiaomi has additionally implemented its own restrictions:

  • πŸ”’ Limited access to media files. The Contacts app can only view folders with system ringtones by default (/system/media/audio/ringtones) Standard directories for custom tunes.
  • πŸ“ No automatic scanning: Files uploaded to arbitrary folders (such as Download or Music) do not enter the media scanner database.
  • 🎡 Format requirements: Not all audio files are supported as ringtones:.mp3,.m4a (AAC) with a bitrate of up to 320 kbps and a duration of up to 30 seconds.

In addition, MIUI 13/14 has removed the ability to select files through a standard file manager directly from the contact interface, which is designed to simplify the interface, but in practice creates additional difficulties.

⚠️ Note: If you are using Xiaomi with global firmware (e.g. Redmi Note 11 or Xiaomi). POCO X4 Pro, some menu items may be called differently or not. In this case, use alternative methods from the pro-third-party app section.

Method 1: Standard Melody Assignment through the Contacts app

This method works on most Xiaomi devices with MIUI 12-14, but requires pre-production of an audio file.

  1. Place your audio file (e.g. song.mp3) in one of the ringtone system folders: /storage/emulated/0/Ringtones/ or /storage/emulated/0/Notifications/ If the folder doesn’t exist, create it manually through any file manager (e.g. Files by Google or standard Explorer from Xiaomi).
  2. Open the Contacts app and find the contact you want. Click on it, then tap the icon. βš™οΈ ("Edit”) in upper right corner.
  3. Scroll down to "Call Melody" (or Ring tone in English firmware). In the window that opens, select "Add ringtones" or "Local" (depending on the MIUI version).
  4. Your file should appear in the list. If it's not, click "Update" (icon) πŸ”„) or reboot the device.

If the file never appears, check:

  • πŸ”Š File format (should be.mp3,.m4a,.ogg).
  • πŸ“ Duration (optimum - up to 30 seconds).
  • πŸ“‚ The location folder (Ringtones or Notifications only).

Check the file format (MP3/AAC)

Cut the track to 30 seconds

Place the file in the /Ringtones/ folder

Reset the device

-->

Method 2: Using a file manager for manual assignment

If the standard method doesn't work, you can manually link the audio file to a contact via a file manager, which is suitable for MIUI 13/14 and does not require root rights.

Instructions:

  1. Install a file manager with support for hidden features, such as FX File Explorer or Solid Explorer (enable hidden files in the settings).
  2. Go to /data/data/com.android.providers.contacts/databases/ and find the contacts2.db file.
  3. Go back to the root directory and open the folder with your audio file. Long-term click on the file β†’ "Properties" β†’ "Open with" β†’ select "Contacts".
  4. The system will suggest you select a contact to assign a tune.

⚠️ Note: On some devices (e.g. Xiaomi) 12T or Redmi K50) file-access /data/data/ In this case, use the method with Zedge or other ringtone application.

πŸ’‘

If the file does not appear in the Open with the Help list, pre-instal any music playback app (like VLC) and select it as the default handler for audio files.

Method 3: Ringtone Maker (Zedge, Ringtone Maker)

The application side allows you to bypass the limitations of MIUI and assign any song to contact without manually copying files.

Zedge (free, there is advertising)

The app offers a large database of ready-made ringtones, but also allows you to download your own files:

  1. Install Zedge from Google Play.
  2. In the main menu, select "My sounds" β†’ "Local files".
  3. Find your audio file and click "Install as" β†’ "Rington for contact".
  4. Select a contact from the list and save the changes.

Ringtone Maker (for pruning and conversion)

If your file is too long or in the wrong format, this app will help you optimize it:

  • πŸŽ›οΈ Cut the track to 30 seconds (optimal length for ringtones).
  • πŸ”„ Convert to MP3 bitrate 192-320 kbps.
  • πŸ“² Save the file to the Ringtones folder.
AnnexAdvantagesDeficiencies
ZedgeLarge Ringtones Base, Local File SupportAdvertising requires access to storage
Ringtone MakerCutting and converting files, support for all formatsInterface in English, limited functionality in the free version
Files by GoogleBuilt into the system, does not require installationThere is no direct contact function

Zedge

Ringtone Maker

Standard settings of MIUI

Other (write in the comments)-->

Problem Solving: Why is the melody not played?

If you have assigned a song to contact, but you hear a standard ringtone when calling, check the following points:

1. File problems

  • πŸ”‡ The file is corrupted or has an incompatible format. Try saving it via Ringtone Maker.
  • πŸ“‰ Too low volume. Increase the sound level in the audio editor.
  • πŸ•’ Too long a track. MIUI Can cut the melody after 30 seconds.

System errors

  • πŸ”„ Reset the settings of the "Contacts" application: Settings β†’ Annexes β†’ Application management β†’ Contacts β†’ Warehouse β†’ Clear the data ⚠️ After that, you will have to reassign the tunes for all contacts!
  • πŸ“± Sometimes the media scanner doesn't update the database right away.

3. Features of firmware

On certain devices (e.g, POCO F4 Xiaomi 11 Lite NE) individual melodies only work for contacts saved on the SIM-Transfer the contact to the phone's memory:

  1. Open contact. β†’ "Edit".
  2. Click on the "Save in" field and select "Device".
  3. Save the changes and re-assign the melody.
What if all the individual tunes are missing after the MIUI update?
After major updates (e.g., from MIUI 13 to MIUI 14), the system can reset user ringtones. To recover them: 1. Check if your audio files are still in the /Ringtones/. 2. Reassign contact melodies manually (see Method 1). 3. If files are missing, restore them from a backup (e.g., via Google Drive or Mi Cloud). 4. In the future, backup /Ringtones/ folder before updating.

Alternative methods for advanced users

If the standard methods don't work, you can use workarounds, which take longer, but are guaranteed to solve the problem.

Method 1: Use of ADB (without root)

With Android Debug Bridge, you can manually log the path to the audio file in your contact database.

  • πŸ–₯️ Computer with installed ADB-driver.
  • πŸ“± Switched on "Debugging by" mode USB" on a smartphone (Settings) β†’ The phone. β†’ Version. MIUI β†’ 7 times press to activate the developer mode, then Settings β†’ Additionally. β†’ For developers β†’ Debugging by USB).
  • 🎡 Audio file format MP3, placed /sdcard/Ringtones/.

Commands to execute (type in Command Prompt or Terminal):

adb shell content insert --uri content://com.android.contacts/raw_contacts --bind name: "NameContact"


adb shell content insert --uri content://com.android.contacts/data --bind raw_contact_id:1 --bind mimetype:"vnd.android.cursor.item/ringtone" --bind data1:"file:///sdcard/Ringtones/song.mp3"

Replace the name and song.mp3 with current values.

Method 2: Create a Task in Automate or Tasker

Automation allows you to assign a unique tune even without changing system files.

  1. Create a new stream ("Flow").
  2. Add the "Phone ringing" block.
  3. Please specify the condition: "Contact name" = the name of your contact.
  4. Add the action "Play audio" and select your file.
  5. Save and activate the flow.

⚠️ Attention: When in use ADB Or Tasker, be careful with commands. Incorrect changes to your contact database can cause you to lose your contacts. Before experimenting, back up your contacts through Settings. β†’ Google β†’ Backup.

Optimizing audio files for ringtones

To play the melody clearly and without delay, the file must meet several criteria:

ParameterRecommended valueWhy is it important?
FormatMP3 or M4A (AAC)MIUI is best supported by these formats. WAV or FLAC may not play.
Bitreit192–320 kbpsA high bitrate (>320 kbps) can cause lags when played.
Duration5-30 secondsLong tracks are cut by the system or are not reproduced from the beginning.
Loudness-16 LUFS (mobile-standard)Too quiet files will be hard to hear through the speaker.

To optimize the file, use:

  • 🎧 Audacity (free audio editor for PC).
  • πŸ“± MP3 Cutter and Ringtone Maker for Android).
  • 🌐 Online services like MP3Cut.

Example of commands for FFmpeg (if you are working on a PC):

ffmpeg -i input.mp3 -ss 00:00:10 -t 00:00:20 -b:a 192k -vn output.mp3

This command cuts the track from the 10th to the 30th second and converts to MP3 with a bitrate of 192 kbps.

πŸ’‘

The ringtone file must be short (up to 30 seconds), MP3/AAC and with a bitrate of no more than 320 kbps. Otherwise, MIUI may ignore it or play it with errors.

FAQ: Frequent questions about custom tunes in Xiaomi

Can I assign different tunes to a call and messages from a single contact?
Yes, but only with third-party apps like Zedge or Ringtone Maker. MIUI Allows you to assign only one tune per contact (which will be used for both calls and notifications) To separate sounds: Assign a ringtone to call through standard settings. For notifications, use Zedge: select contact β†’ "Set up how" β†’ "The sound of the notification".
Why did all the individual ringtones disappear after the MIUI update?
This is a known problem when switching to a new shell. The system resets user settings of ringtones, but the audio files themselves remain in place. To restore: Check if your files are still in the /Ringtones/ folder. Reboot the device - sometimes the media scanner does not update the database immediately. Reassign the contact melodies manually (see Method 1). In the future, before updating, back up the /Ringtones/ folder.
How to assign a melody to a contact if it is saved to SIM-map?
MIUI does not support customized ringtones for contacts saved on SIM. Solutions: Move the contact to the phone memory: Contacts β†’ Select a contact β†’ Edit β†’ Save in: Device Use Tasker or Automate to create a rule for playing an audio file when calling from a specific number (even if the contact is on SIM).
Can I put a song in touch without copying it to the Ringtones folder?
Yes, but with limitations: You can select a file from any folder through Zedge or Ringtone Maker, but once the device is rebooted, you can lose communication. MIUI 14 adds cloud ringtones support (e.g. from Mi Cloud), but the functionality is unstable. For reliability, it is best to put the file in /Ringtones/.
Why does my melody play from the middle, not from the beginning?
This is because: Too long a file (MIUI can skip the start). Solution: cut the track to 20 to 30 seconds; incorrect metadata in the file; use Audacity or MP3Tag to clean tags; codec features; try converting the file to M4A (AAC) instead of MP3.