processing - RiTa + 处理 + 声音

标签 processing javascript markov minim

我对实现与此人 link 类似的处理方式感兴趣。

据我了解,她将一段视频切成 tiff 格式,然后使用 RiTa 库进行合成

有谁知道如何实现这样的事情,只是改变我正在使用其他扩展名或文件格式的事实。我想通过声音样本来实现这一点。

有关代码、逻辑或类似作品的任何信息,并且可以免费更改。

赐教!!

谢谢

对于直接问题,如何使用以下代码导入和读取这些文件。

import rita.*;

RiMarkov markov;

void setup()
{    
size(500, 500);

RiText.defaultFontSize(18);

new RiText(this, "click to (re)generate!");

// create a markov model w' n=3
markov = new RiMarkov(4);  

// load files into the model
markov.loadFrom(new String[] { "wittgenstein.txt", "kafka.txt" }, this);    
}

void draw()
{
background(255);
RiText.drawAll();
}

void mouseClicked() 
{   
if (!markov.ready()) return; 

RiText.disposeAll(); // clean-up old data

String[] lines = markov.generateSentences(10);

// lay out in rect (x=50 y=50, w=400, h=400)
RiText.createLines(this, lines, 50, 50, 400, 400);
}

那么我如何或可以用 .mp3 文件等更改 .txt 文件,然后如何通过处理来播放它?像 Minim 这样的音频库?

任何想法都会有帮助。

最佳答案

我不知道安吉拉·费拉奥罗是如何制作她的电影的,但如果我要制作这部电影,我会尝试一下如何处理它。

首先,了解 RiTa 处理文本非常重要。文件名是文本。因此,您可以使用 RiTa 通过使用通过某种语法解析的文件名来选择要播放的文件。

语法部分是 RiTa 的强大之处。查看与 RiTa 库一起打包的 HaikuGrammar 示例。想象一下,将 haiku.json 文件中的单词替换为示例名称,每次单击时都可以生成新的示例播放顺序。

您上面引用的示例使用马尔可夫链,其工作原理略有不同。马尔可夫对象查看文本输入并分析某些单词出现在其他单词之后的频率。然后,当它开始生成时,它使用这些频率来生成新文本(如果您感兴趣,很多人都比我更好地描述了这种方式)。话虽这么说,我不认为文件名是马尔可夫链的好种子。除非你用目录结构或其他东西制作了马尔可夫链。如果您将特定样本与特定单词相关联,并且每次出现该单词时,都会播放该样本,也许会很有趣。

长话短说,通过 RiTa 发送文件名,看看会弹出什么内容。

关于processing - RiTa + 处理 + 声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28175745/

相关文章:

javascript - Sequelize 如何连接 2 个表 1 :N

python - 识别马尔可夫生成内容的算法?

javascript - KonvaJS:缩放整个舞台时如何防止某些形状缩放?

r - 是否有一个 R 包可以从频率表中计算一阶转换矩阵?

machine-learning - 是否可以使用马尔可夫毯来判断两个节点是否条件独立?

java - 在 PApplet 上设置默认关闭操作(处理中)

processing - 处理中三个椭圆的轮播

java - 加工重力(楼层)

java - 使用 ProcessingJS 将返回值从一个函数传递到另一个函数的语法?

javascript - 从 python shell 发送 javascript 命令