GarageBand Essential Sounds Install from Self Service

jesmith
New Contributor II

Hello,

I am trying to update our method of deploying out the essential sounds for GarageBand through Self Service. In the past, I had leveraged the Carl Ashley AppleLoops script (it worked great!). After Apple removed Python from the base installation of macOS, I had been limping along with installing Python on the devices that were needing the sounds. This has posed other complexities.

Currently, I am testing out installing all of the sound packages needed for the Essential Sounds from a cached copy of those packages on the laptop. This has not produced the desired results yet. The user is still prompted to install the sounds when launching GarageBand. All of the sounds that should be available from the Essential Sounds are present in GarageBand. The loops have also been reindexed in hopes that would resolve the issue.

I would appreciate any help that anyone has to offer.

Thanks!

14 REPLIES 14

mickgrant
Contributor III

Im also trying to deal with this at the moment

bfrench
Contributor III

Reach out to your Apple SE.  Something was mentioned in a recent Apple session I attended - not sure of the "agreements" for sharing...

bbarciz
Contributor

Hi, Curious if you ever found a way to address this?

kacey3
Contributor III

I am just now facing this as well. Was really hoping for a solution that wasn't "download and package all of the essential files."

I totally understand that!  We gave up, because it was only a limited number of computers that we needed it on, and I sent a tech to each machine to just log in and start them.  Thankfully, they are per machine and not per user if you are in a multi-account environment.

kacey3
Contributor III

I am almost there. We only have one class that has specifically requested to use GarageBand, so that's only 20 computers... but I fear as soon as one class starts using it, others will follow, and that could expand to as many as 100 more computers. Oye!

jesmith
New Contributor II

I have followed several different methods that I have found online to resolve this issue. The solutions that Apple has provided me also have not solved the issue for me. Our environment is too large to have our techs enter in admin passwords for each user who would like to use Garageband. At this point Garageband is mostly unused in our environment due to the installation issues.

If I do find a solution that works for us, I will certainly share it out with everyone.

MCerano
New Contributor II

Hello,

Just wondering if you have been able to find a working solution to this. While our environment isn't too large ~30 machines, I'd like to see if there was a good way to fully automate this process with little involvement from admins.

I have not re-visited it from my previous post.  Certainly curious if others have made any progress though!

kacey3
Contributor III

We received a command line tool from our Apple Support team that allowed us to write scripts to download the sound libraries. I am not at liberty to share the command line tool directly, but if you have a contact at Apple, they may be able to help you out. 

The tool is simply called "Loops."

user-gssZPuMBaw
New Contributor

Did anyone find a proper solution for this?

I did not.  I just had a tech go complete the task 1 time on each computer due to a limited number of computers that they were requesting it on.

I was able to obtain the Apple "Loops" software through our Apple rep but I wasn't able to get it to work. The instructions were rather complex and the audio production instructor didn't need to have all of the instrument plug ins after all. I may revisit this in the future if necessary.

kacey3
Contributor III

Since you were able to get the loops.sh script, here is the script that I wrote to run the loops script from a policy. Note that we packaged the loops script and deploy it as part of the policy before the below script runs.

FWIW: Parameter 4 in your policy should have the exact command line instructions you wish to add to the loops command. Parameter 5 is either "y or n" depending on whether you want to remove the loops script after the install is complete.

#!/bin/bash

###################################################################################################################################
#
# Install Sound Libraries
# Written by KClose -   Created 2025/02/21
#
# Calls the Apple loops.sh script from /usr/local/bin/Loops.sh
#   The "loops" script must have been deployed before running the script. Be sure to include it in a policy.
#
###################################################################################################################################

### VARIABLES ###

# Retrieve Command Line Arguments
if [ "$4" != "" ]; then
    cliArguments="$4"
else
    cliArguments=""
fi

# Retrieve cleanup command
if [[ $5 == [Yy] ]]; then
    echo "Loops.sh will be deleted when the script completes. It will need to be reinstalled for future command calls."
    cleanup="true"
else
    echo "Loops.sh will not be deleted and will be available for future command calls."
fi

echo "Script command to be run is: /usr/local/bin/Loops.sh $cliArguments"

### MAIN SCRIPT ###

# Check for Loops.sh
if [ -f '/usr/local/bin/Loops.sh' ]; then
    echo "Loops.sh script found. Installing sound libraries."
else
    echo "Loops.sh has not been installed. Be sure to include the pkg installer in the policy."
    exit 2
fi

# Call script (with optional arguments) and watch for errors.
if /usr/local/bin/Loops.sh $cliArguments; then
    echo "Loops script run successfully."
else
    echo "Loops script failed."
    exit 1
fi

# Cleanup Loops.sh
if [ "$cleanup" == "true" ]; then
    echo "Cleaning up: removing Loops.sh."
    rm -rf /usr/local/bin/Loops.sh
fi

exit 0