top of page
- Script Code -

dofile(reaper.AZ_GetLuaInitPath())

require("reaper_AZSTOKE_SILVER")

require("reaper_AZSTOKE_GOLD")


cancelType,inputList = reaper.AZ_GetUserInputList("LOUDMATCHIFY",2,"ListPath:,WavPath:","D:/,D:/")


jsonStr = reaper.AZ_ReadFile(inputList[1],"savedata.txt")

loudnessTable = reaper.AZ_Json_Deserialize(jsonStr)


if cancelType then

   fileList = reaper.AZ_GetFilePathList(inputList[2],"wav")

   

   startPos = 0

   mediaInterval = 1

   

   for i, value in pairs(fileList) do

       item = reaper.AZ_InsertMediaTrackIdSecond(0,0,value,0,startPos)

       name = reaper.AZ_GetMediaItemName(item)

       reaper.AZ_SetMediaItemHANDAUTOMER(item,1)

       reaper.AZ_LOUDMATCHIFY_SetVolumeForMediaItem(item ,loudnessTable, 1,0)

       maxMomentary = reaper.AZ_GetMediaItemLoudnessMaxMomentary(item)

       endPos = reaper.AZ_GetMediaItemEndTime(item)

       startPos = endPos + mediaInterval

       Msg(name)

       Msg(maxMomentary)

   end

end

- Warm Up -

  • Create a track

  • Generate save data that can be used with LOUDMATCHIFY

  • Prepare the file you want to adjust the volume of

- Script Detail -

dofile(reaper.AZ_GetLuaInitPath())

require("reaper_AZSTOKE_SILVER")

require("reaper_AZSTOKE_GOLD")


・Enable SILVER and GOLD


cancelType,inputList = reaper.AZ_GetUserInputList("LOUDMATCHIFY",2,"ListPath:,WavPath:","D:/,D:/")


・Enable text input.


jsonStr = reaper.AZ_ReadFile(inputList[1],"savedata.txt")


・Search the save-data folder for savedata.txt and get its string.


loudnessTable = reaper.AZ_Json_Deserialize(jsonStr)


・Replace the retrieved string with an array


if cancelType then


・If OK is pressed in the text input dialog, run the following


   fileList = reaper.AZ_GetFilePathList(inputList[2],"wav")


・Get the list of files to adjust

   

   startPos = 0

   mediaInterval = 1

   

   for i, value in pairs(fileList) do


・For loop over the retrieved list


       item = reaper.AZ_InsertMediaTrackIdSecond(0,0,value,0,startPos)


・Insert the file into track 1 and get the item


       name = reaper.AZ_GetMediaItemName(item)


・Get the item name and assign it to name


       reaper.AZ_SetMediaItemHANDAUTOMER(item,1)


・Apply HANDAUTOMER compression ratio 1 to the item


       reaper.AZ_LOUDMATCHFY_SetVolumeForMediaItem(item ,loudnessTable, 1,0)


・Run LOUDMATCHIFY on the item, loading the saved-data array to adjust the volume


       maxMomentary = reaper.AZ_GetMediaItemLoudnessMaxMomentary(item)


・Output the item's current maxMomentary


       endPos = reaper.AZ_GetMediaItemEndTime(item)


・Get the end position


       startPos = endPos + mediaInterval


・Set the next audio position


       Msg(name)

       Msg(maxMomentary)


・Output the name and loudness value to the console


   end

end

- API LINK -

AZ_GetUserInputList

AZ_ReadFile

AZ_Json_Deserialize

AZ_GetFilePathList

AZ_InsertMediaTrackIdSecond

AZ_GetMediaItemName

AZ_SetMediaItemHANDAUTOMER

AZ_LOUDMATCHFY_SetVolumeForMediaItem

AZ_GetMediaItemLoudnessMaxMomentary

AZ_GetMediaItemEndTime

- API LINK -

LOUDMATCHIFY

AZSTOKE_LOUDMATCHIFY_ACTION_1

"LOUDMATCHIFY" -Part 2- Implementing name detection loudness

01_BRONZE_ss_edited.png
01_SILVER_edited_edited.png
03_GOLD_edited_edited.png
bottom of page