我有一个名为的模型Song.我也有一个名为的模型Listen.A Listen belongs_to :song,和一首歌:has_many listens(可以多次收听).
在我的模型中,我想定义一个方法self.top,该方法应该返回最多听过的前5首歌曲.如何使用这种has_many关系实现这一目标?
我正在使用Rails 3.1.
谢谢!
我正在构建一个应该在服务器上运行并分析声音文件的工具.我想在Ruby中这样做,因为我的所有其他工具也都是用Ruby编写的.但我找不到一个完成这个的好方法.
我发现的很多例子都是可视化器和图形化的东西.我只需要FFT数据,仅此而已.我需要获取音频数据,并对其进行FFT.我的最终目标是计算一些东西,如平均值/中位数/模式,第25百分位数和第75百分位数,所有频率(加权幅度),BPM,以及可能还有一些其他好的特性,以便以后能够将类似的声音聚集在一起.
首先我尝试使用ruby-audio和fftw3,但我从来没有让两者真正合作.文档也不好,所以我真的不知道什么数据被洗牌.接下来,我试图用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上找到更好的结果.那么也许你们这些家伙可以帮助我吗?
谢谢!
我有一个基于Template10的应用程序,并希望使用IoC处理我的依赖注入.我倾向于使用Unity来实现这个目标.我的应用程序分为三个程序集:
我有这些问题:
我已经阅读了很多关于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) 我使用以下查询从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上检索顶部曲目?
我试图在Python中实现RSA,但我想在GPU上运行密集计算.我已经成功实现了我自己在PyOpenCL中运行的模数表达式,但我最大限度地使用了六位整数来表示基数和指数.比这更大的数字和GPU崩溃.
我需要在numpy中创建一个非常大的整数值数组,并将它们发送到PyOpenCL代码,并使用GPU上的大整数执行乘法和模运算.
以前有人做过类似的事吗?谷歌搜索cuda和bigint没有给出任何好结果.:(
我注意到我的任务对话框中有一个大的垂直空间(命令链接标题和指令文本之间的空间)看起来非常糟糕.它在我将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"的正下方,但现在看起来好像两者之间有一条空行.这是我的问题(并且有人会知道它可能是什么)或者你们也经历过这个问题吗?
我正在为WPF中的一些ComboBox控件做一个模板.但是我想在这个模板中设置ComboBoxItems的样式.我只发现了如何从创建控件的位置应用Style,而不是从ComboBox的模板中应用Style.
我正在使用的模板来自这里:http: //msdn.microsoft.com/en-us/library/ms752094.aspx
但ComboBoxItem样式(在底部找到)适用于所有ComboBoxItems(由于x:Key="{x:Type ComboBoxItem}".