问下把CS声音调成正常说话的命令是多少,有的F说话听不清,加了命令就听清了 请问命令是多少?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问下把CS声音调成正常说话的命令是多少,有的F说话听不清,加了命令就听清了 请问命令是多少?相关的知识,希望对你有一定的参考价值。

调F声音命令多少啊,要清楚的命令 谢谢

--CS中控制平台的一般指令
decalfrequency (时间)调喷漆间隔,你可以设为0.0000秒,可以无限喷漆
users看玩家的编号kick #(编号)踢出自建主机
mp_autokick 1睡着了或者TK三次后被系统自动踢掉^_^
mp_autoteambalance 1队伍人数平衡,设为0则关掉
mp_buytime 1.5以分钟为单位,即你在90秒内还能回基地买东西
mp_c4timer 45设置C4的爆炸时间,一般应该设置为35或者45
mp_chasecam 0 设置死后的玩家只能跟着人家屁股看^_^
mp_fadetoblack 1死后黑屏,活人能看到尸体
mp_falldamage 1设置是否被摔死或摔伤
mp_flashlight 1可不可以用手电,0是关闭,1是开启
mp_footsteps 1开启脚步声为1,关闭为0
mp_forcechasecam 0死了的人:0自由模式、1只能跟着自己队友走动、2尸体视线留在原地
mp_freezetime(时间)设置开打前的买东西的时间
mp_friendly_genrade_damage 0设置能否被同队炸死或炸伤
mp_friendlyfire 01为开启友军伤害,0为关闭
mp_hostagepenalty X杀了多少人质和队友就被踢
mp_limitteams 2队伍最大的相差人数,太多了便不能加入
mp_mapvoteratio 0.6票选地图的人数达60%以上才会换地图,0.0-1.0
mp_roundtime X设置每回合的时间
mp_tkpunish 1TK者下回合会自杀
mp_weaponstay 0嘻嘻,要是设为1的话你们就别想捡枪了
sv_gravity 800.控制重力,800是正常重力,-999到999999
sv_password X游戏自建主机的密码
sv_restartround 0设定每隔几分钟回复分数/武器/金钱的初始值
mp_maxrounds XX→几回合之后换地图
mp_winlimit X 任一队胜X场便换图,例5战3胜制,X=3
mp_timelimit 45每隔多少时间换一次地图

adjust_crosshair改变准星颜色
hud_centerid 0 设定为1时,玩家ID会出现在屏幕的正中央。否则会出现在画面的左下角
lefthand 0 设定屏幕上的玩家是左撇子,或是右撇子。
hud_fastch 0 快速换武器,按数字直接换不用再按鼠标
listmaps 显示server的地图排程
votemap (地图名)玩家可以投票投下一张地图

record filename 开始记录一个录像,录像保存在\\cstrike\\filename.dem
demos循环播放使用 startdemos命令播放的录像
listdemo demoname 列出录像信息
startdemos 循环播放一段录像
startmovie filename 播放一段录像
stop 停止录像
stopdemo 同上
appenddemo demoname 在该录像文件后继续录像, 不覆盖原录像

后面还有很多很多,但是不是我们这些游戏玩家常用的,所以就不一一列出了

--------------------------------------------------------------------------------

--作者:skyjim
--发布时间:2002-6-30 13:40:28

--
好,就该发这样的帖~~~~~~!!
--------------------------------------------------------------------------------

--作者:KeKe
--发布时间:2002-6-30 13:55:39

--
丫头厉害啊,亲~~~~~~~~~~~
--------------------------------------------------------------------------------

--作者:季风
--发布时间:2002-6-30 21:36:43

--
可惜我不在家里。要是我在家的话,还会有很多知识的东西呢
--------------------------------------------------------------------------------

--作者:季风
--发布时间:2002-7-1 17:11:38

