- Script Code -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_BRONZE")
require("reaper_AZSTOKE_SILVER")
require("reaper_AZSTOKE_GOLD")
retval, inputList = reaper.AZ_GetUserInputList("", 2, "Source Path,Excel Path", ",")
if retval then
sourceParentPath = inputList[1]
excelPath = inputList[2]
track = reaper.AZ_InsertTrackSearchUniqueOnly(0, "work")
sourcePathList = reaper.AZ_GetFilePathList(sourceParentPath, "wav")
items = reaper.AZ_InsertMediaItems(track, sourcePathList, 0, 1)
excel = reaper.AZ_Excel_OpenFile(excelPath)
worksheet = reaper.AZ_Excel_OpenWorksheet(excel, "volume")
for i, item in pairs(items)do
itemName = reaper.AZ_GetMediaItemName(item)
searchResult = reaper.AZ_Excel_SearchRowsInWorksheet(worksheet, itemName, "A")
volume = 0
for k, v in pairs(searchResult["Cells"]) do
volume = v["B"]
end
if volume ~= 0 then
reaper.AZ_SetMediaItemVolume(item, volume)
end
end
reaper.AZ_Excel_CloseFile(excel)
end
- Warm Up -
Excelファイルを用意する
インポートする音声ファイルを用意する
- Script Detail -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_BRONZE")
require("reaper_AZSTOKE_SILVER")
require("reaper_AZSTOKE_GOLD")
・RIGDOCKSをインポート
retval, inputList = reaper.AZ_GetUserInputList("", 2, "Source Path,Excel Path", ",")
・必要事項の入力を要求
if retval then
sourceParentPath = inputList[1]
・入力値から音声ファイルの親フォルダのパスを取得
excelPath = inputList[2]
・入力値からExcelファイルのパスを取得
track = reaper.AZ_InsertTrackSearchUniqueOnly(0, "work")
・「work」という名前のトラックを作成
sourcePathList = reaper.AZ_GetFilePathList(sourceParentPath, "wav")
・親フォルダの配下にある音声ファイルのパスを全て取得
items = reaper.AZ_InsertMediaItems(track, sourcePathList, 0, 1)
・音声ファイルを「work」トラックに挿入
excel = reaper.AZ_Excel_OpenFile(excelPath)
・エクセルファイルを開く
worksheet = reaper.AZ_Excel_OpenWorksheet(excel, "volume")
・エクセルファイルの「volume」ワークシートを開く
for i, item in pairs(items)do
itemName = reaper.AZ_GetMediaItemName(item)
・メディアアイテムの名前を取得
searchResult = reaper.AZ_Excel_SearchRowsInWorksheet(worksheet, itemName, "A")
・ワークシート内にメディアアイテム名に対応する行があるか検索
volume = 0
for k, v in pairs(searchResult["Cells"]) do
volume = v["B"]
・対応する行がある場合、B列に記載された音量値を取得する
end
if volume ~= 0 then
reaper.AZ_SetMediaItemVolume(item, volume)
・音量値が取得できた場合のみ、メディアアイテムの音量値をその値に設定する
end
end
reaper.AZ_Excel_CloseFile(excel)
・Excelファイルを閉じる
end
- API LINK -
Excel
AZSTOKE_Excel_SetVolume_1
音声ファイルをReaperにインポートし、音量値をExcelファイルのデータに合わせる


