录音/制作/创作 吉他 扩声技术 视频技术 作品展示 生活 信息 更多... | 音频应用专卖店
REAPER

[请教/求助] reaper如何分离音频左右通道,然后分别操作左右的音频?

( 11 )
 
[收藏]

312

reaper如何分离音频左右通道,然后分别操作左右的音频?

很久以前,我好像在本论坛看过一个帖子,讲的是用Reaper制作消音伴奏的。大致是把伴奏音频轨左右声道分离,然后把其中一个声道反转等等等。
现在那个帖子找不到了。想尝试一下,竟然找不到分离左右声道的方法了,怎么弄,伴奏轨都是整体一块,做不到上下两个的。

应该怎么弄呢?我在action里面用split搜索都没找到需要的动作。

2673


也可以复制一轨,在这个菜单的第一项,把一轨设成Left,一轨设成Right。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

44
去年剛好有寫一個這個腳本...
拿去試試吧

  1. --[[


  2.       ___           ___           ___           ___           ___           ___     
  3.      /\  \         /\  \         /\  \         /\  \         /\  \         /\__\   
  4.     /::\  \       /::\  \       /::\  \       /::\  \       /::\  \       /::|  |   
  5.    /:/\:\  \     /:/\:\  \     /:/\:\  \     /:/\:\  \     /:/\:\  \     /:|:|  |   
  6.   /:/  \:\  \   /::\~\:\  \   /::\~\:\  \   /::\~\:\__\   /:/  \:\  \   /:/|:|  |__
  7. /:/__/ \:\__\ /:/\:\ \:\__\ /:/\:\ \:\__\ /:/\:\ \:|__| /:/__/ \:\__\ /:/ |:| /\__\
  8. \:\  \  \/__/ \/__\:\/:/  / \/_|::\/:/  / \:\~\:\/:/  / \:\  \ /:/  / \/__|:|/:/  /
  9.   \:\  \            \::/  /     |:|::/  /   \:\ \::/  /   \:\  /:/  /      |:/:/  /
  10.    \:\  \           /:/  /      |:|\/__/     \:\/:/  /     \:\/:/  /       |::/  /  
  11.     \:\__\         /:/  /       |:|  |        \::/__/       \::/  /        /:/  /   
  12.      \/__/         \/__/         \|__|         ~~            \/__/         \/__/   



  13. * ReaScript Name: Split Stereo Item to mono (with dialogue)
  14. * Author: todoublez / X-raym
  15. * Repository: CARBON Premium Scripts
  16. * Licence: GPL v3
  17. * REAPER: 5.0
  18. * Version: 1.2.0

  19. * Changelog:
  20. * v1.1 + Conditions to item selection.Preventing wrong track removal if mono item was selected.
  21. * v1.2 + Rearrange UndoBlock.
  22.          
  23. * v1.2 (2019-10-07)
  24. * v1.1 (2019-10-07)
  25. * v1.0 (2019-10-06)
  26. + Initial Release

  27. --]]

  28. ------------------------------USER--CONFIG--AREA---------------------------
  29.                                                                          --
  30.        Channel_number = 2-- mono:1 /stereo:2 /5.1surround:6 etc..        --
  31.                                                                          --
  32. -----------------------------SCRIPT--STARTS--BELOW-------------------------




  33. -------------------------USERS--ITEM--SELECTION'S--FILTER-----------------------



  34. function main(output) -- local (i, j, item, take, track)

  35.   reaper.Undo_BeginBlock() -- Begining of the undo block. Leave it at the top of your main function.


  36.   -- GET SELECTED NOTES (from 0 index)
  37.   for i = 0, count_sel_items-1 do
  38.         
  39.     item = reaper.GetSelectedMediaItem(0, count_sel_items-1-i)
  40.     take = reaper.GetActiveTake(item)
  41.    
  42.     if take ~= nil then
  43.    
  44.       if reaper.TakeIsMIDI(take) == false then
  45.    
  46.         take_pcm = reaper.GetMediaItemTake_Source(take)
  47.       
  48.         take_pcm_chan = reaper.GetMediaSourceNumChannels(take_pcm)
  49.         take_chan_mod = reaper.GetMediaItemTakeInfo_Value(take, "I_CHANMODE")
  50.         
  51.         select = 0
  52.         
  53.         if output == 1 and ((take_chan_mod > 1 and take_chan_mod < 67) or take_pcm_chan == 1) then
  54.           select = 1
  55.         end
  56.         
  57.         if output == 2 and (take_chan_mod > 66 or (take_chan_mod <= 1 and take_pcm_chan == output)) then
  58.           select = 1
  59.         end
  60.         
  61.         if output > 1 and take_chan_mod <= 1 and take_pcm_chan == output then
  62.           select = 1
  63.         end
  64.         
  65.         if select == 0 then reaper.SetMediaItemSelected(item, false) end
  66.       
  67.       else
  68.         reaper.SetMediaItemSelected(item, false)
  69.       end
  70.       
  71.     else
  72.       reaper.SetMediaItemSelected(item, false)
  73.     end
  74.       
  75.   end

  76. end


  77. ----------DESELECT--ITEMS--AFTER--FILTERING--USER'S--ITEMs--SELECTION--------


  78. count_sel_items = reaper.CountSelectedMediaItems(0)

  79. output = Channel_number--VALUE FROM "USER'S CONFIG AREA" FROM TOP OF THE SCRIPT

  80. if count_sel_items > 0 and output ~= "" then

  81.   reaper.PreventUIRefresh(1)
  82.   
  83.   output = tonumber(output)
  84.   
  85.   if output ~= nil then
  86.     main(output) -- Execute your main function
  87.   end
  88.   
  89.   reaper.UpdateArrange() -- Update the arrangement (often needed)

  90.   reaper.PreventUIRefresh(-1)
  91.   
  92. end



  93. --------------------SPLIT--STEREO--ITEMS--TO--2--MONO--ITEMS-------------------


  94. local function main()
  95.   reaper.PreventUIRefresh(1)

  96. local retval = reaper.ShowMessageBox( "Exploding selected items to mono items\nCreat folder(s) for each pair of L/R items?", "Split Stereo Item to mono", 3, 6, true )--pop up 2 choices to make


  97.         if retval == 6 then --6 means Yes

  98.              reaper.Main_OnCommand(40894, 0)--explode selected item(s)
  99.              reaper.Main_OnCommand(40006, 0)--remove selected item(s)
  100.            end

  101.         
  102.         if retval == 7 then --7 means No

  103.             reaper.Main_OnCommand(40894, 0)--explode selected item
  104.             reaper.Main_OnCommand( reaper.NamedCommandLookup("_SWS_SELTRKWITEM"), 0)--Select only track(s) with selected item(s)
  105.             reaper.Main_OnCommand(1041, 0)--Cycle track folder state
  106.             reaper.Main_OnCommand(40005, 0)--remove selected track(s)         
  107.           end
  108.          
  109.   reaper.Undo_EndBlock('explode', 0)--undo block ends here        
  110.   reaper.PreventUIRefresh(-1)
  111.   reaper.UpdateArrange()
  112.   reaper.UpdateTimeline()
  113. end
  114. main()

