top of page
- 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 -

  1. 書き出ししたいファイルをReaperプロジェクト内に並べておく

  2. 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 -

Wwise

AZSTOKE_Wwise_FullAuto_Blend_1

書き出しからブレンドコンテナの生成までを自動化

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