AutoVoice Turn Off AVC Beep - SOLVED

Discussion in 'AutoApps' started by RuggedHunter, Dec 23, 2015.

  1. RuggedHunter

    RuggedHunter Member

    Joined:
    Mar 23, 2015
    Messages:
    33
    Likes Received:
    3
    That annoying tone that Google voice recognition is listening...the reason why we have to mute the whole media stream...which very much limits the possibilities of using TTS features (like Maps directions & traffic updates) at the same time as Autovoice Continuous... I solved the problem. It works beautifully!

    Requires Root
    Requires Xposed
    Requires module: App Settings
    Requires Auto Input

    The Xposed module, App Settings, allows you to mute the sound for any individual app. It mutes all the sound for the app though, not just the voice recognition tones, so this setting needs to be managed with Tasker.

    I use a Variable Set event to trigger if %AVCONTINUOUS ~ true, to run a task that uses Auto Input to turn google app sound off. And another profile to turn google app sound back on when %AVCONTINUOUS ~ false. This effectively mutes that tone without having to make Autovoice mute the whole media channel, which is extremely useful for me!

    Profile: AVC On Listener (42)
    Event: Variable Set [ Variable:%AVCONTINUOUS Value:true User Variables Only:Off ]
    Enter: Turn AVC Profiles On (47)
    A1: If [ %GoogleSound !~ Off ]
    A2: Secure Settings [ Configuration:AutoInput: service.ServiceAccessibility - Enabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings Timeout (Seconds):0 ]
    A3: Set Clipboard [ Text:google app Add:Off ]
    A4: Launch App [ App:App Settings Data: Exclude From Recent Apps:Off Always Start New Copy:Off ]
    A5: AutoInput Action [ Configuration:Type: Text
    Value: name or package
    Action : Paste
    Is Tasker Action: false
    Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
    A6: AutoInput Action [ Configuration:Type: Text
    Value: com.google
    Action : Click
    Is Tasker Action: false
    Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
    A7: AutoInput Action [ Configuration:Type: Text
    Value: mute audio
    Action : Click
    Is Tasker Action: false
    Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
    A8: AutoInput Action [ Configuration:Type: Id
    Value: de.robv.android.xposed.mods.appsettings:id/menu_save
    Action : Click
    Is Tasker Action: false
    Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
    A9: AutoInput Action [ Configuration:Type: Id
    Value: android:id/button1
    Action : Click
    Is Tasker Action: false
    Check Screen State: false Package:com.joaomgcd.autoinput Name:AutoInput Action Timeout (Seconds):20 ]
    A10: Perform Task [ Name:Kill Current App Priority:%priority+1 Parameter 1 (%par1): Parameter 2 (%par2): Return Value Variable: Stop:Off ]
    A11: Secure Settings [ Configuration:AutoInput: service.ServiceAccessibility - Disabled Package:com.intangibleobject.securesettings.plugin Name:Secure Settings Timeout (Seconds):0 ]
    A12: Variable Set [ Name:%GoogleSound To:Off Do Maths:Off Append:Off ]
    A13: End If
     
  2. RuggedHunter

    RuggedHunter Member

    Joined:
    Mar 23, 2015
    Messages:
    33
    Likes Received:
    3
  3. joaomgcd

    joaomgcd Administrator Staff Member

    Joined:
    Feb 3, 2015
    Messages:
    9,479
    Likes Received:
    806
    Awesome, thanks for sharing :D Wish there was a more direct way to do it without root but at least there's a way! Thanks!
     
    RuggedHunter likes this.
  4. L.Drake

    L.Drake Member

    Joined:
    Feb 12, 2015
    Messages:
    61
    Likes Received:
    1
    Is there a solution NOT using xposed? I have yet to get it working with my hammerhead
     
  5. RuggedHunter

    RuggedHunter Member

    Joined:
    Mar 23, 2015
    Messages:
    33
    Likes Received:
    3
    As far as I can tell this is the only viable solution. The sound file is hidden in the apk and is called open_mp3.mp3 I tried modifying the apk by renaming and/or deleting that file....everything on Google app works afterwards, except voice recognition causes a force close. If you can figure that out, I think it's the next best bet.

    ...there are also .wav files with names that sound relevant in that folder, but I can't even play them...I get an error saying it's not really a wav file.
     
  6. Evil Genius

    Evil Genius Member

    Joined:
    Mar 5, 2015
    Messages:
    112
    Likes Received:
    9
    Thank you sooooooo much @RuggedHunter . I needed this.

    I have a question though, couldnt you replace the MP3 with a different tone or sound and replace the original MP3 with the same name? That way it wont force close and you will have a different sound that plays when it is listening.

    Or maybe getting a half second of a MP3 with no audio and replacing the original MP3. That way, the app still plays the MP3 when listening except the MP3 will be a blank quiet MP3.
     
  7. Evil Genius

    Evil Genius Member

    Joined:
    Mar 5, 2015
    Messages:
    112
    Likes Received:
    9
  8. RuggedHunter

    RuggedHunter Member

    Joined:
    Mar 23, 2015
    Messages:
    33
    Likes Received:
    3
    You're welcome @Evil Genius, I'm glad to help!

    Those are great ideas, and I've tried them, but modifying google app might be slightly outside my knowledge level. Ultimately, I think your suggestion would be the best solution if someone can figure it out. The sound file is located in velvet.apk which is hidden inside googlequicksearchbox.apk... Unpack googlequicksearchbox.apk and navigate to .../system/priv-app/velvet/velvet.apk and unpack that. Then navigate to /res/raw/open_mp3.mp3 and change whatever you want. Repack both and flash it. I've been able to flash successfully, and everything in the app works, but voice search causes a force close...I think because the sound file was modified.

    By "modified" I mean what I've tried so far:
    Delete the file altogether.
    Rename the file
    Replace the file with a silent sound file and rename to open_mp3.mp3
    Edit the original mp3 file and cut the sound out of it.

    Everything I've tried produces the same results...but I've never messed with apk files like this before...I think it's possible, but don't know what to do.

    Also, I'm using a custom theme-modified version of google app...it's developer thinks the sound files are hard coded into the app and I won't be able to figure this out.

    Lastly...there are a bunch of .wav files in res/raw/ that I think are related, but I can't even play them to know for sure...I get an error that they're not really .wav files...
     
  9. RuggedHunter

    RuggedHunter Member

    Joined:
    Mar 23, 2015
    Messages:
    33
    Likes Received:
    3
  10. Evil Genius

    Evil Genius Member

    Joined:
    Mar 5, 2015
    Messages:
    112
    Likes Received:
    9
  11. RuggedHunter

    RuggedHunter Member

    Joined:
    Mar 23, 2015
    Messages:
    33
    Likes Received:
    3
    Same result. Stable app until voice search is used.
     
  12. Evil Genius

    Evil Genius Member

    Joined:
    Mar 5, 2015
    Messages:
    112
    Likes Received:
    9
    I'm going to private message you my email address. Send me the original open_mp3.mp3 file. Then I will take out the audio with my audio editing software and send it back to you. Might work that way.
     
  13. RuggedHunter

    RuggedHunter Member

    Joined:
    Mar 23, 2015
    Messages:
    33
    Likes Received:
    3
    @joaomgcd

    So, I've run into issues using this method, but I think it's fixable. Autovoice Continuous is not consistently receiving voice commands when Don't Mute is selected in settings and App Settings is muting all audio from Google Now. Voice commands directly to the Google Now app are received and processed fine though.

    I think it has to do with how App Settings achieves mute by avoiding the MediaPlayer.start() call altogether rather than setting the volume to 0...although if the app being muted plays video it does just set the volume to 0. I think it's affecting the AutoVoice side and not the Google side, since voice commands in the Google Now app are working fine.

    Can you see any conflict that would cause autovoice continuous to not work properly due to this method of muting google app? Is it possible to 'fake' video play ability to induce App Settings to execute the Volume to 0 method?

    See these posts by App Settings author:

    http://forum.xda-developers.com/showthread.php?p=51433482

    http://forum.xda-developers.com/showthread.php?p=51528548
     
    Last edited: Dec 31, 2015
  14. islamHeralla

    islamHeralla New Member

    Joined:
    Sep 14, 2016
    Messages:
    1
    Likes Received:
    0
    hi , do u have any progress / solution on this subject ..
    thanks
     

Share This Page