请问三维频谱-语图的颜色的R、G、B值是怎么设置的?

奔跑的北极熊 2010-12-06 12:52:47
大家好!
我目前正在做一个语音频谱显示的小程序,我实现饿三维语图的显示,将FFT结果样点值与一个RGB颜色值对应,如果R、G、B三个分量都相等,那么语图就是一个灰度图。我看到Cool Edit pro的语图是如下图这样的,不知道它的样点值与RGB分量的映射关系是什么?希望有经验的朋友指点一下。
(怎么贴一张图片啊?)
...全文
1033 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
奔跑的北极熊 2012-08-01
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

以前做电磁频谱监测项目的时候也遇到了这样的问题。
我当时是这样做的:
1 总结出大部分能量值分布范围比如0~65536。
2 让把范围内的能量线性对应到RGB(0,0,0)~RGB(255,255,255)
希望对你有帮助。
[/Quote]

谢谢,为此我在网上搜了很多代码。后来在sourceforge上找了几个音频处理软件的源代码,找到了其中用于能量和色彩映射的代码。RGB(0,0,0)~RGB(255,255,255)这种映射产生的是灰度图,还有其他很多种映射方式,产生各种色彩的三维频谱,很有意思。
observer001 2012-07-31
  • 打赏
  • 举报
回复
以前做电磁频谱监测项目的时候也遇到了这样的问题。
我当时是这样做的:
1 总结出大部分能量值分布范围比如0~65536。
2 让把范围内的能量线性对应到RGB(0,0,0)~RGB(255,255,255)
希望对你有帮助。
奔跑的北极熊 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 xianglitian 的回复:]
上图的色谱没有显示出来
你在图片上右键属性里找到链接然后看看完整的图就明白了
首先要找到一个色谱做参照
然后画出这个色谱
根据绘制参数找到变量的对应关系
然后就可以根据具体的值求出对应的颜色了
[/Quote]
有道理!谢谢。确实应该先确定一个色谱,然后画出色谱。试一下。
向立天 2010-12-08
  • 打赏
  • 举报
回复
上图的色谱没有显示出来
你在图片上右键属性里找到链接然后看看完整的图就明白了
首先要找到一个色谱做参照
然后画出这个色谱
根据绘制参数找到变量的对应关系
然后就可以根据具体的值求出对应的颜色了
奔跑的北极熊 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xianglitian 的回复:]
其实这个就是一个映射的问题
从某个颜色值到某个颜色值代表从1到10的话
5代表的颜色就是(终点颜色值-起点颜色值)/2
大概就是这个意思
[/Quote]

我想应该是这样吧,可能映射的表达式不一样。
奔跑的北极熊 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 xianglitian 的回复:]

引用 7 楼 stephen_young 的回复:
引用 6 楼 xianglitian 的回复:
其实这个就是一个映射的问题
从某个颜色值到某个颜色值代表从1到10的话
5代表的颜色就是(终点颜色值-起点颜色值)/2
大概就是这个意思


我想应该是这样吧,可能映射的表达式不一样。


具体情况具体分析
我项目里用的是多色带
仿matlab的拿出来show一下
呵……
[/Quote]

就是这样的效果。可惜我手头上没有Matlab。如果RGB三个分量正比于FFT样点值的话,三个分量总是相等的,那么结果就是灰度图像。如果让其中一个分量恒等于0,那么结果是彩色的。不过,我看Cool Edit Pro的图感觉颜色映射可能不是简单的比例关系,因为能量最大时颜色几乎是白色的,也就是说各分量都接近于255.能量小的时候接近于黑色。我打算再试试看,也许能够找到对应关系。
向立天 2010-12-07
  • 打赏
  • 举报
回复
其实这个就是一个映射的问题
从某个颜色值到某个颜色值代表从1到10的话
5代表的颜色就是(终点颜色值-起点颜色值)/2
大概就是这个意思
向立天 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 stephen_young 的回复:]
引用 6 楼 xianglitian 的回复:
其实这个就是一个映射的问题
从某个颜色值到某个颜色值代表从1到10的话
5代表的颜色就是(终点颜色值-起点颜色值)/2
大概就是这个意思


我想应该是这样吧,可能映射的表达式不一样。
[/Quote]

具体情况具体分析
我项目里用的是多色带
仿matlab的拿出来show一下
呵呵
奔跑的北极熊 2010-12-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xianglitian 的回复:]
你是要花时频图吧
横轴是时间
纵轴是频率
用颜色标识强度
如果是的话这个色带是可以选择的
你可以研究一下Matlab相关功能
[/Quote]

非常感谢,我就是这个目的。我没有安装Matlab,试试吧。
向立天 2010-12-06
  • 打赏
  • 举报
回复
你是要花时频图吧
横轴是时间
纵轴是频率
用颜色标识强度
如果是的话这个色带是可以选择的
你可以研究一下Matlab相关功能
奔跑的北极熊 2010-12-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 stephen_young 的回复:]
大家好!
我目前正在做一个语音频谱显示的小程序,我实现饿三维语图的显示,将FFT结果样点值与一个RGB颜色值对应,如果R、G、B三个分量都相等,那么语图就是一个灰度图。我看到Cool Edit pro的语图是如下图这样的,不知道它的样点值与RGB分量的映射关系是什么?希望有经验的朋友指点一下。
(怎么贴一张图片啊?)
[/Quote]
向立天 2010-12-06
  • 打赏
  • 举报
