Bosch Building Technologies

    cancel
    Showing results for 
    Search instead for 
    Did you mean: 

    How to load an Audio file in Bosch Cameras?

    NOTE: This is only experimental, not an Official feature!

    You need to first create an audio file in a compatible format (PCM, Mono, 8kHz, 16Bit).

     

    Step-by-step guide

     

    1. Open an existing audio file (wav, mp3, etc)
    2. Convert Stereo to Mono (if applicable): Tracks →Mix → Mix Stereo Track to Mono
    3. Tracks -> Resample -> 8000 Hz
    4. Effect -> Volume and Compression → Normalize -> Remove DC offset -> Apply
    5. File -> Export -> Export Audio -> Save as type: 'Other uncompressed files', Then click on ‘options’ Header: Raw (header-less), Encoding U-Law -> Save
    6. Rename output file from [xyz].raw to [xyz].g711

     

    _____________

     

    Now we need to load the audio file into the camera

    1. Using the WEB GUI->Configuration->Service->Maintenance-> Configuration upload.
      Note that not always the progress will be shown but upload will happen.
    2. The audio file can be played using the RCP+ command CONF_AUDIO_OUTPUT (0x09b9), payload=4 (Sample), which can of course also be sent to the device itself using ATSL scripting.

    3. A trigger can be any alarm or event:
      In web browser:

      Play the Audio file: 
      https://<IPaddress>/rcp.xml?command=0x09b9&type=T_DWORD&protocol=TCP&direction=WRITE&num=1&payload=4 

      Stop the Audio playback:
      https://<IPaddress>/rcp.xml?command=0x09b9&type=T_DWORD&protocol=TCP&direction=WRITE&num=1&payload=0 

    4. In the Alarm task Editor of the IP Camera Copy the below ATSL script:

      //{{audio_begin
      // Create 2 RCP commands, one to Play the file and one to stop playing the Audio
      RcpCommand playAudio := { Command("rcp.xml?command=0x09b9&type=T_DWORD&protocol=TCP&direction=WRITE&num=1&payload=4") };
      RcpCommand stopAudio := { Command("rcp.xml?command=0x09b9&type=T_DWORD&protocol=TCP&direction=WRITE&num=1&payload=0") };

      // E.g. For easy testing simply use the relay to trigger, but can just as easily be connected to IVA, Alarm Input etc.
      if(Relay(1)) then playAudio else stopAudio;
      //}}audio_end


      If there is no sound coming out of the camera then check in the audio settings for the output volume and always press ‘set’

    warnning.png Notes

    • there is no direct way to check it the audio file was loaded or not
    • if the file was not successfully loaded, the previously loaded audio file is not available too
    • the only way to check if the audio file was loaded is to send the rcpp command to play it, if it returns error then the file is not loaded
    • there is no official known audio file limit, only the testing for the article maintenance discovered: 250KB
    • this function is not available in CPP 13 and CPP 14 devices
    Version history
    Last update:
    ‎11-10-2023 09:30 AM
    Updated by:
    Contributors
    Icon--AD-black-48x48Icon--address-consumer-data-black-48x48Icon--appointment-black-48x48Icon--back-left-black-48x48Icon--calendar-black-48x48Icon--center-alignedIcon--Checkbox-checkIcon--clock-black-48x48Icon--close-black-48x48Icon--compare-black-48x48Icon--confirmation-black-48x48Icon--dealer-details-black-48x48Icon--delete-black-48x48Icon--delivery-black-48x48Icon--down-black-48x48Icon--download-black-48x48Ic-OverlayAlertIcon--externallink-black-48x48Icon-Filledforward-right_adjustedIcon--grid-view-black-48x48IC_gd_Check-Circle170821_Icons_Community170823_Bosch_Icons170823_Bosch_Icons170821_Icons_CommunityIC-logout170821_Icons_Community170825_Bosch_Icons170821_Icons_CommunityIC-shopping-cart2170821_Icons_CommunityIC-upIC_UserIcon--imageIcon--info-i-black-48x48Icon--left-alignedIcon--Less-minimize-black-48x48Icon-FilledIcon--List-Check-grennIcon--List-Check-blackIcon--List-Cross-blackIcon--list-view-mobile-black-48x48Icon--list-view-black-48x48Icon--More-Maximize-black-48x48Icon--my-product-black-48x48Icon--newsletter-black-48x48Icon--payment-black-48x48Icon--print-black-48x48Icon--promotion-black-48x48Icon--registration-black-48x48Icon--Reset-black-48x48Icon--right-alignedshare-circle1Icon--share-black-48x48Icon--shopping-bag-black-48x48Icon-shopping-cartIcon--start-play-black-48x48Icon--store-locator-black-48x48Ic-OverlayAlertIcon--summary-black-48x48tumblrIcon-FilledvineIc-OverlayAlertwhishlist