1个文件中的5个独立音频通道(5 individual audio channels in 1 file)
不知道在哪里提出这个问题,所以我提前道歉。
我有一个测试设置,在一个房间里有5个扬声器,围绕着一对麦克风。 我正在从扬声器的不同角度测试麦克风的灵敏度。 我有一个放大器/调音台连接到它们并控制各个通道。
我想在一个文件中放入5个音频通道。 如果有适当的延迟,我希望一次只能播放一位发言者。 因此,通道1进入扬声器1,通道2进入扬声器2,依此类推。
我一直在使用Audacity来创建文件。 但是,通道4和5在两个扬声器中播放而不是一个。 而频道3听起来很弱。 我想这是因为5.1标准,其中通道4/5必须处理'后左/右'而通道3用于子。
有没有一种文件格式可以让我有纯粹的个人频道进入扬声器? 我不限于文件格式,但到目前为止我已经尝试了wav,ogg和flac。
Not sure where to put this question, so I apologize in advance.
I have a test set up with 5 speakers in a room, surrounding a pair of mics. I'm testing the sensitivity of the mics from the different angles of the speakers. I have an amp/mixer connected to them and have control of individual channels.
I want to put 5 channels of audio in a single file. With appropriate delays, I want only one speaker to play at a time. So channel 1 goes to speaker 1, channel 2 to speaker 2 and so on.
I've been using Audacity to create the files. However channel 4 and 5 plays in two speakers instead of one. And channel 3 sounds very weak. I suppose this is because of the 5.1 standard where channel 4/5 has to address 'rear-left/right' and channel 3 is for subs.
Is there a file format that will allow me to have pure individual channels going into the speaker? I'm not limited to the file format, but I've tried wav,ogg and flac so far.
原文:https://stackoverflow.com/questions/38922604
最满意答案
你想要做的是做一个循环,直到用户选择在输入框中点击取消停止。 要启动循环,请设置循环检查变量,“continue”等于在询问用户是否要继续的框上单击“是”的结果。
然后,在执行代码后,询问用户是否要添加另一个单词。 如果没有,循环将结束。 如果是这样,循环将继续并执行另一个单词。
这是一个开始......
Dim Continue As Long Dim findWhat As String Dim LastLine As Long Dim toCopy As Boolean Dim cell As Range Dim i As Long Dim j As Long Dim newsheet As Worksheet s = 2 Continue = vbYes 'initialize loop variable Do While Continue = vbYes 'keep getting more use input until they state they do not want to continue findWhat = CStr(InputBox("What word would you like to search for today?")) lastLine = ActiveSheet.UsedRange.Rows.Count If findWhat = "" Then Exit Sub j = 1 For i = 1 To lastLine For Each cell In Range("BU1").Offset(i - 1, 0) If InStr(cell.Text, findWhat) <> 0 Then toCopy = True End If Next If toCopy = True Then Set newsheet = activeworkbook.sheets.add newsheet.name = findWhat Rows(i).Copy Destination:=newsheet.Rows(j) j = j + 1 End If Set newsheet = Nothing toCopy = False Next i s = s + 1 'find out if user wishes to continue. Continue = MsgBox(((j - 1) & " results were copied, do you have more keywords to enter?"), vbYesNo + vbQuestion) Loop
What you want to do is make a loop that will continue until the user chooses to stop by hitting cancel in your input box. To start the loop, set the loop check variable, "continue" to be equal to the result of clicking 'yes' on the box that asks if the user wants to continue.
Then, after executing the code, ask the user if they wish to add another word. If not, the loop will end. If so, the loop will continue and do another word.
Here's a start....
Dim Continue As Long Dim findWhat As String Dim LastLine As Long Dim toCopy As Boolean Dim cell As Range Dim i As Long Dim j As Long Dim newsheet As Worksheet s = 2 Continue = vbYes 'initialize loop variable Do While Continue = vbYes 'keep getting more use input until they state they do not want to continue findWhat = CStr(InputBox("What word would you like to search for today?")) lastLine = ActiveSheet.UsedRange.Rows.Count If findWhat = "" Then Exit Sub j = 1 For i = 1 To lastLine For Each cell In Range("BU1").Offset(i - 1, 0) If InStr(cell.Text, findWhat) <> 0 Then toCopy = True End If Next If toCopy = True Then Set newsheet = activeworkbook.sheets.add newsheet.name = findWhat Rows(i).Copy Destination:=newsheet.Rows(j) j = j + 1 End If Set newsheet = Nothing toCopy = False Next i s = s + 1 'find out if user wishes to continue. Continue = MsgBox(((j - 1) & " results were copied, do you have more keywords to enter?"), vbYesNo + vbQuestion) Loop
相关问答
更多-
将列从一个Excel工作表复制到另一个Excel工作表[关闭](Copy column from one Excel sheet to another Excel sheet [closed])[2022-07-15]
假设您有两个工作簿(源和目标),并且您希望将源工作簿中的A列复制到目标工作簿中的A列。 Sub CopyColumnToWorkbook() Dim sourceColumn As Range, targetColumn As Range Set sourceColumn = Workbooks("Source").Worksheets("Sheet1").Columns("A") Set targetColumn = Workbooks("Target").Worksheets( ... -
VB脚本将所有工作表数据复制到另一个Excel工作表(VB Script to copy all sheet data one excel to another excel sheet)[2023-03-11]
虽然我开始认为您想要将所有数据跨多个选项卡复制到一个选项卡,但如果您确实希望将数据保存在单独的选项卡上,则可以使用类似这样的内容循环遍历A.xlsx中的工作表并复制他们到B.xlsx: Sub copy_sheets() Dim eapp As Excel.Application Dim wkbk_from As Workbook Dim wkbk_to As Workbook Dim wksh As Worksheet Set eapp = CreateObjec ... -
代码中有两个错误 在第3行,这不是在同一行中定义多个变量类型的正确方法。 你必须定义它们中的每一个。 在第10行,让我们说你的lastrow是“20”。 它会将范围设置为“D220”,这也不是您想要的。 Sub CopyInvoiceNo() Dim ws As Worksheet, ws1 As Worksheet Dim lastrow As Long Set ws = Sheets("DATEV_RAB_UNVERBINDLICH") Set ws1 = Sheets("Ready to uploa ...
-
将活动单元复制到另一个表单(Copy Active Cell to another sheet)[2022-04-29]
如果你必须使用Selection (尽管建议远离它),那么使用下面的代码: Sub CopyPaste_toA9() Selection.Copy Sheets("Sheet1").Range("A9").PasteSpecial xlPasteValues End Sub If you have to use Selection (even though it's recommended to stay away from it), then use the code below: Sub Copy ... -
你想要做的是做一个循环,直到用户选择在输入框中点击取消停止。 要启动循环,请设置循环检查变量,“continue”等于在询问用户是否要继续的框上单击“是”的结果。 然后,在执行代码后,询问用户是否要添加另一个单词。 如果没有,循环将结束。 如果是这样,循环将继续并执行另一个单词。 这是一个开始...... Dim Continue As Long Dim findWhat As String Dim LastLine As Long Dim toCopy As Boolean Dim cell As Ran ...
-
Multicriteria在VBA中搜索关键字并复制到另一个工作表(Multicriteria search for keyword and copy to another sheet in VBA)[2021-09-11]
您只需在测试/比较循环中添加一点: Option Explicit Public Sub Macro2() ' ' Macro2 Macro ' ' Keyboard Shortcut: Ctrl+h ' set variables Dim Continue As Long Dim findWhat As String Dim LastLine As Long Dim toCopy As Boolean Dim cell As ... -
如果我理解正确,我想你想要这个: Sub test() LastRow_Sheet1 = Worksheets("Sheet1").UsedRange.Rows.Count LastRow_Sheet2 = Worksheets("Sheet2").UsedRange.Rows.Count For x = 2 To LastRow_Sheet1 po_number = Worksheets("Sheet1").Cells(x, 7).Value ...
-
问题出在以下代码行: rngCalcTemplate.Copy shtDest.Range("A" & Rows.Count).End(xlDown) 如果将光标放在A列的最后一个单元格(即在"A" & Rows.Count A1048576 ,可能是A1048576 ),然后按下Ctrl-Down ,则仍然位于列A的最后一个单元格中。 如果您尝试从该单元格开始粘贴6行信息,则不会有空间这样做 - 只有一行“可粘贴”区域可供使用。 您可能想要找到该列中最后一个使用过的单元格后面的行,因此您的代码应该是: ...
-
要实现您的需求,请执行以下操作(假设您的数据位于A:C行,从第2行开始,即有标题): 键入D2(附加列): =IF(OR(A2:C2="eee"),1,0) ,但按CTRL + SHIFT + ENTER而不是通常的ENTER - 这将定义ARRAY公式并将导致{}它周围的括号(但不要手动输入!)。 根据需要自动填充公式。 将过滤器添加到整个A:D范围。 将过滤器应用于D列的值为1 。 复制整个过滤的列A:C并粘贴到任何位置 - 仅复制过滤的行。 示例文件: https : //www.dropbox.co ...
-
您在两种方式中使用Range错误: 1) Range只有一个或两个参数。 用法是 Range(someAddress) 其中someAddress是一个像"A1" , "A1:B2或甚至像"A1:B2,C3"或“ Range(startCell, endCell) 其中startCell和endCell是范围的第一个和最后一个单元格。 它们可以通过地址( "A1" )或范围对象( Cells(1,1) )提供。 请注意,您也可以将范围传递给多个单元格,但我不完全确定它是如何执行的。 2)你将你的论点放在 ...