Having created several Instagram effects for clients and my own personal shenanigans, I thought it might be helpful to provide some tips on how artists can integrate music into their filters. For a more generic introduction to integrating audio into your effect, check out Instagram’s docs. First, let’s talk about the limitations of audio on Instagram.
Instagram requires that audio be Mono and in the .M4A format with a sampling frequency of 44.1kHz. I believe this is the same audio format Instagram uses for most content you find in your timeline or within stories. Some artists may find that this compression greatly reduces the quality of their music. However, I’ve found that it should work fine for these purposes. I’ve been using an online converter to convert my audio accordingly.
Effect Size Limit
The overall size an Instagram filter can be at the moment is 4MB. This includes all of the images, scripts, and audio files you may be using. You’ll want to manage your audio needs to meet these limitations. I’ve noticed that a 10 second audio file only weighs around 100kb once compressed to .M4A. One thing worth considering is that one Instagram story is at maximum 15 seconds long so you may not need to import an entire song and rather just the sweetest section.
Instagram is Muted (by default)
You may have noticed that videos are muted by default when scrolling through your timeline. Instagram takes the same approach on effects. Users must adjust their volume to unmute the app in order to hear the audio on your effect in realtime. One way to encourage this is by adding the custom instruction which informs your user that the effect has sound. You can make this instruction appear on effect load. Note: Regardless of whether or not the user hears the audio in realtime, your audio will be present in their recorded video.
When Filter Opens
Your first thought may be to autoplay the audio right when the user opens the effect. As soon as the user unmutes the app, they will hear your audio. The portion which actually ends up in the recorded video is whatever is playing at the time of recording. This doesn’t give you much control over which portion of the song actually ends up in the final video. However, I think this works really well when the audio is more of a background texture to the effect.
When Recording Begins
If you like a bit more control over which portion of audio appears in the recorded video, you can begin playback as soon as the user begins recording a video. Regardless of whether the user unmutes their app, the audio you provide will be present in their recorded video. The surprising presence of your audio will likely be a delight to your user.
At a Specified Moment
Depending on the construction of your effect, it may make sense to play audio at a specific moment. Consider the “What Pure Moods Song Are You?” filter I put together. This effect works a lot like the popular random quiz filters which have taken Instagram by storm. However, instead of simply providing the name of the song, our filter also plays the song. The playback begins as soon as the randomizer completes.
Instagram provides functionality for looping your audio. Consider choosing a portion of the track which can loop seamlessly, such as the guitar rift from “What’s the Frequency, Kenneth?” we used on the R.E.M. filter above.
Turn Off Microphone
When the user begins to record their video, Instagram will also record the audio which is coming through their microphone. This can be counter-productive when providing your own audio because the microphone may also record your provided audio, creating a sort of echo in the recorded video. You can prevent this turning the microphone off within Spark AR.