复制代码

它會問你要不要為新的左右聲道軌創建Folder 你可以選要或不要 然後就拆了
你可以選擇直接拷貝上面代碼或是下載附件腳本...我不知道你習慣怎麼新增腳本,所以我就兩個都附上了。
都是一樣的東西。

這個腳本是work on item的,所以記得選中你想拆的item再執行腳本哦



main core coded by X-raym
modded by todoublez
cheers
本帖最后由 todoublez 于 20-6-14 20:18 编辑

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
观众反应

312
bobo198504 发表于 20-6-14 19:36
也可以复制一轨,在这个菜单的第一项,把一轨设成Left,一轨设成Right。

谢谢,是这个。这个菜单名可不那么直观哈。

312
todoublez 发表于 20-6-14 20:11
去年剛好有寫一個這個腳本...
拿去試試吧

这个还真不知道。我把这个脚本放到了Options菜单下的Show Reaper Resource Path下面的Scripts下面,但是重启后在Action里面没找到它。

是不是我用的不对?应该怎么用?

1411
也可以这样自己组合一个custom action


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

1411
sylion 发表于 20-6-14 23:56
这个还真不知道。我把这个脚本放到了Options菜单下的Show Reaper Resource Path下面的Scripts下面,但是 ...

打开action list(默认快捷键:?)右下方ReaScript栏目点击右边的Load
定位到脚本文件,确定
本帖最后由 dsynoiz 于 20-6-15 00:00 编辑

44
sylion 发表于 20-6-14 23:56
这个还真不知道。我把这个脚本放到了Options菜单下的Show Reaper Resource Path下面的Scripts下面,但是 ...

按 Load ~只是放進去它不會抓到的,不然你就用dsynoiz custom action的組合方法,那個也可以哦! 而且可以自己組些其他你想要的額外東西
本帖最后由 todoublez 于 20-6-15 00:03 编辑

44
注意 這個腳本他可以自定義你想要剝離的聲道數,
在最上面

  1. ------------------------------USER--CONFIG--AREA---------------------------
  2.                                                                          --
  3.        Channel_number = 2-- mono:1 /stereo:2 /5.1surround:6 etc..        --
  4.                                                                          --
复制代码

現在Channel_number = 2 (因為針對立體聲所以是兩個通道)
你可以隨意設置你需要的通道數比如456...16等等

像我有時候需要做ambisonic的project就會需要4~16通道。
一但設置好了儲存,
腳本就會執行拆分前 識別選中的item哪些通道數符合條件。
然後他就只會拆分那些符合條件的items~



312
todoublez 发表于 20-6-14 23:59
按 Load ~只是放進去它不會抓到的,不然你就用dsynoiz custom action的組合方法,那個也可以哦! 而且可 ...

谢谢,会用了。Load一次,以后它就在那里了。

312
dsynoiz 发表于 20-6-14 23:58
打开action list(默认快捷键:?)右下方ReaScript栏目点击右边的Load
定位到脚本文件,确定
本帖最后由 ...

谢谢,搞定了。

312
dsynoiz 发表于 20-6-14 23:57
也可以这样自己组合一个custom action

学到了。Reaper真够强的。可以自定义一个动作序列。
观众反应
:Reaper 使人懶惰hahahaahahha
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索