问题列表 - 第29243页

在Numpy中,正弦波从一个音高到另一个音高

我一直致力于一个程序,我需要慢慢平稳地将正弦波的音高从一个音高变换到另一个音高.我能够在任何给定的时刻获得一个频率阵列的频率(例如,[440,526.5,634.2 794.8,880],虽然更多,更长)但似乎我无法实际应用该频率一波.我最好的尝试是:

numpy.sin(2*math.pi*x*freq/self.sample_rate)
Run Code Online (Sandbox Code Playgroud)

其中"freq"是频率数组,x是枚举数组([0,1,2,3,4 ...]).这种方法有效,但它会使频率超出预期频率,然后再降低.我一直在研究这个问题很长一段时间,并且无法在找到更合适的方法方面取得任何进展.有什么建议?我是否足够明确表达我的困境?

谢谢.

python math audio trigonometry numpy

4
推荐指数
1
解决办法
1992
查看次数

C预处理器和if-else条件语句

我在vs2010(win32控制台应用程序)中运行我的C代码.它被编译为C++应用程序.

#include "stdafx.h"

#define     YES     1;
#define     NO      0;

// function to determine if an integer is even
int isEven(int number)
{
    int answer;

    if ( number % 2 == 0)
        answer = YES;
    else
        answer = NO;    
    return answer;

}

int main()
{
    int isEven(int number);

    if (isEven(17) == YES)
        printf("yes "); 
    else
        printf("no ");


    if ( isEven(20) == YES)
        printf("yes\n");
    else
        printf("no\n");

     return 0;
}
Run Code Online (Sandbox Code Playgroud)

编译错误如下.

p300.cpp(18): error C2181: illegal else without matching if
p300.cpp(30): error …
Run Code Online (Sandbox Code Playgroud)

c++ if-statement visual-studio-2010 c-preprocessor

3
推荐指数
1
解决办法
2221
查看次数

如何创建并行堆栈并在其上运行协同程序?

我决定尝试执行协同程序(我认为这就是我应该如何称呼它们)以获得乐趣和利润.我希望必须使用汇编程序,如果我想让它对任何事情都有用,可能还需要一些C.

请记住,这是出于教育目的.使用已经构建的协程库太容易了(而且真的没什么乐趣).

你们知道setjmplongjmp?它们允许您将堆栈展开到预定义位置,并从那里继续执行.但是,它无法回退到堆栈上的"稍后".只是早点回来.

jmpbuf_t checkpoint;
int retval = setjmp(&checkpoint); // returns 0 the first time
/* lots of stuff, lots of calls, ... We're not even in the same frame anymore! */
longjmp(checkpoint, 0xcafebabe); // execution resumes where setjmp is, and now it returns 0xcafebabe instead of 0
Run Code Online (Sandbox Code Playgroud)

我想要的是一种在不同堆栈上运行而无需线程化的两种函数的方法.(显然,一次只能运行一次.我说没有线程.)这两个函数必须能够恢复另一个执行(并暂停自己的执行).有点像他们正在longjmp对方.一旦它返回到另一个函数,它必须从它离开的地方恢复(即,在给另一个函数控制的调用期间或之后),有点像longjmp返回setjmp.

这就是我的想法:

  1. 函数A创建并将并行堆栈归零(分配内存和所有内容).
  2. 函数A将其所有寄存器推送到当前堆栈.
  3. 函数A将堆栈指针和基指针设置为该新位置,并推送一个神秘的数据结构,指示要跳回的位置以及将指令指针放回的位置.
  4. 函数将A大多数寄存器归零,并将指令指针设置为函数的开头B.

这是初始化.现在,以下情况将无限循环:

  1. 函数B在该堆栈上运行,完成它需要的任何工作. …

c assembly stack x86-64 coroutine

11
推荐指数
1
解决办法
1955
查看次数

2
推荐指数
1
解决办法
438
查看次数

Ruby on Rails:提交表单中的数组

