- Script Code -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_BRONZE")
require("reaper_AZSTOKE_SILVER")
require("reaper_AZSTOKE_GOLD")
reaper.AZ_DeleteAllRegion(0)
itemList = reaper.AZ_GetSelectedMediaItemList(0)
color = reaper.AZ_GetRandomColor()
--Region setting
for i, value in pairs(itemList) do
startPos = reaper.AZ_GetMediaItemStartTimeSeconds(value)
endPos = reaper.AZ_GetMediaItemEndTime(value)
name = reaper.AZ_GetMediaItemName(value)
reaper.AZ_AddRegionMarker(0,startPos,endPos,name,0,color)
end
--render setting
renderPath = reaper.AZ_SetResoucePathFolder("AZData//Render",0)
renderFileName = "render"
jsonStr = reaper.AZ_ReadFile(renderPath,renderFileName..".txt")
render = reaper.AZ_Json_Deserialize(jsonStr)
path = reaper.AZ_SetProjectPathFolder("Rec",3)
render.OutputDir = path
--render
fileList = reaper.AZ_RenderToAudioFile(0,render)
if reaper.AZ_Wwise_Connect("127.0.0.1", 8080) then
parentPath = "\\Actor-Mixer Hierarchy\\Default Work Unit"
workunit = reaper.AZ_Wwise_CreateWorkUnit(parentPath, "PL0000")
mixer = reaper.AZ_Wwise_CreateActorMixer(workunit.Path,"pl0000")
container = reaper.AZ_Wwise_CreateContainer(mixer.ID,reaper.AZ_Wwise_ContainerType_Blend(),"pl0000_az")
for i, value in pairs(fileList) do
splitList = reaper.AZ_GetStringSplitList(value, "\\")
wwiseObj = reaper.AZ_Wwise_CreateSoundSFX(container.ID,value,splitList[#splitList],"PL0000")
end
end
- Warm Up -
書き出ししたいファイルをReaperプロジェクト内に並べておく
Renderの書き出し用ファイルを生成しておく
※Renderの設定ファイルの書き出し方法はこちら
- Script Detail -
dofile(reaper.AZ_GetLuaInitPath())
require("reaper_AZSTOKE_BRONZE")
require("reaper_AZSTOKE_SILVER")
require("reaper_AZSTOKE_GOLD")
・APIを利用可能にする設定
reaper.AZ_DeleteAllRegion(0)
・リージョンマーカーを削除
itemList = reaper.AZ_GetSelectedMediaItemList(0)
・選択メディアを配列出力
color = reaper.AZ_GetRandomColor()
・ランダム色を取得
--Region setting
for i, value in pairs(itemList) do
・選択メディアのリストをForループ
startPos = reaper.AZ_GetMediaItemStartTimeSeconds(value)
・選択メディアの開始位置(秒)を取得
endPos = reaper.AZ_GetMediaItemEndTime(value)
・選択メディアの終了位置(秒)を取得
name = reaper.AZ_GetMediaItemName(value)
・選択メディアの名前を取得
reaper.AZ_AddRegionMarker(0,startPos,endPos,name,0,color)
・リージョンを追加して各種情報を基に設定
end
--render setting
renderPath = reaper.AZ_SetResoucePathFolder("AZData//Render",0)
・レンダーファイルのパスのフルパス情報を取得
renderFileName = "render"
・取得するファイル名を設定
jsonStr = reaper.AZ_ReadFile(renderPath,renderFileName..".txt")
・テキストファイルを取得して中身を文字列に変換
render = reaper.AZ_Json_Deserialize(jsonStr)
・文字列変換したものを利用できる配列に切り替え
path = reaper.AZ_SetProjectPathFolder("Rec",3)
・プロジェクトのリソースフォルダに専用パスを設定
※日時分秒が設定されるため常に新しいフォルダが生成されます。
render.OutputDir = path
・書き出しレンダーにパスを改めて設定
--render
fileList = reaper.AZ_RenderToAudioFile(0,render)
・書き出しを行い、書き出したパス情報を取得
if reaper.AZ_Wwise_Connect("127.0.0.1", 8080) then
・Wwiseにコネクト対応
parentPath = "\\Actor-Mixer Hierarchy\\Default Work Unit"
・追加したい親のパスを設定
workunit = reaper.AZ_Wwise_CreateWorkUnit(parentPath, "PL0000")
・「PL0000」ワークユニットを作成
mixer = reaper.AZ_Wwise_CreateActorMixer(workunit.Path,"pl0000")
・「pl0000」アクターミキサーを作成
container = reaper.AZ_Wwise_CreateContainer(mixer.ID,reaper.AZ_Wwise_ContainerType_Blend(),"pl0000_az")
・作成したアクターミキサーの以下にブレンドコンテナを生成
for i, value in pairs(fileList) do
・書き出したファイルリスト分Forループ
splitList = reaper.AZ_GetStringSplitList(value, "\\")
・フルパスから階層で配列に切り出す対応
wwiseObj = reaper.AZ_Wwise_CreateSoundSFX(container.ID,value,splitList[#splitList],"PL0000")
・サウンドSFXを生成してファイル名を設定
※splitList[#splitList]これにより、フルパス情報から最後の波形名を取得することができます。
end
end
- API LINK -
AZ_GetSelectedMediaItemList
Wwise
AZSTOKE_Wwise_FullAuto_Blend_1
書き出しからブレンドコンテナの生成までを自動化