--
banid 几分钟 #编号 kick.......踢人Wonid让他换名字后也进不来,除非他换计算机,时间0=永远
deathmatch 1..................开dm模式,一个人一组,把其它人解决掉
decalfrequency 30.............玩家的logo多久可喷一次(秒)
kick #编号....................踢人(server专用,踢编号需加#,踢名字不用,但大小写要一样)
mapcyclefile mapcycle.txt.....选择地图切换的设定档,内定为mapcycle.txt,可准备好几份设定档
mp_autokick 1.................睡死和TK三次后自动被系统踢掉
mp_autoteambalance 1..........自动队伍平衡,0为准许双方人数不平均和Bot玩时的好参数!
mp_buytime 1.5................以分钟计,即90秒内均可回基地买东西
mp_c4timer 45.................设定C4炸弹的爆炸时间。最低15秒,最高90秒
mp_chasecam 0.................设定观察员模式的玩家只能跟在别人的屁股
mp_consistency 1..............限制某些模型被更改,大的C4或大的别人的武器容易让人发现...
mp_decals 250.................贴图分辨率,降低可减少lag
mp_fadetoblack 1..............这样死后画面变黑 活人可以看得到尸体
mp_falldamage 1...............会不会摔伤
mp_flashlight 1...............开启/关闭可否使用手电筒。1是开启,0是关闭
mp_footsteps 1................开启/关闭脚步声。1是开启,0是关闭
mp_forcechasecam 0............死掉的人:0自由模式、1只能跟着自己队友走动、2尸体视线留在原地
mp_forcerespawn 0.............死后立即重新出发
mp_freezetime x...............每一场开始前的购物静止秒数
mp_friendly_genrade_damage 0..............设定同队的是否可以手榴弹丢伤队友
mp_friendlyfire 0.............设定会不会杀伤队友。1是会,0是关闭
mp_ghostfrequency 0.1.........鬼魂每秒钟更新的频率,越高越不会Lag
mp_hostagepenalty 13..........杀了多少人质或队友后会被踢
mp_limitteams 2...............队伍最大相差人数,太多人便不能再加入
(如mp_autoteambalance 1则相差到此人数server便会自动平衡)
mp_logfile 1..................开不开纪录文件(那要怎么存盘???)
mp_logmessages 0..............控制是否把游戏进行间玩家的对话也记录到log文件中,
此项设定必需同时设定"log on""mp_logfile 1"才可生效
mp_lowlag 0...................子弹打在墙上的效果,速度快用0,慢用1
mp_mapvoteratio 0.6...........票选地图的人数达60%以上才会换地图,0.0-1.0
mp_roundtime 5................设定每回合的时间。(只能3~15分钟)
mp_tkpunish 1.................TK者下回合会自杀
mp_weaponstay 0...............保留落下的武器
nightvision 1.................夜试镜能否使用
pauseble 0....................可以战斗中按暂停(Pause键,在F12键的右边第三颗)
status........................列出玩家IP编号等
sv_accelerate 5.0.............加速
sv_aim 0......................自动瞄准头部
sv_airaccelerate 10...........空中移动的速度
sv_airmove 1..................可否在空中移动&转向
sv_bounce 1...................各种奖励金开启???
sv_cheats 0...............可不可以使用内定秘技
sv_clienttrace 1..................可能是有关网络封包的设定...
sv_clipmode 0..................Server端切换是否允许Client端穿墙?
sv_clipmode 0.................应该是对象是否用3D表示...like mp5...?
sv_friction 40................3D画面方面的东东
sv_gravity 800................控制重力,800是正常重力,-999到999999
sv_maxrate 0.............限制网络传输的资料最大值
sv_maxspeed 320...............最大速度
sv_minrate 0.........限制网络传输的资料最小值
sv_password 0.................进入游戏的密码
sv_restartround 0.............设定每隔几分钟回复分数/武器/金钱的初始值。(没效...?)
sv_sendvelocity 0.............设定1开启较复杂的花样以及物理设定,适用较快的Server
sv_stepsize 18................脚步大小..-_-; 越大爬坡越快吧...
sv_waterfriction 10...........水中的阻力...
users................列出线上使用者名称及Userid(Server产生)及Uniqueid(WON server产生)
changelevel 地图名............立刻换地图,所有USER不会离开游戏
map 地图名....................立刻换地图,但所有USER会离开游戏。
mp_maxrounds X................X→几回合之后换地图
mp_winlimit X.................任一队胜X场便换图,例5战3胜制,X=3
mp_timelimit 45..........每隔多少时间换一次地图
(以上三个只能选一个,因此要"mp_maxrounds 20"前要先"mp_timelimit 0")
sv_rcon_maxfailures 5..........试图取得管理员权限失败超过几次,CDKEY即被BAN
sv_rcon_minfailuretime 30......单位秒。如果在此时间内试图取得管理员权限.又失败了
sv_rcon_minfailures指定的次数,该CDKEY即被BAN
sv_rcon_banpenalty 0...........指定在试图取得管理员权限中如果BAN CDKEY,BAN多久。0=永远
=====================================================================================
玩家用参数
adjust_crosshair..............每打一次准心就会换颜色,共有五种颜色,选个亮一点吧!!
ah 1..........................设定是否开始自动说明(戏中给玩家引导)
cl_allowupload 1..............允许用户方上传自己的资料如logo
cl_allowdownload 1............允许用户方自动下传sever的资料如map
cl_download_ingame 1..........允许用户方在game中自动下传sever的资料,如logo,map
cl_cmdrate 30.................modem用户设30,宽频设40~50,Lan=50
cl_lw X.......................有无武器的动画,最好设x=1
cl_lb 0.......................此项与血渍有关,设1比较真实,但会减低速度
cl_lc 1.......................和cs的新的网络技术有关,最好设x=1
cl_hidefrags 1................设定是否隐藏除了自己以外其它人的杀敌数与死亡数
cl_observercrosshair 1................设定在观察员模式的时候是否要开起准星
cl_updaterate 20..............上传速度,如果是宽频设30~40,如果在比较多人的站设25,modem=15,Lan=50
con_color 255 155 50..........HUD的颜色(RGB)
dm 1..........................设定1来开启游戏开始时的讯息介绍
drawradar.....................显示雷达,有时雷达会突然消失,就可以用(有时候SERVER关掉了你按也没用)
fastsprites 0.................烟雾特效,0逼真,1像超任,2像GameBoy
fps_max X.....................x=1~100,游戏输出给显示卡的最大fps数,内定为72
有不顺或鼠标一动就滑来滑去的情形时,把他设低会有很大的改善
hideradar.....................关闭雷达(测试你懂不懂得辨认队友,以免tk)
hud_centerid 0................设定为1时,玩家ID会出现在屏幕的正中央。否则会出现在画面的左下角。
hud_fastch 0..............快速换武器,按数字直接换不用再按鼠标
keys..........................显示自己的CD-KEY信息(CS没效???)
kill..........................自杀!!死定的时候……了断自已吧…
lefthand 0....................设定屏幕上的玩家是左撇子,或是右撇子。
listmaps....................显示server的地图排程
listplayers.................显示大家的编号与姓名
maps 开头.....................列出已安装之地图档名,(只列出指定字母开头的文件名,*为所有地图)
max_shells 50.................子弹的最大显示数量(太多会lag...)0-500
max_smokepuffs 50.............烟雾弹的最大显示数量,0-500
name 新名字...................换名字,活着的时候才能用
nightvision...................开关夜视镜
r_speeds 0....................以console文字方式显示平均fps,draw speed及polygon info??
r_speeds 0....................强制工作!!对网速能稍做改善!有没有效果……自已看吧!??
rate 2500.....................从server接受信息的速度,太大太小都会lag,要选适合的
setinfo ah 1...............是否提供自动说明的功能
setinfo dm 1................换地图后开启地图的简介
setinfo ghosts 0..............观察模式时是否鬼魂关掉,对lag有帮助
setinfo lefthand 0............设定屏幕上的玩家是左撇子,或是右撇子。
setinfo vgui_menus 1..........图形化选单开关
sizedown......................缩小屏幕
sizeup........................放大屏幕
timeleft..........让你知道还有几分钟换地图
version.......................显示版本信息
vote 编号.....................对TKer,Camper还有Cheater投票,过6成的人投票就行
votemap 地图名.........玩家可以投票投下一张地图
sensitivity X.................鼠标速度0.1-不限?(20是config的最大值)
zoom_sensitivity_ratio........设定使用狙击镜时鼠标移动速度
ping..................显示Server ping client值
pingservers............显示Client ping server值
net_graph x...................打开测FPS与联机速的工具 x=1开 x=0关,开起此项多少会减少fps
net_graphpos x................工具的位置 x=1,2,3
net_graphwidth 192............工具的大小
volume 0.8....................调整音量大小,实际音量为(volume/hisound)
hisound 1.000000..............设定音量最大值,实际音量为(volume/hisound)
bgmvolume 1.000000.........背景音效音乐之音量大小
disconnect..........离开游戏,保持在CS console状态
exit.....................离开游戏,关闭CS,回到桌面
quit..........................离开游戏,关闭CS,回到桌面
reconnect.....................不离线直接重组联机
retry.........................离线并重新联机
connect IP....................联机到指定Server
=====================================================================================
console本身
developer X........X=0时关闭developer(开发者)模式,X=1时打开
使用developer(开发者)模式,可以使用较多的指令(如秘技),且游戏加载过程及进行中左上角会显示console讯息(游戏中讯息会干扰雷达)
cmdlist............列出所有console指令,(可在后面加上叙述,只列出指定字母开头的指令)
clear..............清除console上的文字
scr_conspeed 600...设定console文字卷动速度
=====================================================================================
注意:以下部分为增加图象质量,如欲提高显示速度请使用相反设置
命令 默认值 建议更改值 说明
cl_himodels 0...........0,使用较低细节的人物皮肤,提高显示速度
gl_playermip 2..........0,渲染质量,越高数字质量越差显示也越快
max_smokepuffs 0........30,设定同时间可显示的烟雾数量(服务器端用)
fps_max 52..............100,显示最大FPS数,高性能机器可改大
mp_decals 20............300,最大同时显示贴图
hisound 0...............1,高质量声音
loadas8bit 1............0,使用8bit音质(较低质量)
s_a3d 0.................0,使用A3D系列声卡设置为1
s_eax 0.................0,使用创新系列声卡设置为1
bgmvolume 0.............1,播放CD音乐
cl_download_ingame 1....下载其它玩家LOGO、贴图等
gl_smoothmodels 1.......3,人物动作更平滑
gl_round_down 1.........3
setinfo "ah" 0..........1
setinfo "ghosts" 0......1,是否显示鬼魂
setinfo "vgui_menus" 0..1,是否显示图形购买界面
cl_gaitestimation 1.....0,衔接人物两个动作
cl_nopred 0.............0
gl_picmip 0.............2,渲染质量,越大的数字图象质量越低速度越快
r_drawviewmodel 0.......1,显示武器
=====================================================================================
录像类命令
首先你必须拥有CS
激活游戏的时候请修改快捷方式内的参数
\\hl.exe -console -game cstrike -condebug
此为范例请将路径更改为你自己游戏安装的路径
如果没有hl.exe使用cstrike.exe也可以。
进入游戏,并正常开始一场游戏
当您想录像时请按~键呼叫出控制台,在控制台输入以下命令:
record filename...............开始记录一个录像,录像保存在\\cstrike\\filename.dem
demos.........................循环播放使用 startdemos命令播放的录像
listdemo demoname.............列出录像信息
playdemo filename.............使用正常速度播放 filename.dem 录像
playvol 9.....................设置录像回放次数
removedemo demo sgmt..........移除录像中设置的片断位置
setdemoinfo demo sgmt info....增加一个录像信息,例如一段文字,渐进渐出或者快进快退
startdemos....................循环播放一段录像
startmovie filename...........播放一段录像
stop..........................停止录像
stopdemo......................同上
swapdemo demo seg seg.......交换录像中两处片断位置
imedemo demoname..............播放一段录像,同时显示最大fps(每秒显示帧速)及平均fps
appenddemo demoname...........在该录像文件后继续录像, 不覆盖原录像
removedemo....................从DEMO中剪掉一个片段,先用listdemo 看录像的信息
edgefriction 2............3D画面方面的东东
hpk_maxsize 0.5...........在custom.hpk多大时, 系统自动砍掉, 以MB为单位
=====================================================================================
远程遥控
先在Server.cfg 加上Rcon_password 密码
游戏中player 再以Rcon_password 密码 登入
Player 即摇身一变为AMD,可下达Server指令
但指令前需加rcon空一格。
rcon addip 0 ...........拒绝某个IP进入游戏,0表是永久,以分钟计,IP之取得由rcon status
rcon addid 0 kick....设定某个WON ID不准进入游戏,时间设定同上
rcon kick xxx...............把某个玩家踼掉,xxx可以是玩家id,不过由于有些人会加些特殊码,有时会失效,则必需改用玩家编号,(编号由rcon users可取得,每个id最前方的数字即为玩家编码,用rcon kick # yyy #)
rcon listid.................(看bannd id)
rcon restart................server地图重玩
rcon say ID:................server talk
rcon say xxxx...............由server发生公告,不管死掉还是活着的都看的到,若是发出来讯息很怪,每个字会被"夹住,可改用rcon say "xxxx"即可改善,不过1.1版应该不会有这现象了
rcon status.................看Info
rcon users..................看所有人资料
rcon writeip................将Ban掉的ID存入server
rcon writeid........将Ban掉的WON ID存入server
rcon_address IP.............Server满人时候用,只可以进行管理,不能Play
rcon_password 密码..........AMD登入密码
在使用addip和addid的同时, 建议最好做一个autoexec.cfg档, 里面写下exec listip.cfgexec banned.cfg
这样子在Server重新激活时, 才会把上一次存下的记录Load到新激活的Server里, 而名字最好就用Toexec.cfg,因为valve.rc里设定是找这个档来跑, 或是自行修改那个档去捉别的也行, 其中, listip.cfg是ban掉的ip记录文件, banned.cfg是ban掉的won id记录文件, 最后, 不建议把exec listip.cfg和exec banned.cfg放入server.cfg, 这 样会使每次换地图时就load一次, 由rcon listip和rcon listid很快就会发现被重复的记录塞满
=====================================================================================
秘技,sv_cheats 1(developer 1)时才能使用以下指令
impulse101...............加16000元
god......................无敌模式................(试不出来)
lambert -1.01...........看到人们在黑暗中发亮
notarget x...............使计算机玩家忽略你的存在..(...没用)
noclip x.................穿墙模式................(试不出来)

cl_backspeed 999.........加快后移速度
cl_forwardspeed 999......加快前移速度
cl_sidespeed 999.........加快侧移速度

gl_zmax 0................可看及射穿墙壁
gl_zmax 100..............看穿墙壁
gl_zmax 3600.............让墙壁恢复原状

sv_clienttrace 9999......超级自动瞄准
clienttrace 0000.........切回手动瞄准

givespaceweapon_awp......得到Arctic Sniper Rifle
GIVE 物品名..............取得物品................(试不出来)
GIVE WEAPON_武器名.......取得武器...............(试不出来)
武器名称如下:
GRAPPLE
KNIFE
PIPEWRENCH
EAGLE
M249
SNIPERRIFLE
DISPLACER
SHOCKRIFLE
SPORELAUNCHER
投票换地图指令 admin_vote_map XXX(地图名)
投票踢人指令 admin_vote_kick XXX(ID)
参考技术A 这种老是自以为是的菜鸟发一堆没用的回答,最让人不爽。鄙视你 参考技术B LZ说的是中文发音吧。是个BAT文件,网上搜索一下就有。

基于SOLA算法的变声实例

摘  要

语音信号中有各种各样的信息,主要载有语音内容信息(What was said ?)、说话人特征信息(who said it ?)以及说话环境信息(where it was said ?)。说话人特征描述了与说话人身份相关的声音方面特征,而与具体内容信息和说话环境无关。语音转换的任务就是就是要改变说话人特征,而其它方面的信息保留不变。

本文的主要步骤有:

  • 基于计算机模拟信号的采样。计算机内的声音传感器感知外界的声音播放源,收集声音模拟信号,模拟信号经过A/D转换器,以量化后的二进制数存储在计算机中,该二进制数的位数越高,采样精度也越高。
  • 对声音特性的描述分析。声音主要由音质决定的,音质包含了音高、音色、音量三个主要方面。音高影响着声音的响度;音色决定着声音的表现;音频概述着声音的尖锐或浑浊程度。
  • 深刻理解SOLA(Synchronized overlap-add)重叠相加算法的内涵及原理,并将其充分利用在声音变速的实现上。
  • 声音在时域与频域上的变换。根据傅里叶中信号组成的概念,对于声音信号可以进行傅里叶级数展开(在计算机处理中即求其的DFT)。得到其频谱后,观察音高,音调,泛音等特性,通过一系列频谱变换的手段,如上采样、下采样、线性插值、或频谱搬移,改变其频谱结构,进而改变声音信号。
  • 用MATLAB编程实现整个功能。

关键词:DFT/FFT;上采样;下采样;SOLA算法;音质;

引言

目前,说话人语音转换技术取得了一定的成果,无论是主观测试还是客观测试,转换语音相比源语音都更接近于目标语音,但是这种转换技术还是一项很不成熟的技术,还有很多问题需要解决。这是一门基于统计与大数据的技术,需要大量的声音特征信号作为基础。而在没有大量数据支持的情况下,我们只能很笼统地去转换声音,在转换成的每一类声音中将无法继续细分。另外很多的声音经过转换后会产生明显的失真与缺失,这将影响着转换的质量。其中语音时间规整技术和语音变调技术是两大很重要的课题,是语音信号处理的重要组成部分。

 

    声音的频带与特性

      声音的频带划分

据我们常规的定义,频率在250Hz以下为低频,频率在500-2kHz为中频,而高频则是2kHZ-16kHZ。而人能听到的最高声音频率为20kHz。

20Hz--60Hz部分。这一段提升能给音乐强有力的感觉,给人很响的感觉,如雷声。如果提升过高,则又会混浊不清,造成清晰度不佳,特别是低频响应差和低频过重的音响设备。


60Hz--250Hz部分。这段是音乐的低频结构,它们包含了节奏部分的基础音,包括基音、节奏音的主音。它和高中音的比例构成了音色结构的平衡特性。提升这一段可使声音丰满,过度提升会发出隆隆声,衰减此频段和高中音段会使声音单薄。


250Hz--4KHz部分。这段包含了大多数乐器的低频谐波,同时影响人声和乐器等声音的清晰度,调整时要配合前面低音的设置,否则音质会变的很沉闷。如果提升过多会使声音像电话里的声音;如把600Hz和1kHz过度提升会使声音像喇叭的声音;如把3KHz提升过多会掩蔽说话的识别音,即口齿不清,并使唇音“m、b、v”难以分辨;如把1kHz和3kHz过分提升会使声音具有金属感。由于人耳对这一频段比较敏感,通常不调节这一段,过分提升这一段会使听觉疲劳。


4kHz--5KHz部分。这是影响临场感(距离感)的频段。提升这一频段,使人感觉声源与听者的距离显得稍近了一些;衰减则就会使声音的距离感变远;如果在5KHz左右提升6dB,则会使整个混合声音的声功率提升3dB。


6kHz--16kHz部分。这一频段控制着音色的明亮度,宏亮度和清晰度。一般来说提升这部分使声音洪亮,但不清晰,还可能会引起齿音过重;衰减这部分使声音变得清晰,可音质又略显单薄。该频段适合还原人声。

低频部分幅度最突出的频率通常定义成基频,基频整数倍的频率成分为谐波。此外声音一般在频谱上有两个或以上的共振峰(共振峰指的是频谱上能量较为集中的频带),在声学模型上,这些共振峰就是发声腔体的谐振频率区。我们可以把人的发声腔体比作一个个不同频率的带通谐振滤波器,在不断的振动中对于某些频率成分衰减,某些频率成分增强,增强的即为共振峰。共振峰很大程度的决定了一个声音的音质。

 

声音的特性

声音的特性主要由音高、音色、音量决定。

声音频率的高低叫做音高。表示人的听觉分辨一个声音的调子高低的程度。音高主要由声音的频率决定,同时也与声音强度有关。对一定强度的纯音,音高随频率的升降而升降;对一定频率的纯音、低频纯音的音高随声强增加而下降,高频纯音的音高却随强度增加而上升。高频谐波多的声音表现得很尖锐,低频部分多的声音表现得很浑厚。

音量,是指各种音调高低不同的声音,即音的高度,音的基本特征的一种。音量值大的声音洪亮,音量值低的声音低沉。

音色是指不同声音表现在波形方面总是有与众不同的特性,不同的物体振动都有不同的特点。音色主要由声音的泛音部分决定,对于不同音色的声音而言,它们泛音的起伏波动是不同的。泛音可以理解成对声音信号进行傅里叶分解后的谐波成分。对于纯音来说,是只有基频部分而无泛音部分的。

 

设计原理

采样分析

人能感知的最高声音频率为20kHz,故我们得到的声音采样信号在频谱上只要能包含0~20kHZ范围内的频率信息就行了。根据采样定理,采样后的信号在频谱上是以采样频率进行周期拓扑的,且采样频率应为最高频率的两倍才能很好的保存和复原声音信号。

从信号的傅里叶级数组成上来看,声音信号是由不同频率的正余弦信号组成,每一种组成信号在一次振动中至少要有两次采样,分别在高电平和低电平区域,人能感知的声音频率最高为20KHZ,所以为了在20KHZ内的每一个信号的每一次振动中能取到至少两个点,一般把采样率设置为40KHZ ,这是不同于从频谱角度上的分析。

为了对原始采样信号进行变调处理,通常会进行第二次采样,该操作称为重采样。

重采样可细分为上采样、下采样以及线性插值。

上采样,指在原始序列中每个离散值之间插入N-1个0,可由矩阵乘法实现。

 ↓↓例如定义一个上采样2(N=2)↓↓

                                   

对上采样(↑N)后的序列进行DTFT,令

上述公式推导出上采样(↑N)可以使得序列频谱在原有的基础上压缩N倍。

下采样,指在原始序列中每隔N-1个值取出一个离散值,可由矩阵乘法实现。

 ↓↓例如定义一个下采样2(N=2)↓↓

 对下采样(↓N)后的序列进行DTFT,令

上述公式推导出下采样(↓N)可以使得序列频谱在原有的基础上扩展N倍。

线性采样类似于上采样,不同的是线性采样插入的值不是0,而是与原序列成线性关系的值。插入后同上采样一样,序列会在原有的基础上进行频谱扩展。可以理解为对声音模拟信号以更高的采样率进行采样。

 

SOLA算法

SOLA(Synchronized Overlap-Add)算法可以在不影响声音基频的情况下,对原信号进行变速处理,是OLA算法的改进。OLA算法对原声音信号分帧重合成时,在帧与帧之间的重叠区域只是简单的加权叠加,并未考虑帧与帧之间切入点的连续性与重叠区域的相关性。对于这类缺陷SOLA算法给出了解决方案,它为帧与帧之间的切入点提供了一个位移矢量K,允许切入点在以其为中心的区间[KMin,KMax]内进行移动,且每移动一个单位,两帧之间新产生的重叠区内的数据进行一次相关系数的计算,最后取相关系数最大的那个点作为两帧之间的切入点。SOLA全过程如下↓

  • 对原信号进行分解(直接从原序列原点处开始截取W个数作为第一帧序列,接下来每隔个单位进行截取,被截取下的序列(帧)长为W,帧数为N),实际上就是一种交叠分段,相对于连续分段来说,交叠分段能更好地保证分解帧的延续性。其中帧间距为,帧长为W,帧数为N,重叠区=W-,为原信号总长。

 

 

  •  将N个分解帧以帧间距 重新合成一个新的序列,新重叠区为=

 

 

 

合成第m帧信号时,如果m=1,那么直接把原信号第一帧序列放入规整序列栏中作为起始帧。对于m>1的分解帧,在应该插入的位置即×m处的左右附近范围[KMin,KMax]内重新找一个插入位置点插入第m帧,这个插入点要满足使要插入的第m帧信号与已合成的信号在重叠区的互相关系数达到最大,互相关系数的计算公式如下,

 

从这互相关系数的计算公式来看,合成分解帧时所用的帧间距并不等于,这是因为偏移量k的存在,通过计算得出的互相关系数最大切入点并不一定会是×m点。也就是说合成分解帧后,规整信号的语速变化并不会严格遵守理论计算的比例。为了解决这个问题,可以把这个位移矢量k放在原信号分解帧序列x[•]中。此时互相关系数计算公式如下,

 

 源码分析

 

Fs=22050;%对模拟声音信号的采样频率
sounds=audiorecorder(Fs,16,2);%sounds保存了声音采样对象.
%16为BitsPerSample(即每个样本值是用几位的二进制数表示).
%一般采样频率提高了,BitsPerSample也要提高。
%因为采样频率提高了,说明对模拟信号的采样间隔减小了,
%采样值被更加细分,采样精度提高。为了匹配采样精度,
%BitsPerSample就需要提高。2表示双声道采样,即有两种
%相同的采样方式在同时进行,最后得出的采样序列是两份。

recordblocking(sounds,3);%开始采样,采样时长为3秒
MyRecording=getaudiodata(sounds);
audiowrite('words.wav',MyRecording,Fs);

figure

[y,Fs]=audioread('words.wav');%以采样频率f=Fs(为被读取文件的采样频率,
%因为要匹配被读取文件采样个数)
%对音频信号文件“words.wav”进行采样,即每隔1/Fs时长在“words.wav”文件上取一个值,
%y以矩阵的形式返回采样信号(随时间变化的声音响度信号,进行了归一化处理)
%y为T*Fs行2列的矩阵(T为"words.wav"音频文件的时长),默认采用双声道采样,即同时采样两份并分为两列

t=(0:length(y)-1)/Fs;%变换出时间尺寸坐标。length(y)相当于max(size(y)),
%即在y矩阵的行数和列数中取最大的那个数
%size(y)返回y矩阵的行数和列数

plot(t,y);
title('声音信号在时间轴上的双声道强度分布');

figure

averageY=0.5*(y(:,1)+y(:,2));%对双声道采样得来的两份采样本进行平均,减小采样误差,
% y(:,1)表示取y矩阵第一列的所有数,冒号:代表所有

N=(0:length(y)-1);%得到采样点数
interval=(0:0.5:length(y)-1);%需要进行插值的横坐标值

ProcessedSound=interp1(N,averageY',interval,'linear');
%得到对averageY'(以N为横坐标)向量插值后的的向量ProcessedSound(以interval为横坐标)

plot(interval,ProcessedSound);
title('对声音进行插值处理后在时间轴上的模拟采样分布');

 

function [ NewSign ] = SOLAadjustment( specification )
%读取一段音频并进行SOLA算法处理,根据specification的数值大小输出相应的变调不变速的声音

[Y,Fs] = audioread('words.wav');
b=specification;  %b=Sb/Sa,原信号帧间距Sb与规整后信号帧间距Sa的比值,是规整因子的倒数
OriginalSign=Y(:,1)'; %在双声道采样数据向量Y中,取第一列所有元素      
u=b*1000;
ResampleSign=resample(OriginalSign,u,1000);
%以u/1000=b倍原采样率的新采样率对OriginalSign按照一定运算法则进行重采样,
%得到的ResampleSign序列长度是OriginalSign的u/1000=b倍
%b<1,时域压缩而频域扩展,声音表现为高频,同时由于序列长度变短,语速变快;
%b>1,时域扩展而频域压缩,声音表现为低频,同时由于序列长度变长,语速变慢。
%ResampleSign虽然音调改变了但语速也改变了,所以需要用SOLA算法对ResampleSign进行处理(规整时长),
%从而得到一个语速和原始信号OriginalSign一样的规整信号 NewSign

S=400;   %信号序列一帧的长度,分解信号(ResampleSign)与规整后信号的帧长是一样的

Overlap=200; %规整后的输出信号的数据重叠区长度

Pmax=170; %允许寻找相关性最大移动位数,作用在原始信号帧序列中。如此做的原因已经介绍过。

B=S-Overlap; %规整后的输出序列间距

OriginalLen= length(OriginalSign);  %经过重采样得到的ResampleSign序列虽然音调改变了,
%但是它的语速也相应的变慢了或变快了,
%所以为了实现语速不变,规整后的输出序列NewSign的长度应该要和OriginalLen序列相等

NewSign= zeros(1, OriginalLen);  %为规整后的输出序列开辟长度,且与OriginalLen序列长度相等

ratio = (1:Overlap)/(Overlap+1); %找到相关最大的切入点后,重叠区的加权叠加系数
i = 1:Overlap;          
app=1:B;      %信号追加移动变量

CalSeries = [ResampleSign, zeros(1,400)]; %以重采样信号为模板新建序列用以计算

NewSign(1:S) = ResampleSign(1:S); %取重采样信号第一帧给(将要规整的)新信号            
for newpos = B:B:(OriginalLen-S)    
        Originalpos = round(b * newpos);              
        y = NewSign(newpos + i);           
        rxy = zeros(1, Pmax+1);         
        rxx = zeros(1, Pmax+1);         
        Pmin=0;  
        %相关性计算
        for p =Pmin:Pmax        
            x = CalSeries(Originalpos + p + i);
            rxx(p+1) = norm(x);             
            rxy(p+1) = (y*x');          
        end
        Rxy = (rxx ~= 0).*rxy./(rxx+(rxx==0));    
        pm = min(find(Rxy == max(Rxy))-1);       
        bestpos = Originalpos+pm;        %当前最佳匹配位置,相关最大切入点  
        NewSign(newpos+i)=((1-ratio).*NewSign(newpos+i))+(ratio.*CalSeries(bestpos+i));  
        %重叠区的加权叠加

        NewSign(newpos+Overlap+app) = CalSeries(bestpos+Overlap+app); 
         %去除重叠部分信号追加在新信号输出序列  
end

end

原理分析

 对一段模拟信号采样得来的数据先进行一次插值处理(即可在每个样本点之间再插入一个或多个值,这些新插入的值并不是无规则的,而是根据源数据的分布走向,按照某种函数关系产生的值。),插值后会发现样本数据的DFT幅频图上产生了频率压缩现象,即低频部分明显增强而高频部分明显减少。事实上插值这个操作使得采样数据在时域上进行了扩展(因为在原先的采样数据之间被新插入了值,这个现象可以抽象成时域扩展),故插值后的DFT在频谱上会产生压缩。此时若还是以原先的采样率Fs播放插值后的采样数据,声音将表现为慢速浑厚的大叔音。之后以该采样序列作为扬声器的输入信号,我们只要通过增大采样率来减小每一个采样数据的播放时间就能得到音频较高的萝莉音。之所以将采样得来的数据先进行插值处理是为了提高声音采样数据的丰富度,这样可以有效地减小声音变换后的失真程度(比如某些该有的音没有发出来)。

 

对于一段音频信号,假设计算机里的扬声器原来的播放每一个信号值的时间间隔为1/Fs,当将时间间隔改为1/0.7Fs时,声音信号相当于在时域中关于时间轴进行了扩展,在频域上关于频率轴进行了压缩,压缩后的频谱中低频部分明显增加,从而产生了低频的浑厚声音。同时,由于播放每一个声音值的时间间隔延长,声音的语速变慢,声音播放时长变长。对于萝莉音同理分析。

 

另外若将一段声音信号乘以一个正弦或余弦信号,根据信号的调制可以分析得,声音频谱将向左向右分别移动正余弦频率值的长度,移动后的频谱在高频上的泛音明显增多,从而使得声音更加尖锐。但如果移动长度过大,将导致低频部分缺失,产生声音失真。

 

总结

声音的根本在于其频谱的分布,透过其外在表现去分析其内在的组成成分,将会很清晰地观察到声音的各频率的分布,通过一定信号处理手段改变其频谱结构,从而达到我们想要的声音效果。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于问下把CS声音调成正常说话的命令是多少,有的F说话听不清,加了命令就听清了 请问命令是多少?的主要内容,如果未能解决你的问题,请参考以下文章

《QT语音》无法说话没有声音的解决办法

说话人识别概述

为什么有的人说话一定要带手势?生物学基础找到了

说话的几率是多少?

百度AI框架飞桨这个声音克隆的机器人,能模仿你说话

有没有办法在 Windows 语音合成器说话时显示音频波?