x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

Sound cue pitch does not modulate on Android

I'm buillding a bubble-popping game. I have built a simple sound cue that plays a popping sound with two sources of modulation:

  1. The bigger the bubble, the lower the pitch

  2. The default Modulator which adds +/- 5% random modulation

When playing on desktop, this works fine. However, when packaging and running on an Android target device, the pitch of the pop sound is constant.

The same thing happens whether a build, sign, and install for distribution, or just Launch a level preview on-device from the toolbar. I know that the scaling factor is properly calculated, because it's also used to render the bubbles I'm popping, and those have the right scaling applied.

Using the latest 4.7.5 Unreal Engine, downloaded from launcher. Testing on Andriod 4.4.4 running on a OnePlus One 64 GB.

alt text

alt text

Product Version: Not Selected
Tags:
more ▼

asked Apr 13 '15 at 04:25 AM in Bug Reports

avatar image

jwatte
1.3k 48 41 88

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

1 answer: sort voted first

Pitch modulation isn't supported on Android right now - there's nothing in the code itself to implement it.

I think it has something to do with the way OpenSLES is implemented on Android.

However it would be nice to know if there are plans about this.

more ▼

answered Apr 13 '15 at 08:10 AM

avatar image

G4m4
690 27 15 34

avatar image jwatte Apr 13 '15 at 03:33 PM

Thanks for the answer. That's... astounding. I did pitch modulation in software on a Pentium II / 300 and it used less than one percent of the CPU. It's one of the first things anyone will implement in a software sound renderer, because it's the same thing as sample rate conversion. For this to be missing is ... I don't have words. Maybe I should have gone into liberal arts :-/ It's like saying "oh, yeah, vertex colors aren't supported" or something for graphics.

avatar image G4m4 Apr 13 '15 at 04:13 PM

Yeah, you could even say that it's sad. Epic is not to be blamed in this particular case, it really is an Android issue.

A workaround could be to create a custom procedural sound node and filling its internal buffer yourself based on the pitch value. However, the fact that no easy audio callback is available in UE4 makes this sort of requirements a lot harder than they should be to implement.

avatar image DAck Games Oct 03 '17 at 05:15 PM

This is still true today, with version 4.17.2 and Nougat apparently. It's a shame =(

avatar image CometGoat Jul 29 '18 at 02:29 PM

This is a real shame! It's just that extra bit difficult to reduce the repetitive nature of some sound effects. It's really not great that it's already a struggle to cut down package sizes for android!

Thanks for the concise answer. :)

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question