回复
把你要帖的图片上传至你CSDN空间的相册里
然后插入图片时设置这个图片的链接就可以了
比如
fandh 2010-12-06
  • 打赏
  • 举报
回复
没有搞过这个!
Praat(国际音标 [praːt]或[pʀaːt])在荷兰中是说话或交谈的意思,而doing phonetics by computer即使用计算机研究音学。作为软件的名称,简便起见,不妨合起来翻译作Praat音学软件。 [编辑]作者 Praat的作者是荷兰阿姆斯特丹大学人文学院音科学研究所的主席保罗•博尔斯马(Paul Boersma)教授和大卫•威宁克(David Weenink)助教授。 [编辑]版本 Praat最早的版本发布于1993年。起初用户还无法自由地下载使用,但从2003年6月5日的4.1版起,作者取消了专门的授权并开放了绝大部分源代码。进一步,从2004年3月4日的4.2版起,作者开放了全部源代码,使Praat成为采用GNU通用公共许可证授权的开源软件。相隔短则一天,长则月余,作者就会发布最近修订的版本,消除旧的故障,增添新的功能。2007年12月10日发布了5.0版。[1] Praat目前支持在多种计算机平台上运行,包括:  Macintosh  Windows[2]  Linux,FreeBSD  SGI,Solaris,HPUX 作者为以上平台的用户提供已编译好的目标文件。高级用户还可以在其他操作系统平台上修改并编译源代码后运行Praat程序。 Praat能够在形和命令行两种用户界面下运行,但两种界面的目标文件(可执行文件)各自独立,以Windows版为例,即分为praat.exe和praatcon.exe两个可执行文件,其中后者只能通过命令行方式从控制台调用。 [编辑]功能简介 请注意:和维基百科中其他介绍软件产品的条目一样,本条目以下章节中对Praat的功能进行的简要介绍仅供读者参考,不可能也无意于代替由开发者提供的手册文档。 [编辑]用途概述 Praat的主要功能是对自然言的音信号进行采集、分析和标注,并执行包括变换和滤波等在内的多种处理任务。作为分析结果的文字报表和,不但可以输出到个人计算机的磁盘文件中和终端的显示器上,更能够输出为精致的矢量或位,供写作和印刷学术论文与专著使用。 此外,Praat还可用于合成音或声音、统计分析言学数据、辅助音教学测试,等等。随着新版本的发布,Praat的功能和用途仍在不断扩展,但实际上多数用户只需要用到一小部分功能。 [编辑]构成与界面 Praat程序由外围与核心两层构成。外围主要包括对象窗口(Object window,标题为Praat objects)、画板窗口(Picture window,标题为Praat picture)、脚本编辑器(ScriptEditor)、按钮编辑器(ButtonEditor)、数据编辑器(DataEditor,无固定标题)、情报窗口(Info window)和手册(Manual)等不负责具体的信号处理任务的辅助性组件。Praat每次启动时,自动打开对象窗口和画板窗口。对象窗口也是Praat的主控窗口,在Praat程序的会话进程中始终打开,大部分功能也需要由此展开。脚本(script)在是Praat中执行各种操作的宏命令,能够简化日常操作,减少出错,并实现大量复杂操作的自动化。按照作者的最初设想,除了Praat之外还会有其他程序使用与Praat相同的外围程序,但多年来一直没有实现[3]。 Praat的核心部分即具体负责音信号处理任务的程序,包括所有的对象类型(Types of object)、动作命令(Action commands)和相应的编辑器(Editors)。对象(object)是由Praat程序所构建的数据存储载体,有很多种类型,如声音(Sound)、文本表格(TextGrid)、音高(Pitch)、变换(Manipulation),等等,通过执行编辑器或动态选单(Dynamic menu)中的动作命令完成对数据的查询(数字化测量)和处理(生成新对象)任务。声音编辑器(SoundEditor)和文本表格编辑器(TextGridEditor)是Praat中最常用的两种编辑器,多用于涉及音分析和标注的科学研究与课堂教学。 [编辑]音分析与标注 对音信号的分析与标注是Praat的基本功能。在Praat中录音或读取音频文件后,可以按用户要求显示以下多种:  三维(spectrogram)  频谱切片(spectral slices)  音高(即基频[4])曲线(pitch contour)  共振峰曲线(formant contour)  音强曲线(intensity contour) 所有的都可以绘制成精致的矢量,也可以将相应的对象数据保存为磁盘文件。除直观的外,Praat也能通过对信号数据的计算获得各种文字情报,比如音高、时长、第一或第二共振峰频率的数等,也同样可以根据需要输出为适当的形式。 Praat允许用户对音数据进行标注,包括音段切分和文字注释,标注的结果还可以独立保存和交换。然而,Praat本身缺乏自动标注功能,只能对有声段和静默段进行简单的识别,而不能对音节、节拍群等流单位加以切分。[5] [编辑]其他功能 Praat还具有许多其他功能,包括:  音实验:嗓音分析、多重强迫选择实验、滤波、声源滤波合成、发音合成等。  辅助教学:前馈神经网、优选论学习等。  统计分析:主成分分析、多维量表、判别分析等

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