我有一个具有Array属性的模型.从表单提交中填充该属性的正确方法是什么?

我知道有一个带有字段的表单输入,其名称包括括号,从输入创建一个哈希.我应该只是拿着它并在控制器中踩过它来按摩它成阵列吗?

让它不那么抽象的例子:

class Article
  serialize :links, Array
end
Run Code Online (Sandbox Code Playgroud)

links变量采用URL数组的形式,即 [["http://www.google.com"], ["http://stackoverflow.com"]]

当我在表单中使用类似下面的内容时,会创建一个哈希:

<%= hidden_field_tag "article[links][#{url}]", :track, :value => nil %>
Run Code Online (Sandbox Code Playgroud)

结果哈希看起来像这样:

"links" => {"http://www.google.com" => "", "http://stackoverflow.com" => ""}
Run Code Online (Sandbox Code Playgroud)

如果我没有在链接名称中包含url,则其他值会相互冲突:

<%= hidden_field_tag "article[links]", :track, :value => url %>
Run Code Online (Sandbox Code Playgroud)

结果如下: "links" => "http://stackoverflow.com"

forms arrays hash ruby-on-rails

66
推荐指数
5
解决办法
8万
查看次数

MySQL中大字符串的最佳数据类型

目前我将其设置为varchar,最大长度为15000 - 它存储论坛帖子,因此它们的大小可能会有很大差异.谢谢!

mysql

3
推荐指数
1
解决办法
7430
查看次数

如何使用OpenGL ES共享组在iPad上共享屏幕镜像的渲染缓冲区?

我正在尝试使用OpenGL 1.1在iPad上进行屏幕镜像.我已经到了设置外部窗口和视图的重点.我在第一个屏幕上使用OpenGL,并且我已经读过我可以设置一个共享的渲染缓冲区,但是因为我有点像OpenGL初学者,所以我在运行时可能会遇到一些麻烦缓冲.

我已经设置了两个单独的上下文并为两者渲染了不同的东西,但当然我想为了效率而共享渲染缓冲区.Apple文档解释了如何设置共享组对象并初始化共享上下文,但我也想知道如何设置和共享渲染缓冲区,以便外部屏幕可以只绘制此渲染缓冲区它是帧缓冲区.

最终的目标是尽可能高效地进行屏幕镜像,因此对此问题的任何建议都将非常受欢迎.

opengl-es ipad ios

8
推荐指数
1
解决办法
784
查看次数

陀螺仪与加速度计?

既然iOS 4不再是NDA,我想知道Gyroscope为开发人员提供的加速度计.API有区别吗?其他事情?

iphone accelerometer ios4 gyroscope

46
推荐指数
2
解决办法
4万
查看次数

循环陷阱中的C++迭代器?

我看到它提到的某个地方:

for ( itr = files.begin(); itr < files.end(); ++itr )  // WRONG
for ( itr = files.begin(); itr != files.end(); ++itr ) // ok
Run Code Online (Sandbox Code Playgroud)

为什么第一个表达式错了?我总是使用第一个表达式,并没有任何问题.

c++ iterator stl

9
推荐指数
3
解决办法
559
查看次数

如何从字符中检索整数值?

如何将字符转换为整数值?例如,我一直试图将"A"视为1,将"B"视为2,依此类推.我尝试将字符与字母表中的每个字母进行比较并返回适当的值.

int intvalue(char letter)
{
if(letter == "A")
    return 1;
else if(letter == "B")
    return 2;
else if(letter == "C")
    return 3;
else if(letter == "D")
    return 4;
else if(letter == "E")
    return 5;
else if(letter == "F")
    return 6;
else if(letter == "G")
    return 7;
else if(letter == "H")
    return 8;
else if(letter == "I")
    return 9;
else if(letter == "J")
    return 10;
else if(letter == "K")
    return 11;
else if(letter == "L")
    return 12;
else if(letter == "M") …
Run Code Online (Sandbox Code Playgroud)

c++ integer character

3
推荐指数
2
解决办法
8556
查看次数