小编Chr*_*jer的帖子

Rails 3 ActiveRecord:按关联计数排序

我有一个名为的模型Song.我也有一个名为的模型Listen.A Listen belongs_to :song,和一首歌:has_many listens(可以多次收听).

在我的模型中,我想定义一个方法self.top,该方法应该返回最多听过的前5首歌曲.如何使用这种has_many关系实现这一目标?

我正在使用Rails 3.1.

谢谢!

mysql activerecord ruby-on-rails ruby-on-rails-3

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

从文件中提取快速傅里叶变换数据

我正在构建一个应该在服务器上运行并分析声音文件的工具.我想在Ruby中这样做,因为我的所有其他工具也都是用Ruby编写的.但我找不到一个完成这个的好方法.

我发现的很多例子都是可视化器和图形化的东西.我只需要FFT数据,仅此而已.我需要获取音频数据,并对其进行FFT.我的最终目标是计算一些东西,如平均值/中位数/模式,第25百分位数和第75百分位数,所有频率(加权幅度),BPM,以及可能还有一些其他好的特性,以便以后能够将类似的声音聚集在一起.

首先我尝试使用ruby-audiofftw3,但我从来没有让两者真正合作.文档也不好,所以我真的不知道什么数据被洗牌.接下来,我试图用bplay/BREC和限制我的Ruby脚本只使用STDIN和对(仍然使用fftw3)执行FFT.但我无法让bplay/brec工作,因为服务器没有声卡,我没有设法直接将音频直接发送到STDOUT,而无需先进入音频设备.

这是我得到的最接近的:

# extracting audio from wav with ruby-audio
buf = RubyAudio::Buffer.float(1024)
RubyAudio::Sound.open(fname) do |snd|
    while snd.read(buf) != 0
        # ???
    end
end

# performing FFT on audio
def get_fft(input, window_size)
    data = input.read(window_size).unpack("s*")
    na = NArray.to_na(data)
    fft = FFTW3.fft(na).to_a[0, window_size/2]
    return fft
end
Run Code Online (Sandbox Code Playgroud)

所以现在我陷入困境,无法在Google上找到更好的结果.那么也许你们这些家伙可以帮助我吗?

谢谢!

ruby audio mp3 fft wav

10
推荐指数
2
解决办法
4344
查看次数

如何在Template10中使用Unity IoC容器?

我有一个基于Template10的应用程序,并希望使用IoC处理我的依赖注入.我倾向于使用Unity来实现这个目标.我的应用程序分为三个程序集:

  1. UI(通用应用)
  2. UI逻辑(通用库)
  3. 核心逻辑(便携式图书馆).

我有这些问题:

  1. 我应该为整个应用程序使用单个容器,还是为每个程序集创建一个容器?
  2. 我应该在哪里创建容器并注册我的服务?
  3. 各种程序集中的不同类应该如何访问容器?单身人士模式?

我已经阅读了很多关于DI和IoC的内容,但我需要知道如何在实践中应用所有理论,特别是在Template10中.

注册代码:

// where should I put this code?
var container = new UnityContainer();
container.RegisterType<ISettingsService, RoamingSettingsService);
Run Code Online (Sandbox Code Playgroud)

然后是检索实例的代码:

var container = ???
var settings = container.Resolve<ISettingsService>();
Run Code Online (Sandbox Code Playgroud)

.net c# unity-container uwp template10

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

从SoundCloud获取曲目时按播放顺序排序

我使用以下查询从soundcloud的API中获取一个曲目列表,以检索5个最受欢迎的曲目:

https://api.soundcloud.com/tracks?client_id=XXX&order=hotness&limit=5

但最近SoundCloud 取消了热门订单.在博客文章中,他们说轨道可以通过playback_count进行排序.但这可以在查询中完成,还是他们建议我下载整个SoundCloud库并在客户端中对它们进行排序?以下似乎不起作用:

https://api.soundcloud.com/tracks?client_id=XXX&order=playback_count&limit=5

那么如何在SoundCloud上检索顶部曲目?

soundcloud

6
推荐指数
1
解决办法
4207
查看次数

OpenCL和Python中的Bigint

我试图在Python中实现RSA,但我想在GPU上运行密集计算.我已经成功实现了我自己在PyOpenCL中运行的模数表达式,但我最大限度地使用了六位整数来表示基数和指数.比这更大的数字和GPU崩溃.

我需要在numpy中创建一个非常大的整数值数组,并将它们发送到PyOpenCL代码,并使用GPU上的大整数执行乘法和模运算.

以前有人做过类似的事吗?谷歌搜索cuda和bigint没有给出任何好结果.:(

python gpu opencl bigint pyopencl

5
推荐指数
1
解决办法
1567
查看次数

自v1.1以来TaskDialog中命令链接的垂直空间

我注意到我的任务对话框中有一个大的垂直空间(命令链接标题和指令文本之间的空间)看起来非常糟糕.它在我将WindowsAPICodePack升级到1.1版之后就开始出现了.

这是代码:

TaskDialog td = new TaskDialog();
var b1 = new TaskDialogCommandLink("b1", "foo", "bar");
var b2 = new TaskDialogCommandLink("b2", "one", "two");
td.Controls.Add(b1);
td.Controls.Add(b2);
td.Caption = "Caption";
td.InstructionText = "InstructionText";
td.Text = "Text";
td.Show();
Run Code Online (Sandbox Code Playgroud)

这是结果:

在命令链接中使用垂直空间的丑陋任务对话框

之前,"bar"会出现在"foo"的正下方,但现在看起来好像两者之间有一条空行.这是我的问题(并且有人会知道它可能是什么)或者你们也经历过这个问题吗?

.net c# taskdialog

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

从ComboBox的模板在ComboBoxItem上设置样式

我正在为WPF中的一些ComboBox控件做一个模板.但是我想在这个模板中设置ComboBoxItems的样式.我只发现了如何从创建控件的位置应用Style,而不是从ComboBox的模板中应用Style.

我正在使用的模板来自这里:http: //msdn.microsoft.com/en-us/library/ms752094.aspx

但ComboBoxItem样式(在底部找到)适用于所有ComboBoxItems(由于x:Key="{x:Type ComboBoxItem}".

.net c# wpf xaml templates

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