Hero Circle Shape
Hero Moon Shape
Hero Right Shape
tokenpocket钱包app官网下载|pybk

tokenpocket钱包app官网下载|pybk

  • 作者: tokenpocket钱包app官网下载
  • 2024-03-07 20:43:12

朋友别哭(1999年创办同志网站)_百度百科

(1999年创办同志网站)_百度百科 网页新闻贴吧知道网盘图片视频地图文库资讯采购百科百度首页登录注册进入词条全站搜索帮助首页秒懂百科特色百科知识专题加入百科百科团队权威合作下载百科APP个人中心朋友别哭是一个多义词,请在下列义项上选择浏览(共12个义项)添加义项收藏查看我的收藏0有用+10朋友别哭播报讨论上传视频1999年创办同志网站朋友别哭,创办于1999年11月23日,正式发布于1999年12月8日,站点历史10年,创始人TONY。中文名朋友别哭创办于1999年11月23日正式发布于1999年12月8日站点历史10年目录1关于网站2网站宗旨3网站口号4管理团队5朋友别哭历程关于网站播报编辑朋友别哭以“人文关怀,文化担当”为宗旨,通过互动的空间,营造一个洋溢着健康,清新,亲切,温暖的家的感觉,真情的空间。朋友们在这里找到了一种认同和归属,成为这个文化氛围的创造者。朋友别哭是以交友为特色,集文学、新闻、广播、社区、聊天、生活、娱乐、图片、影视、下载等丰富互动内容的综合性网站,是中国大陆历史最为悠久,人气最为旺盛的同志网站之一。朋友别哭经过10年的坚持积累,取得了长足的进步,2004年3月创始人TONY在北京注册成立北京博凯时代文化交流有限公司,组织专门的员工团队,进行规范的公司化运做,投资购置了设备和优质的运行环境,2003年5月,朋友别哭通过审批,获得北京市通信管理局颁发的经营性网《电信与信息服务业务经营许可证》,成为国内第一家公司化运作,经营手续完备齐全的同志网站。在这个框架下,网站成功的进行了改版,扩大和充实了服务内容,新开辟了若干新的栏目和功能,升级了服务器软件环境,使服务水平进一步提高。朋友别哭网站各项服务内容不断完善发展,交友会员踊跃,拥有注册会员近80万名,累计照片10万张,会员资料累计浏览超过9000万次,好友300万对,站内邮件500万封;新闻更新及时,内容鲜活,累计发表新闻10000篇,浏览次达5000万次,文学、人物、生活等栏目拥有文章10000篇/章,最高单篇浏览量超过300万次,累计浏览量超过9000万次;广播栏目重新开播,延续并发扬了以往互动实评,贴近生活的特点,迅速获得广大朋友的认可,新增栏目和功能深受广大网友青睐,网站呈现欣欣向荣的发展势头。回首过去的10年,朋友别哭经历了风风雨雨,有高潮也有低谷,有进步也有不足,有太多值得我们思索的成功或失败。但当我们今天回首过去10年的时候,我们能如此真情不移,互动相依,十年如一,朋友别哭和朋友别哭所有的朋友们,这是我们共同的努力,我们共同的成功!我们相信,在广大网友的不断支持下,我们会将朋友别哭办的更好,走得更远……朋友别哭 要相信自己的路 朋友别哭 我陪你就不孤独 ……网站宗旨播报编辑人文关怀 文化担当网站口号播报编辑真情,互动,朋友别哭管理团队播报编辑站 长:Tony站务秘书:Tommy朋友别哭历程播报编辑1999年11月23日 申请了东方网景的空间,开始筹划。1999年12月08日 朋友别哭第一版诞生!1999年12月25日 第一次改版1999年12月26日 被新浪收录。1999年12月30日 成为8848t赞助的个人网站,日访问量达到500人。2000年01月04日 “朋友别哭”中文网址申请成功。2000年01月08日 第二次改版。2000年02月13日 第三次改版。2000年03月08日 被新浪收录。2000年03月18日 第四次改版, 日访问量达到1000人。2000年04月15日 获得阳光品网认证!2000年06月 停止更新。2000年07年26日 第五次改版,每日更新。2000年11月15日 免费主页空间由于宿主服务器遭到大规模攻击,资料全部丢失。2000年11月24日 朋友别哭注册两个国际域名。2000年11月25日 新服务器启动。2001年03月 第六次改版。2001年08月 服务器升级为VIP服务器。2002月02月 启用现在的新域名。2002年 稳定发展,交友栏目逐步领先。2003年02月 购买第一台独立服务器。2003年05月 托管服务器。2003年05月 开始提供收费服务。2003年06月 购买第二台服务器并托管。2003年 业务发展迅速。2004年02月 购进一批设备。2004年03月 注册成立北京博凯时代文化交流有限公司。2004年04月 获得信息产业部、北京市通信管理局颁发的经营性ICP证:京ICP证040344号。2004年06月 推出5周年纪念T-SHIRT。2004年07月 会员突破10万人。2004年09月 网站流量超过所有同类网站,居全国同类网站第一。2004年10月 第七次改版,网站程序全面升级,服务及质量大幅提升。新手上路成长任务编辑入门编辑规则本人编辑我有疑问内容质疑在线客服官方贴吧意见反馈投诉建议举报不良信息未通过词条申诉投诉侵权信息封禁查询与解封©2024 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号 京公网安备110000020000

世界上到底有多少个我不知道的“最大同性交友网站”? - 知乎

世界上到底有多少个我不知道的“最大同性交友网站”? - 知乎切换模式写文章登录/注册世界上到底有多少个我不知道的“最大同性交友网站”?MeTown懂玩具,更懂情趣互联网时代人与人之间的距离总是很近。交流模式也随着网络发展开始改变。其中一些常规词汇也在传播中产生了讹变。带着些许自嘲与自污,虽说看客一般一头雾水,但使用者普遍乐在其中。就比如“同性交友网站”这个名头。事实上,在说到同性交友网站的时候。我想你脑中显现的可能是这样一副场景。但实际上,在现在互联网语言中。这是一个梗。这个说法最早是被放在弹幕网站Acfun上的。Acfun,简称A站。口号是“认真你就输了”虽说对于现在很多人来说有些陌生。但大家都是上网冲过浪的人。如果你知道金坷垃梗的话。这部鬼畜元祖最初就是出自A站。而同性交友网站的说法最初也是出自A站。这或许要追溯到A站的个人信息设置。他们出人意料的加了个“性取向”的设置。而根据网络传闻。有许多没有进行过信息设置的用户们发现。A站的默认性取向是“同性恋”当然,A站具体被称为同性交友网站的原因是否来源于此我们并不知晓。但不得不承认的是,这个概念至少在早期阶段深入人心。毕竟有网友在旅游的时候都看到了这句经典名言。足见其民众基础。但很可惜的是,由于时间变幻。同性交友网站这个名头被另一个网站给夺走了。而且恰好的是,这个网站叫B站。全名Bilibili。坊间传闻,B站CEO陈睿在某次接受专访的时候说过:“我们一直想给B站找个定义。想来想去,还是‘最大的同性交友社区’。”而“最大同性交友社区”也颇为符合b站用户的喜好。用户们甚至还自发的P了这么一张梗图。堪称坐稳了同性交友社区这一称号。但如果我们把同性交友网站的范围放大到全球范围。最大同性交友网站这个名头会再次易主。而且这次夺过这个名头的是个极为硬核的外来网站。名为GitHub。如果说PornHub是宅男们的休憩之地。那么GitHub就是程序员的快乐源泉。这个网站上汇聚了200多个国家的开发者,注册用户已经超过了3000万。每年在上面提交的代码都超过3亿行,这里是码农们的圣地,也是全球最大同性交友网站。由于其高达95%的男性用户占比。这个网站也被戏称为GayHub而且,虽然是个戏称。但这群技术宅的骚操作也不少。就比如在2018年的时候,一个叫神楽坂 覚々的 Github 用户,创建了 Dress 这个项目。而神楽坂 覚々给 Dress 这个项目定了一个参与规则:男,上传自己的第一张女装照。没错,就是女装。这个项目在一周内就吸引到了50多位女装大佬的参与。而这个项目在后续也吸引到了300位大佬的爆照与3000余位用户的标星。这群欢乐的技术宅们也并未把这个项目当成一个纯粹的整活操作。最后这里成为了一个学习GitHub的项目。里面有大量手把手教学,先进带动后进,教会无数0基础入门者如何使用Github。甚至于这个项目在后期还吸引到了女孩子的申请加入。但可惜的是,被无情拒绝了!不愧是你啊,GayHub。但话说回来,GitHub这个网站之所以受欢迎。并非完全因为放飞自我的码农们在这上面搞同性交友。事实上,在这个网站里,有无数沙雕气息四溢的有趣灵魂用自己的专业技能骚操作不断。就比如传说中用菜单栏摸鱼的——Thief-Book。这玩意儿能把小说藏在桌面的底部菜单栏里。用起来十分方便且隐蔽,还是个开源程序。完美符合上班摸鱼的所有条件,妈妈再也不用担心我上班看小说被抓包了!而除了摸鱼神器之外。前段时间在互联网上很火的狗屁不通文章生成器也出自这里。只需要输入主题,瞬间就能整理出一篇万字长文。让人不得不惊叹于这位兄台的脑洞之大。而这些透屏而出的沙雕快乐气息也并非只存在于软件的使用上。实际上,还能存在于代码之间。就比如有些老哥会在代码中注解下自己对编程的理解。一字一句都带着些许看破红尘的哲学意味。多少有些龙场悟道了。不过话说回来,虽然看似有些不靠谱。但是从实际上来说,GitHub其实是一个非常优秀的网站。前段时间大火的文言文编程语言其实也是出自这个网站的。虽说我不懂编程,但是在看到这个编程语言之后。我发现我不懂的不仅是编程。我连中文都不懂了。只能感慨一句,大佬整活都整的与众不同。当然,想必大家也发现了。这些网站除了同性交友。实际上也是许多人的乌托邦。沙雕气质与硬核做派成为了一道风景线。这或许就是“同性交友”的另外一重含义吧。Salute发布于 2022-04-22 15:28同性恋恋爱交友网站男同性恋​赞同 21​​2 条评论​分享​喜欢​收藏​申请

同志社交的最终最佳途径是什么? - 知乎

同志社交的最终最佳途径是什么? - 知乎首发于Giscovery同志观察切换模式写文章登录/注册同志社交的最终最佳途径是什么?包翔Dr.B​作者丨CY(文章有点长,请您耐心阅读,相信一定会让您有所收获的!)同志社交的最终最佳途径,是Blued?Alo?还是加入一些基友微信群?又或者是上知乎、豆瓣等网站寻找同志版块?越来越多的同志已经厌倦了互联网社交的低效率性、我们投入太多的时间在网络上,并没有达到真正有价值的社交,而是被海量的、碎片化的、无营养的互联网信息数据浪潮所拍打。同志互联网社交的没落1.“知乎”成“基乎”?并不乐观的网站社交最早,知乎是一个邀请注册制的网站,随着开放注册,用户结构发生了巨大了的变化。知乎本来是一个以问题为中心的,偏重于学术讨论的高质量内容输出型网站,却因开放注册,慢慢变成了“故事会”。这在同志版块更为明显:最早的知乎同志版块,不乏有趣的多元性别议题和干货内容,也不乏对于国内同志社会学、心理学问题的深度讨论。而如今,知乎的同志版块却变成了发帖征友的交友版块,这似乎违背了早期知乎的网站主旨,虽然知乎在官方的社区规则下明令禁止交友贴与钓鱼贴,但似乎是因为具有一定流量变现的营销价值,知乎从未真正整顿过此类帖子。而事实上作为一个重点互联网营销阵地,知乎上也出现了极多同志相关自媒体、代孕公司或其他企业的营销内容,可惜的是,很多年轻基友难以判断内容的营销性质,同时,许多营销内容一味专注于同志“速配找对象”、“注重颜值身材”、“渴望家庭”的痛点,带动表面主义与浮躁主义,并未产出真正有益于同志寻求正能量健康生活方式的营养内容。堪忧的是,知乎同志版块的社交贴总是存在暴露隐私以及私信骚扰的问题。这无不于开放注册后的用户数量及结构相关。在早期以书影音为爱好的文艺青年聚集地——豆瓣也同样是如此,一个用户可能在知乎没有任何精彩的回答或提问的精彩讨论内容、在豆瓣没有任何的对于书影音等文艺内容的讨论,便可以注册后在同志版块发帖,这与早期的搜同、帅同、BF99等同志相亲交友网站如出一辙。我们并不否认这些网站具有交友的附带属性,但他们并不是专门的“同志社交”网站,也就意味着用户理应在满足网站本体主旨,产生个体内容输出的情况下进行附带的社交行为。马甲号、小号、同志社交专用号的出现,拉低了这些网站同志版块的内容质量,也更容易让直人群体产生同志“饥渴”的误解。而百度贴吧则更是可怕——低龄、低质量的内容比比皆是。我们不相信学历和年龄对个体社交会有决定性因素,但不可否认它们是因素之一。根据CNNIC的第40次中国互联网调查,截止2017年6月,我国的网民学历仍以中等学历为主,网民学历中,小学及一下占16%、初中占37.9%,高中/中专/技校占25.5%、大专占9.1%、大学本科及以上占11.6%,年龄分布中,10-19岁占19.4%、20-29岁占29.7%、30-39岁占23%、40-49岁占14.1%。同志群体网站社交的形式,在由大量你不知道“操作键盘的到底是谁”的用户存在下,有意或无意地“强化同志标签”,已然让这一方式走向式微。2.Blued、Alo的失败与伟大Blued是伟大的,它让同志社交变得似乎触手可得,尤其是让二三线及以下城市的同志拥有了可能是唯一接触同类群体的途径。耿乐曾在2017彩虹媒体奖的颁奖典礼上发言说过:“你们考虑过我们国家大量农村和小城市的同志社交吗?”而Blued也是失败的,正因为它的开放性和用户量大的特点,作为一家企业,营销和流量变现是第一位的。因此,它所引导和产出的内容必须更符合它最大的目标用户群的需求——注重颜值、身材、物质条件。这从Blued官方所扶植的直播内容、商城、代孕中明显可以看出。然而,当我们有幸与Blued内部工作者讨论为什么不产生更多深度有价值的内容时,他们会表示很难,因为他们的用户并不喜欢那些,也并不能更好地达成流量变现。而用户层次良莠不齐、年龄逐渐大叔化的现象在这些APP平台则更为明显。Blued和Alo共同存在的问题是将同志社交往表面主义的浮躁社交引导。这从该App的个人页面便可以看出——用照片来决定喜欢不喜欢。事实上,并非是每一个同志都那么注重颜值,何况在这些App上存在大量的虚假照片。而对于颜值外的进一步同志社交,这些软件的设计并没有很好地去注重。而Blued、Alo并不会倒,一是用户量和资金流的保证,二是它们同样也做到了同志社交的痛点——基于地理位置,也因此他们也成为了部分同志线上社交转换为线下社交的通道。虽然,在这些APP上由线上社交转化为线下的过程,在约炮以外,会让用户耗费太多太多的时间精力。3.被水淹没的微信群——非熟人社交的尴尬应用很多人加入了微信的基友群,期望遇到自己可以撩的人,但却渐渐被表情包、撕逼、外卖红包、小程序分享、潜水员、广告所淹没。事实上,这并不是微信群的错,好的基佬群太少太少,归根结底,问题在于,微信的设计,本就是用来熟人社交的。当我们在线下成为熟人后建立微信群,我们并不会对该群有那么多的不满,这时候,微信群并不是认识新人的渠道,而是社交的工具。而微信的功能本身,就并不满足陌生人社交的特点。微信群更是缺乏相关的管理功能。陌生人微信群本身就有代谢周期,在陌生人社交群很可能会出现“小圈子”、“大量潜水员”、“表情包、广告泛滥”的现象,然后很快沉寂,即便是有主题的微信群。微信不适合作内容沉淀,也意味着并不适合陌生人的深入社交。当我们谈及QQ,我们可能会发现QQ的同志群体,正面临“人肉广告机”的侵袭。微信群消耗了太多同志在陌生人社交上的期望和时间精力。我们并不应该将更多陌生人社交的期望放置于微信群、QQ群。总而言之,微信更适合作为熟人社交的工具,而不是陌生人社交的渠道。对同志群体来说,更是如此。4.互联网对社交的减益抖音、头条新闻、微博等碎片化信息的时代,正在改变我们人脑的认知,我们逐渐变得更加浮躁,对有深度、有价值的沉淀内容变得不耐烦,对我们的社交习惯改变也是如此。因此,长期接触互联网社交的同志,他们的社交习惯,以及对于感情的认知,也变得碎片化——常常难以维系长久稳定的感情。碎片化的网络社交同时也让我们越来越“不会说话”,沉迷于网络社交的同志个体更可能拥有线下真实社交时的社交障碍,很可能在线下变得尴尬、易脸红,哑口无言,而事实上我们都知道,线下真实事件的社交将会伴随我们一生,并不仅仅在同志社交上。互联网社交总有虚假性。我们常常会发现照片,或者“网上话超多超浪”的同志个体,在线下安静地一句话都说不出。互联网社交更容易传播同志社交的负能量,2017年的研究文献《中国社会文化背景下社会态度对同性恋人群的影响》中指出多项研究表明:同志终其一生都有相对较高的自杀风险,Diaz的研究表明,男同性恋焦虑和抑郁症状报告率为44%和80%。而互联网由于大家“说话不用负责”,每一个同志都可以是你的情绪垃圾桶,尤其是互联网陌生社交,则更易于负面情绪的传播。而互联网同志社交的使用者中,有很大一部分存在“深柜放飞自我”或是“自称性解放”的现象,这其实是一种“自我嫌恶的外化投射”,因而同志互联网社交更容易出现“撕逼”的现象,很多同志常常难以完善自我性取向认同,就此,2011年王晴锋的研究指出,自我认同良好的同性恋者会更自信、积极、具有强烈的反省意识。而国外的相关文献研究表面,出柜则更能够帮助同志个体提高心理韧性、减少心理疾病以及HIV患病率。不可否认,所谓深柜,其中一大部分的实质是“内化恐同”。互联网社交已经让越来越多的同志感到疲惫。但毫无疑问,互联网社交正在往这两个方向发展:1.注重信息的碎片化、流量变现、更注重社交的泛娱乐化。2.回归线下。数据引用自:https://zhuanlan.zhihu.com/p/40601212线下社交:同志社交的最终归宿1.自动筛选的同志社交门槛在笔者与众多性少数社群工作团队的讨论中,通过实践经验,我们发现:无论是公益活动、公众活动还是自筹众筹活动,这些同志活动本身就对同志个体具有一定的筛选性。通过长期的同志公益、公众、众筹活动,我们发现,积极参与或仅是愿意尝试参与线下真实活动并进行线下真实社交的同志,往往会有更好的自我认同。而这种自我认同常常是多维度的,不仅仅在于对于自我性取向的肯定、认同与接受,还在于对抛却性取向标签之外的自我肯定,例如:生活方式、生活态度、内在与外在、职业规划、理想追求、情感期望等。正由于线下社交活动的真实性,自动过滤了一些例如“照骗者”的互联网欺诈者,同时也一并过滤了较多存在个体问题的同志,例如:明显的线下真实社交障碍者、对自己极度不自信者,社交动机不纯者、心理疾病患者等自认为“见不得人”的人。Mimiaga等的研究表明具有抑郁症状的同志个体更容易发生高危的MSM性行为,而在一个具有主办方监管的正能量线下活动社群的社交场景中,此类个体明显将会有更少的出现率。简单来说,线下活动的真实性,尤其是公众类活动,保证了参与线下真实社交的基友本身便是“走得出来”并有社交需求。从而省去了同志通过互联网社交时去筛选社交对象所花费的大量时间与精力,并且增加了完全的真实性。2.重建同志个体社会支持系统Jones&McCrathy 2010、Outley&Mckenize 2007、Farble 1998等多项研究表明:融入到性少数群体中明显有利于同志个体的身心健康发展,与社群内部的成员互相沟通交流特别有助于个体自尊的正向影响。事实上,只有线下真实事件社交才有助于消弭沟通交流中的各项障碍,减少“互联网语境”所产生的误解。在一个健康正向的同志社群,线下同志社交很少会发生“撕逼”的现象,因为在大多数中国人的心目中,线下的社交礼仪规范要比网络礼仪更为深刻,而碍于网络的面具性,所谓“言论自由”的网络鼓吹,让线下社交时同志个体对自己言行的责任性比网络更高。风潮WindTide,亲友会还是北京同志中心等持续性运作的线下同志工作组织,其可持续的发展性和惠及的同志个体人数已经证明了一个正能量、正向健康的同志社群完全是被需要的。而这些团队所带给每一个同志个体的归属感、家庭感甚至存在感,都是非常可贵的。3.线下社交是最终途径线下社交是大多数同志社交的最终归宿,然而,有许多同志个体,出于各种因素,对于线下社交(无论是一对一还是公众活动)采取了逃避的态度。事实上,我们完全有理由相信,具有主办方监管的线下活动类社交,完全比一对一的私人社交更具有安全性和隐私性。在一个具有主办方监管的线下活动中,社交安全性得到了充分的提升。而主办方的主要活动形式的存在,也避免了一对一社交“无话可说”的尴尬。同时,对于公众活动来说,活动人数的保证也避免了一对一面基时,由于个体目的性太强,而造成“没感觉”就失去社交动力的情况。风潮WindTide所举办的“灯塔-知识经验交换沙龙”、“MrX-交友沙龙”、“海岸线LGBT桌游与TRPG/LARP”等广受好评的LGBT线下活动,不仅让同志个体更好地展现了自我价值,提升了自我认同与群体归属感,也让个体在活动中得到了充分的社交,从而思考与探索发现更健康快乐的同志生活方式。当然,以“寻求恋爱”为目的动机的同志社交是同志线下社交的一部分,但不是全部,诚然,各类线下活动可以满足同志个体找对象的动机,而发现群体内的挚友,交流生活中的所思所想,以共同兴趣开展活动丰富业余生活,更是完善重建同志个体社会支持系统的重要环节,同时也正向作用于同志个体寻求长久稳定对象的目的达成。4.局限与展望方刚所著的《性别心理学》中指出:从性社会学的角度来看,在更重视经济地位的美国,人们通常并不会认为一个富有的同性恋比一个贫穷的异性恋社会地位低。这一事实展现了有趣的社会价值权重。因而在当下的中国,同志线下活动社群的发展也受此影响。我们也许对资本主义抱有疑问,但大多数人依然相信经济基础决定上层建筑。我们很明显地看到,当下的中国,仅在经济高度发达的地区,各类同志线下活动更容易成功地举办,这与这些活动的主办方的资金需求与运作模式密切相关。此外,碍于线下活动的空间限制,线下活动将具有明显的地域特点,因此,除了地域经济水平外,线下活动是否可以成功举办,线下活动的主办方能否可持续发展,也与地域的各类文化差异密切相关,如:地域人群消费观念,地域人群文化娱乐观念,地域同志人群自我认同度等密切相关。如上海骄傲节ShanghaiPride与风潮WindTide的活动能够在上海长年可持续地成功举办,与上海地区本身高度发达的市场经济与更为西化的文化特点、海纳百川的城市精神与区域特点的契约精神不可分割。而政府入资的公益类同志组织,如青艾、北京通知中心的常青,也与其在这些地区性少数群体的人群结构特点密切相关,其投入与产出结果较为满意,才能获得持续的官方资金注入。亲友会的稳定赞助资金获得与自筹款模式,以及以区域中心带动分部的运作模式,也保证了这一民间组织的可持续发展。当然,好的线下社交活动对主办方本身也具有一定的要求:团队文化价值取向,团队工作人员的数量与品质,团队稳定的资金来说及团队的传承模式等。二三线及以下城市举办同志公众类/公益类线下活动的客观难点存在很多,如:地域经济水平所造成的资金限制,地域性的对于LGBT群体的认知与接受度(包括性少数个体的自我认知认同与直人的认知接受),地域消费文化观念等。我们呼吁拥有资金的LGBT友好企业,或是淡蓝、ALO这类资金量较大的同志企业可以思考将资金注入更多可靠的线下活动社群,虽然一线城市可能获利更多,而二三线及以下城市的同志线下社群更为有资金需求,也或许可以开发更大的市场空间,期望在满足经济物质利益(至少是保证这些社群的可持续发展)的同时,解决这些区域的性少数社交的社会问题。而风潮WindTide团队也愿意为合适、正向、具有良好口碑的全国各地的性少数社群(尤其是资金短缺但口碑良好的公益社群),以及具有一定创新性的新生性少数社群提供线下项目的建议支持。你不可能做一个一辈子躲在屏幕后面的同志。同志社交,终将回归线下,走出去,遇见更多的人,才会发生更多真正的故事。 文丨CYEND风潮WindTide-LGBT社交媒体自在丨真实丨温暖丨健康丨靠谱丨灵魂伴侣丨好基友丨LGBT生活方式丨遇见丨新的开始搜索微信公众号:windtideSH 即可关注我们团队编辑于 2018-07-26 18:49男同性恋同性恋同志交往​赞同 302​​28 条评论​分享​喜欢​收藏​申请转载​文章被以下专栏收录Giscovery同志观察发现更健康快乐的LGBT生

GitHub - josepatino/pyBK: Speaker diarization python system based on binary key speaker modelling

GitHub - josepatino/pyBK: Speaker diarization python system based on binary key speaker modelling

Skip to content

Toggle navigation

Sign in

Product

Actions

Automate any workflow

Packages

Host and manage packages

Security

Find and fix vulnerabilities

Codespaces

Instant dev environments

Copilot

Write better code with AI

Code review

Manage code changes

Issues

Plan and track work

Discussions

Collaborate outside of code

Explore

All features

Documentation

GitHub Skills

Blog

Solutions

For

Enterprise

Teams

Startups

Education

By Solution

CI/CD & Automation

DevOps

DevSecOps

Resources

Learning Pathways

White papers, Ebooks, Webinars

Customer Stories

Partners

Open Source

GitHub Sponsors

Fund open source developers

The ReadME Project

GitHub community articles

Repositories

Topics

Trending

Collections

Pricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

You signed in with another tab or window. Reload to refresh your session.

You signed out in another tab or window. Reload to refresh your session.

You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

josepatino

/

pyBK

Public

Notifications

Fork

10

Star

61

Speaker diarization python system based on binary key speaker modelling

License

MIT license

61

stars

10

forks

Branches

Tags

Activity

Star

Notifications

Code

Issues

2

Pull requests

1

Actions

Projects

0

Security

Insights

Additional navigation options

Code

Issues

Pull requests

Actions

Projects

Security

Insights

josepatino/pyBK

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

 masterBranchesTagsGo to fileCodeFolders and filesNameNameLast commit messageLast commit dateLatest commit History13 Commitsaudioaudio  eval-toolseval-tools  sadsad  uemuem  .gitattributes.gitattributes  LICENSELICENSE  README.mdREADME.md  config.iniconfig.ini  config_DIHARD.iniconfig_DIHARD.ini  diarizationFunctions.pydiarizationFunctions.py  main.pymain.py  View all filesRepository files navigationREADMEMIT licensepyBK - Speaker diarization python system based on binary key speaker modelling

The system provided performs speaker diarization (speech segmentation and clustering in homogeneous speaker clusters) on a given list of audio files. It is based on the binary key speaker modelling technique. Thanks to the in-session training of a binary key background model (KBM), the system does not require any external training data, providing an easy to run and tune option for speaker diarization tasks.

Description

This implementation is based on that of Delgado, which is also available for MATLAB. Besides the binary key related code, useful functions for a speaker diarization system pipeline are included. Extra details and functionalities were added, following our participation at EURECOM on the Albayzin 2016 Speaker Diarization Evaluation described here, the first DIHARD challenge, detailed in the Interspeech 2018 paper, and the IberSPEECH-RTVE Speaker Diarization Evaluation, explained here.

Installation

This code is written and tested in python 3.6 using conda. It relies on a few common packages to get things done:

numpy

scipy

scikit-learn

librosa for audio processing and feature extraction

py-webrtvad for voice activity detection

If you are using conda:

$ conda create -n pyBK python=3.6

$ source activate pyBK

$ conda install numpy

$ conda install -c conda-forge librosa

$ pip install webrtcvad

$ git clone https://github.com/josepatino/pyBK.git

Example

Five files from the SAIVT-BNEWS database are included in order to test the system (all rights reserved to their respective owners). These comprise audio files in wav format, speech activity detection (SAD) and unpartitioned evaluation map (UEM) files obtained from the references. For a quick run:

$ cd pyBK

$ python main.py

In the case of not finding UEM files, the complete audio content will be considered.

In the case of not finding VAD files, automatic VAD based in py-webrtvad will be applied. Automatic VAD may also be enforced in the config file.

System configuration is provided in the form of an INI configuration file, and comments are provided in the example config.ini file. To use this system on your data create a config file of your own and run:

$ python main.py yourconfig.ini

Finally, a config file following our DIHARD submission is also included. Note that this configuration is meant to be used with IIR-CQT Mel-frequency cepstral coefficients (ICMC) which can be replicated using MATLAB code available here.

Evaluation

The system will have generated a RTTM file which you can evaluate using the NIST md-eval script provided,

$ eval-tools/md-eval-v21.pl -c 0.25 -s out/[experiment_name].rttm -r eval-tools/reference.rttm

which should return a 5.32% diarization error rate (DER) using a standard 0.25s collar. By using the automatic VAD you should get a 10.04% DER. As per the DIHARD config file, when using ICMCs as features, this system returns a DER of 30.69% on the evaluation set, with a 0s collar.

Contact

Please feel free to contact me for any questions related to this code:

Jose Patino: patino[at]eurecom[dot]fr

Citation

If you use pyBK in your research, please use the following citation:

@inproceedings{patino2018,

author = {Patino, Jose and Delgado, H{\'e}ctor and Evans, Nicholas},

title = {{The EURECOM submission to the first DIHARD Challenge}},

booktitle = {{Interspeech 2018, 19th Annual Conference of the International Speech Communication Association}},

year = {2018},

month = {September},

address = {Hyderabad, India},

}

About

Speaker diarization python system based on binary key speaker modelling

Resources

Readme

License

MIT license

Activity

Stars

61

stars

Watchers

9

watching

Forks

10

forks

Report repository

Releases

No releases published

Packages

0

No packages published

Languages

Python

100.0%

Footer

© 2024 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

PYBK真是的好地方【大叔控吧】_百度贴吧

PYBK真是的好地方【大叔控吧】_百度贴吧

网页资讯视频图片知道文库贴吧地图采购 进入贴吧全吧搜索吧内搜索搜贴搜人进吧搜标签    日一二三四五六                                          签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力! 本吧签到人数:0 一键签到可签7级以上的吧50个一键签到 本月漏签0次!0成为超级会员,赠送8张补签卡如何使用?点击日历上漏签日期,即可进行补签。连续签到:天  累计签到:天0超级会员单次开通12个月以上,赠送连续签到卡3张使用连续签到卡 03月07日漏签0天 大叔控吧 关注:394,582贴子:21,339,466

看贴

图片

吧主推荐

视频

玩乐

1

2

3

4

下一页

尾页

50回复贴,共4页

,跳到 页 确定 

<返回大叔控吧>0< 加载中... PYBK真是的好地方 只看楼主收藏回复

鬼见愁●

意气叔盛7

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我可耻的匿了 送TA礼物

1楼2010-08-01 00:31回复

鬼见愁●

意气叔盛7

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 2楼2010-08-01 00:31回复收起回复

熊叔叔的救赎

叔不释手11

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 啥 IP属地:山东3楼2010-08-01 00:31回复收起回复

他陰間的主宰_

叔不释手11

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 自??? IP属地:中国香港4楼2010-08-01 00:32回复收起回复

鬼见愁●

意气叔盛7

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 好多萌叔,这只是其中之一 5楼2010-08-01 00:32回复收起回复

莪丨宝灬

知叔达礼8

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 没匿吧。。。 6楼2010-08-01 00:32回复收起回复

钢砲

同叔无欺12

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 溺了 IP属地:广西7楼2010-08-01 00:33回复收起回复

鬼见愁●

意气叔盛7

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 这不是重点 8楼2010-08-01 00:37回复收起回复

跟着云走

叔不释手11

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 萌叔在哪?2楼那个!? 9楼2010-08-01 00:38回复收起回复

xlxqx

品叔调丝10

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 PYBK是什么? IP属地:四川10楼2010-08-01 00:38回复收起回复

原来注册

知叔达礼8

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 2楼不错 IP属地:江苏11楼2010-08-01 00:41回复收起回复

koen007

误打误撞1

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 PYBK=屁YAN掰开~ 这都不知道~ 12楼2010-08-01 00:41回复收起回复

鬼见愁●

意气叔盛7

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 此叔大家应该都见过 13楼2010-08-01 00:47回复收起回复

鬼见愁●

意气叔盛7

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 回复:12楼好吧,你的解释比原意更好 14楼2010-08-01 00:47回复收起回复

xjqxzalw

叔不释手11

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 回复:10楼朋友别哭。。交友网站。。。。至于12楼的。。。。我沉默。。。。。因为我还很CJ IP属地:北京15楼2010-08-01 02:33回复收起回复 登录百度账号扫二维码下载贴吧客户端下载贴吧APP看高清直播、视频! 贴吧热议榜 1建议建立大学生防沉迷机制2340330 2娃哈哈 农夫山泉1927833 3各校最好老师大赛1376032 4EDG官宣Jiejie出院1203039 5明天放假半天796925 600后整顿婚姻576912 7在哪个吧里黄牌攻击力最强?413540 8星铁虚构叙事PVP榜单316827 9巴黎时装周明星大赏272820 10在食堂被笑话了243808 贴吧页面意见反馈违规贴吧举报反馈通道贴吧违规信息处理公示

1

2

3

4

下一页

尾页

50回复贴,共4页

,跳到 页 确定 

<返回大叔控吧 发表回复 发贴请遵守贴吧协议及“七条底线”贴吧投诉 停止浮动 内  容: 使用签名档  查看全部 发 表 保存至快速回贴 退 出 ©2024 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示

<

同性恋交友方式有哪些? - 知乎

同性恋交友方式有哪些? - 知乎切换模式写文章登录/注册同性恋交友方式有哪些?星座情感指南很多时候,发现自己性取向与常人不同的他同性恋者一开始并不敢表露自己,害怕被排挤被歧视,所以像同性恋酒吧、同性恋论坛这些交往渠道与方式就成了他们的选择。为你介绍更多同性恋交友方式。 一、同性恋交友方式有哪些?  1、同性恋论坛  2、同性恋交友  3、同性恋酒吧  4、同性恋活动聚会同性恋交友方式有哪些?很多时候,发现自己性取向与常人不同的他同性恋者一开始并不敢表露自己,害怕被排挤被歧视,所以像同性恋酒吧、论坛这些交往渠道与方式就成了他们的选择。为你介绍更多同性恋交友方式。 一、同性恋交友方式有哪些?  1、同性恋论坛  2、同性恋交友  3、同性恋酒吧  4、同性恋活动聚会 二、中国同性恋者较多的城市  上海:上海的GAY密度不是的。但是上海人口太多,所以GAY也超多。每次上街回来同志朋友都会打趣说:“上海的GAY太多,遍地都是,今天又碰到了多少个。”之类的。  北京:作为大帝都,就是八一样!北京人不保守,不刻板,多元而自由。特别是作为中国高校的聚集之地,北京的同性恋者中大学生的比例非常高!  哈尔滨:哈尔滨是东北同志的中心,几乎全是东北人,但是GAY中中年人偏多!  广州:广州的GAY很分散,除了广州,好多来自附近顺德,佛山等地方,人特杂。不过他们基本上会去深圳。广州的同志酒吧很多,但是都不太大。  重庆:重庆有三多,美女多,帅哥多,同性恋也多。不仅如此,重庆还有国内最多,也是最完善的同志关爱组织,有开放的同志酒吧和同志活动场所……一般规模也比较大。不过重庆的男同性恋者普遍素质较高,年轻,外表英俊。  南京:南京不是一个特大城市,GAY却多的不得了!好多是江苏和浙江附近的。同志交友网站上的南京密密麻麻,特别多!  成都:成都GAY的人数不亚于上海!但成都和重庆比较像,很适合同志的产生和生活。成都GAY的特点是:小孩子超多!小编也不造为神马……  西安:西安被誉为西北和中原的同志基地!唯一特点就是学生多多。  武汉:武汉的同性恋也非常多,华中地区的同志基地,学生特多,同志酒吧较少,武汉没有一个像样的同志酒吧,所以基本都属于游荡型~  青岛:毕竟青岛是个包容性比较强的城市,所以这里GAY算是最多最杂的了!!!啥人都有,简直堪称经典。从民工到大富翁,小偷到学者,男娼到名人都有,反正谁也不认识谁。青岛的GAY圈人多又乱,质量也参差不齐!咳咳,所以……注意身体啊! 二、中国同性恋者较多的城市  上海:上海的GAY密度不是的。但是上海人口太多,所以GAY也超多。每次上街回来同志朋友都会打趣说:“上海的GAY太多,遍地都是,今天又碰到了多少个。”之类的。  北京:作为大帝都,就是八一样!北京人不保守,不刻板,多元而自由。特别是作为中国高校的聚集之地,北京的同性恋者中大学生的比例非常高!  哈尔滨:哈尔滨是东北同志的中心,几乎全是东北人,但是GAY中中年人偏多!  广州:广州的GAY很分散,除了广州,好多来自附近顺德,佛山等地方,人特杂。不过他们基本上会去深圳。广州的同志酒吧很多,但是都不太大。  重庆:重庆有三多,美女多,帅哥多,同性恋也多。不仅如此,重庆还有国内最多,也是最完善的同志关爱组织,有开放的同志酒吧和同志活动场所……一般规模也比较大。不过重庆的男同性恋者普遍素质较高,年轻,外表英俊。  南京:南京不是一个特大城市,GAY却多的不得了!好多是江苏和浙江附近的。同志交友网站上的南京密密麻麻,特别多!  成都:成都GAY的人数不亚于上海!但成都和重庆比较像,很适合同志的产生和生活。成都GAY的特点是:小孩子超多!小编也不造为神马……  西安:西安被誉为西北和中原的同志基地!唯一特点就是学生多多。  武汉:武汉的同性恋也非常多,华中地区的同志基地,学生特多,同志酒吧较少,武汉没有一个像样的同志酒吧,所以基本都属于游荡型~  青岛:毕竟青岛是个包容性比较强的城市,所以这里GAY算是最多最杂的了!!!啥人都有,简直堪称经典。从民工到大富翁,小偷到学者,男娼到名人都有,反正谁也不认识谁。青岛的GAY圈人多又乱,质量也参差不齐!咳咳,所以……注意身体啊!发布于 2021-04-30 11:59男同性恋同性恋同志交往​赞同 6​​55 条评论​分享​喜欢​收藏​申请

[2105.00385] pyBKT: An Accessible Python Library of Bayesian Knowledge Tracing Models

[2105.00385] pyBKT: An Accessible Python Library of Bayesian Knowledge Tracing Models

Skip to main content

We gratefully acknowledge support from the Simons Foundation, member institutions, and all contributors. Donate

> cs > arXiv:2105.00385

Help | Advanced Search

All fields

Title

Author

Abstract

Comments

Journal reference

ACM classification

MSC classification

Report number

arXiv identifier

DOI

ORCID

arXiv author ID

Help pages

Full text

Search

open search

GO

open navigation menu

quick links

Login

Help Pages

About

Computer Science > Mathematical Software

arXiv:2105.00385 (cs)

[Submitted on 2 May 2021 (v1), last revised 29 May 2021 (this version, v2)]

Title:pyBKT: An Accessible Python Library of Bayesian Knowledge Tracing Models

Authors:Anirudhan Badrinath, Frederic Wang, Zachary Pardos Download a PDF of the paper titled pyBKT: An Accessible Python Library of Bayesian Knowledge Tracing Models, by Anirudhan Badrinath and 2 other authors

Download PDF

Abstract:Bayesian Knowledge Tracing, a model used for cognitive mastery estimation, has been a hallmark of adaptive learning research and an integral component of deployed intelligent tutoring systems (ITS). In this paper, we provide a brief history of knowledge tracing model research and introduce pyBKT, an accessible and computationally efficient library of model extensions from the literature. The library provides data generation, fitting, prediction, and cross-validation routines, as well as a simple to use data helper interface to ingest typical tutor log dataset formats. We evaluate the runtime with various dataset sizes and compare to past implementations. Additionally, we conduct sanity checks of the model using experiments with simulated data to evaluate the accuracy of its EM parameter learning and use real-world data to validate its predictions, comparing pyBKT's supported model variants with results from the papers in which they were originally introduced. The library is open source and open license for the purpose of making knowledge tracing more accessible to communities of research and practice and to facilitate progress in the field through easier replication of past approaches.

Comments:

Accepted to the 2021 Conference on Educational Data Mining (EDM '21)

Subjects:

Mathematical Software (cs.MS); Artificial Intelligence (cs.AI); Computers and Society (cs.CY); Machine Learning (cs.LG)

Cite as:

arXiv:2105.00385 [cs.MS]

 

(or

arXiv:2105.00385v2 [cs.MS] for this version)

 

https://doi.org/10.48550/arXiv.2105.00385

Focus to learn more

arXiv-issued DOI via DataCite

Submission history From: Zachary Pardos [view email] [v1]

Sun, 2 May 2021 03:08:53 UTC (1,373 KB)

[v2]

Sat, 29 May 2021 04:20:30 UTC (1,374 KB)

Full-text links:

Access Paper:

Download a PDF of the paper titled pyBKT: An Accessible Python Library of Bayesian Knowledge Tracing Models, by Anirudhan Badrinath and 2 other authorsDownload PDFTeX SourceOther Formats

view license

Current browse context: cs.MS

< prev

  |  

next >

new

|

recent

|

2105

Change to browse by:

cs

cs.AI

cs.CY

cs.LG

References & Citations

NASA ADSGoogle Scholar

Semantic Scholar

DBLP - CS Bibliography

listing | bibtex

Zachary A. Pardos

a

export BibTeX citation

Loading...

BibTeX formatted citation

×

loading...

Data provided by:

Bookmark

Bibliographic Tools

Bibliographic and Citation Tools

Bibliographic Explorer Toggle

Bibliographic Explorer (What is the Explorer?)

Litmaps Toggle

Litmaps (What is Litmaps?)

scite.ai Toggle

scite Smart Citations (What are Smart Citations?)

Code, Data, Media

Code, Data and Media Associated with this Article

Links to Code Toggle

CatalyzeX Code Finder for Papers (What is CatalyzeX?)

DagsHub Toggle

DagsHub (What is DagsHub?)

GotitPub Toggle

Gotit.pub (What is GotitPub?)

Links to Code Toggle

Papers with Code (What is Papers with Code?)

ScienceCast Toggle

ScienceCast (What is ScienceCast?)

Demos

Demos

Replicate Toggle

Replicate (What is Replicate?)

Spaces Toggle

Hugging Face Spaces (What is Spaces?)

Spaces Toggle

TXYZ.AI (What is TXYZ.AI?)

Related Papers

Recommenders and Search Tools

Link to Influence Flower

Influence Flower (What are Influence Flowers?)

Connected Papers Toggle

Connected Papers (What is Connected Papers?)

Core recommender toggle

CORE Recommender (What is CORE?)

Author

Venue

Institution

Topic

About arXivLabs

arXivLabs: experimental projects with community collaborators

arXivLabs is a framework that allows collaborators to develop and share new arXiv features directly on our website.

Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy. arXiv is committed to these values and only works with partners that adhere to them.

Have an idea for a project that will add value for arXiv's community? Learn more about arXivLabs.

Which authors of this paper are endorsers? |

Disable MathJax (What is MathJax?)

About

Help

contact arXivClick here to contact arXiv

Contact

subscribe to arXiv mailingsClick here to subscribe

Subscribe

Copyright

Privacy Policy

Web Accessibility Assistance

arXiv Operational Status

Get status notifications via

email

or slack

yload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"audio","path":"audio","contentType":"directory"},{"name":"eval-tools","path":"eval-tools","contentType":"directory"},{"name":"sad","path":"sad","contentType":"directory"},{"name":"uem","path":"uem","contentType":"directory"},{"name":".gitattributes","path":".gitattributes","contentType":"file"},{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"config.ini","path":"config.ini","contentType":"file"},{"name":"config_DIHARD.ini","path":"config_DIHARD.ini","contentType":"file"},{"name":"diarizationFunctions.py","path":"diarizationFunctions.py","contentType":"file"},{"name":"main.py","path":"main.py","contentType":"file"}],"totalCount":11}},"fileTreeProcessingTime":4.872665,"foldersToFetch":[],"repo":{"id":165877893,"defaultBranch":"master","name":"pyBK","ownerLogin":"josepatino","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2019-01-15T15:44:04.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10758194?v=4","public":true,"private":false,"isOrgOwned":false},"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"master","listCacheKey":"v0:1547567046.0","canEdit":false,"refType":"branch","currentOid":"09c34a597036615415348eb0a6f249d0b146072e"},"path":"main.py","currentUser":null,"blob":{"rawLines":["# AUTHORS","# Jose PATINO, EURECOM, Sophia-Antipolis, France, 2019","# http://www.eurecom.fr/en/people/patino-jose","# Contact: patino[at]eurecom[dot]fr, josempatinovillar[at]gmail[dot]com","","import os, sys, glob","import configparser","from diarizationFunctions import *","import numpy as np","","def runDiarization(showName,config): "," print('showName\\t\\t',showName)"," print('Extracting features') "," "," if config.getint('GENERAL','performFeatureExtraction'):"," allData=extractFeatures(config['PATH']['audio']+showName+config['EXTENSION']['audio'],config.getfloat('FEATURES','framelength'),config.getfloat('FEATURES','frameshift'),config.getint('FEATURES','nfilters'),config.getint('FEATURES','ncoeff')) "," else:"," allData=getFeatures(config['PATH']['features']+showName+config['EXTENSION']['features'])"," nFeatures = allData.shape[0] "," print('Initial number of features\\t',nFeatures) "," "," if os.path.isfile(config['PATH']['UEM']+showName+config['EXTENSION']['UEM']):"," maskUEM = readUEMfile(config['PATH']['UEM'],showName,config['EXTENSION']['UEM'],nFeatures,config.getfloat('FEATURES','frameshift'))"," else:"," print('UEM file does not exist. The complete audio content is considered.')"," maskUEM = np.ones([1,nFeatures]) "," "," if os.path.isfile(config['PATH']['SAD']+showName+config['EXTENSION']['SAD']) and not(config.getint('GENERAL','performVAD')):"," maskSAD = readSADfile(config['PATH']['SAD'],showName,config['EXTENSION']['SAD'],nFeatures,config.getfloat('FEATURES','frameshift'),config['GENERAL']['SADformat']) "," else:"," print('SAD file does not exist or automatic VAD is enabled in the config. VAD is applied and saved at %s.\\n'%(config['PATH']['SAD']+showName+'.lab'))"," maskSAD = getSADfile(config,showName,nFeatures)"," mask = np.logical_and(maskUEM,maskSAD) "," mask = mask[0][0:nFeatures]"," nSpeechFeatures=np.sum(mask)"," speechMapping = np.zeros(nFeatures)"," #you need to start the mapping from 1 and end it in the actual number of features independently of the indexing style"," #so that we don't lose features on the way"," speechMapping[np.nonzero(mask)] = np.arange(1,nSpeechFeatures+1)"," data=allData[np.where(mask==1)]"," del allData "," segmentTable=getSegmentTable(mask,speechMapping,config.getint('SEGMENT','length'),config.getint('SEGMENT','increment'),config.getint('SEGMENT','rate'))"," numberOfSegments=np.size(segmentTable,0)"," print('Number of speech features\\t',nSpeechFeatures)"," #create the KBM"," print('Training the KBM... ')"," #set the window rate in order to obtain \"minimumNumberOfInitialGaussians\" gaussians"," if np.floor((nSpeechFeatures-config.getint('KBM','windowLength'))/config.getint('KBM','minimumNumberOfInitialGaussians')) < config.getint('KBM','maximumKBMWindowRate'):"," windowRate = int(np.floor((np.size(data,0)-config.getint('KBM','windowLength'))/config.getint('KBM','minimumNumberOfInitialGaussians')))"," else:"," windowRate = int(config.getint('KBM','maximumKBMWindowRate')) "," poolSize = np.floor((nSpeechFeatures-config.getint('KBM','windowLength'))/windowRate)"," if config.getint('KBM','useRelativeKBMsize'):"," kbmSize = int(np.floor(poolSize*config.getfloat('KBM','relKBMsize')))"," else:"," kbmSize = int(config.getint('KBM','kbmSize')) "," print('Training pool of',int(poolSize),'gaussians with a rate of',int(windowRate),'frames') "," kbm, gmPool = trainKBM(data,config.getint('KBM','windowLength'),windowRate,kbmSize ) "," print('Selected',kbmSize,'gaussians from the pool') "," Vg = getVgMatrix(data,gmPool,kbm,config.getint('BINARY_KEY','topGaussiansPerFrame')) "," print('Computing binary keys for all segments... ')"," segmentBKTable, segmentCVTable = getSegmentBKs(segmentTable, kbmSize, Vg, config.getfloat('BINARY_KEY','bitsPerSegmentFactor'), speechMapping) "," print('Performing initial clustering... ')"," initialClustering = np.digitize(np.arange(numberOfSegments),np.arange(0,numberOfSegments,numberOfSegments/config.getint('CLUSTERING','N_init')))"," print('done')"," print('Performing agglomerative clustering... ') "," if config.getint('CLUSTERING','linkage'):"," finalClusteringTable, k = performClusteringLinkage(segmentBKTable, segmentCVTable, config.getint('CLUSTERING','N_init'), config['CLUSTERING']['linkageCriterion'], config['CLUSTERING']['metric'])"," else:"," finalClusteringTable, k = performClustering(speechMapping, segmentTable, segmentBKTable, segmentCVTable, Vg, config.getfloat('BINARY_KEY','bitsPerSegmentFactor'), kbmSize, config.getint('CLUSTERING','N_init'), initialClustering, config['CLUSTERING']['metric']) "," print('Selecting best clustering...')"," if config['CLUSTERING_SELECTION']['bestClusteringCriterion'] == 'elbow':"," bestClusteringID = getBestClustering(config['CLUSTERING_SELECTION']['metric_clusteringSelection'], segmentBKTable, segmentCVTable, finalClusteringTable, k, config.getint('CLUSTERING_SELECTION','maxNrSpeakers'))"," elif config['CLUSTERING_SELECTION']['bestClusteringCriterion'] == 'spectral':"," bestClusteringID = getSpectralClustering(config['CLUSTERING_SELECTION']['metric_clusteringSelection'],finalClusteringTable,config.getint('CLUSTERING','N_init'),segmentBKTable,segmentCVTable,k,config.getint('CLUSTERING_SELECTION','sigma'),config.getint('CLUSTERING_SELECTION','percentile'),config.getint('CLUSTERING_SELECTION','maxNrSpeakers'))+1 "," print('Best clustering:\\t',bestClusteringID.astype(int))"," print('Number of clusters:\\t',np.size(np.unique(finalClusteringTable[:,bestClusteringID.astype(int)-1]),0)) "," if config.getint('RESEGMENTATION','resegmentation') and np.size(np.unique(finalClusteringTable[:,bestClusteringID.astype(int)-1]),0)>1:"," print('Performing GMM-ML resegmentation...')"," finalClusteringTableResegmentation,finalSegmentTable = performResegmentation(data,speechMapping, mask,finalClusteringTable[:,bestClusteringID.astype(int)-1],segmentTable,config.getint('RESEGMENTATION','modelSize'),config.getint('RESEGMENTATION','nbIter'),config.getint('RESEGMENTATION','smoothWin'),nSpeechFeatures)"," print('done')"," getSegmentationFile(config['OUTPUT']['format'],config.getfloat('FEATURES','frameshift'),finalSegmentTable, np.squeeze(finalClusteringTableResegmentation), showName, config['EXPERIMENT']['name'], config['PATH']['output'], config['EXTENSION']['output'])"," else:"," getSegmentationFile(config['OUTPUT']['format'],config.getfloat('FEATURES','frameshift'),segmentTable, finalClusteringTable[:,bestClusteringID.astype(int)-1], showName, config['EXPERIMENT']['name'], config['PATH']['output'], config['EXTENSION']['output']) "," "," if config.getint('OUTPUT','returnAllPartialSolutions'):"," if not os.path.isdir(config['PATH']['output']):"," os.mkdir(config['PATH']['output'])"," outputPathInd = config['PATH']['output']+ config['EXPERIMENT']['name'] + '/' + showName + '/'"," if not os.path.isdir(config['PATH']['output'] + config['EXPERIMENT']['name']):"," os.mkdir(config['PATH']['output'] + config['EXPERIMENT']['name'])"," if not os.path.isdir(outputPathInd): "," os.mkdir(outputPathInd)"," for i in np.arange(k):"," getSegmentationFile(config['OUTPUT']['format'],config.getfloat('FEATURES','frameshift'), segmentTable, finalClusteringTable[:,i], showName, showName+'_'+str(np.size(np.unique(finalClusteringTable[:,i]),0))+'_spk', outputPathInd, config['EXTENSION']['output']) "," "," print('\\n%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%')"," ","if __name__ == \"__main__\": "," # If a config file in INI format is passed by argument line then it's used. "," # For INI config formatting please refer to https://docs.python.org/3/library/configparser.html"," if len(sys.argv) >= 2:"," configFile = sys.argv[1]"," else:"," configFile = 'config.ini' "," config = configparser.ConfigParser()"," config.read(configFile)"," "," if config.getint('GENERAL','performFeatureExtraction'):"," # Audio files are searched at the corresponding folder"," showNameList = sorted(glob.glob(config['PATH']['audio']+'*'+config['EXTENSION']['audio']))"," else:"," # Feature files are searched if feature extraction is disabled:"," showNameList = sorted(glob.glob(config['PATH']['features']+'*'+config['EXTENSION']['features']))"," "," # If the output file already exists from a previous call it is deleted"," if os.path.isfile(config['PATH']['output']+config['EXPERIMENT']['name']+config['EXTENSION']['output']):"," os.remove(config['PATH']['output']+config['EXPERIMENT']['name']+config['EXTENSION']['output'])"," "," # Output folder is created"," if not os.path.isdir(config['PATH']['output']):"," os.mkdir(config['PATH']['output'])",""," # Files are diarized one by one"," for idx,showName in enumerate(showNameList):"," print('\\nProcessing file',idx+1,'/',len(showNameList))"," runDiarization(os.path.splitext(os.path.basename(showName))[0],config)"],"stylingDirectives":[[{"start":0,"end":9,"cssClass":"pl-c"}],[{"start":0,"end":54,"cssClass":"pl-c"}],[{"start":0,"end":45,"cssClass":"pl-c"}],[{"start":0,"end":71,"cssClass":"pl-c"}],[],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"},{"start":11,"end":14,"cssClass":"pl-s1"},{"start":16,"end":20,"cssClass":"pl-s1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":19,"cssClass":"pl-s1"}],[{"start":0,"end":4,"cssClass":"pl-k"},{"start":5,"end":25,"cssClass":"pl-s1"},{"start":26,"end":32,"cssClass":"pl-k"},{"start":33,"end":34,"cssClass":"pl-c1"}],[{"start":0,"end":6,"cssClass":"pl-k"},{"start":7,"end":12,"cssClass":"pl-s1"},{"start":13,"end":15,"cssClass":"pl-k"},{"start":16,"end":18,"cssClass":"pl-s1"}],[],[{"start":0,"end":3,"cssClass":"pl-k"},{"start":4,"end":18,"cssClass":"pl-en"},{"start":19,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":24,"cssClass":"pl-s"},{"start":19,"end":21,"cssClass":"pl-cce"},{"start":21,"end":23,"cssClass":"pl-cce"},{"start":25,"end":33,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":31,"cssClass":"pl-s"}],[],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":13,"cssClass":"pl-s1"},{"start":14,"end":20,"cssClass":"pl-en"},{"start":21,"end":30,"cssClass":"pl-s"},{"start":31,"end":57,"cssClass":"pl-s"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":16,"end":31,"cssClass":"pl-en"},{"start":32,"end":38,"cssClass":"pl-s1"},{"start":39,"end":45,"cssClass":"pl-s"},{"start":47,"end":54,"cssClass":"pl-s"},{"start":55,"end":56,"cssClass":"pl-c1"},{"start":56,"end":64,"cssClass":"pl-s1"},{"start":64,"end":65,"cssClass":"pl-c1"},{"start":65,"end":71,"cssClass":"pl-s1"},{"start":72,"end":83,"cssClass":"pl-s"},{"start":85,"end":92,"cssClass":"pl-s"},{"start":94,"end":100,"cssClass":"pl-s1"},{"start":101,"end":109,"cssClass":"pl-en"},{"start":110,"end":120,"cssClass":"pl-s"},{"start":121,"end":134,"cssClass":"pl-s"},{"start":136,"end":142,"cssClass":"pl-s1"},{"start":143,"end":151,"cssClass":"pl-en"},{"start":152,"end":162,"cssClass":"pl-s"},{"start":163,"end":175,"cssClass":"pl-s"},{"start":177,"end":183,"cssClass":"pl-s1"},{"start":184,"end":190,"cssClass":"pl-en"},{"start":191,"end":201,"cssClass":"pl-s"},{"start":202,"end":212,"cssClass":"pl-s"},{"start":214,"end":220,"cssClass":"pl-s1"},{"start":221,"end":227,"cssClass":"pl-en"},{"start":228,"end":238,"cssClass":"pl-s"},{"start":239,"end":247,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":15,"end":16,"cssClass":"pl-c1"},{"start":16,"end":27,"cssClass":"pl-en"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":35,"end":41,"cssClass":"pl-s"},{"start":43,"end":53,"cssClass":"pl-s"},{"start":54,"end":55,"cssClass":"pl-c1"},{"start":55,"end":63,"cssClass":"pl-s1"},{"start":63,"end":64,"cssClass":"pl-c1"},{"start":64,"end":70,"cssClass":"pl-s1"},{"start":71,"end":82,"cssClass":"pl-s"},{"start":84,"end":94,"cssClass":"pl-s"}],[{"start":4,"end":13,"cssClass":"pl-s1"},{"start":14,"end":15,"cssClass":"pl-c1"},{"start":16,"end":23,"cssClass":"pl-s1"},{"start":24,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":40,"cssClass":"pl-s"},{"start":37,"end":39,"cssClass":"pl-cce"},{"start":41,"end":50,"cssClass":"pl-s1"}],[],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":15,"end":21,"cssClass":"pl-en"},{"start":22,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-s"},{"start":37,"end":42,"cssClass":"pl-s"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":44,"end":52,"cssClass":"pl-s1"},{"start":52,"end":53,"cssClass":"pl-c1"},{"start":53,"end":59,"cssClass":"pl-s1"},{"start":60,"end":71,"cssClass":"pl-s"},{"start":73,"end":78,"cssClass":"pl-s"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":29,"cssClass":"pl-en"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-s"},{"start":45,"end":50,"cssClass":"pl-s"},{"start":52,"end":60,"cssClass":"pl-s1"},{"start":61,"end":67,"cssClass":"pl-s1"},{"start":68,"end":79,"cssClass":"pl-s"},{"start":81,"end":86,"cssClass":"pl-s"},{"start":88,"end":97,"cssClass":"pl-s1"},{"start":98,"end":104,"cssClass":"pl-s1"},{"start":105,"end":113,"cssClass":"pl-en"},{"start":114,"end":124,"cssClass":"pl-s"},{"start":125,"end":137,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"}],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":14,"end":82,"cssClass":"pl-s"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":20,"cssClass":"pl-s1"},{"start":21,"end":25,"cssClass":"pl-en"},{"start":27,"end":28,"cssClass":"pl-c1"},{"start":29,"end":38,"cssClass":"pl-s1"}],[],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":15,"end":21,"cssClass":"pl-en"},{"start":22,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-s"},{"start":37,"end":42,"cssClass":"pl-s"},{"start":43,"end":44,"cssClass":"pl-c1"},{"start":44,"end":52,"cssClass":"pl-s1"},{"start":52,"end":53,"cssClass":"pl-c1"},{"start":53,"end":59,"cssClass":"pl-s1"},{"start":60,"end":71,"cssClass":"pl-s"},{"start":73,"end":78,"cssClass":"pl-s"},{"start":81,"end":84,"cssClass":"pl-c1"},{"start":85,"end":88,"cssClass":"pl-c1"},{"start":89,"end":95,"cssClass":"pl-s1"},{"start":96,"end":102,"cssClass":"pl-en"},{"start":103,"end":112,"cssClass":"pl-s"},{"start":113,"end":125,"cssClass":"pl-s"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":29,"cssClass":"pl-en"},{"start":30,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-s"},{"start":45,"end":50,"cssClass":"pl-s"},{"start":52,"end":60,"cssClass":"pl-s1"},{"start":61,"end":67,"cssClass":"pl-s1"},{"start":68,"end":79,"cssClass":"pl-s"},{"start":81,"end":86,"cssClass":"pl-s"},{"start":88,"end":97,"cssClass":"pl-s1"},{"start":98,"end":104,"cssClass":"pl-s1"},{"start":105,"end":113,"cssClass":"pl-en"},{"start":114,"end":124,"cssClass":"pl-s"},{"start":125,"end":137,"cssClass":"pl-s"},{"start":139,"end":145,"cssClass":"pl-s1"},{"start":146,"end":155,"cssClass":"pl-s"},{"start":157,"end":168,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"}],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":14,"end":116,"cssClass":"pl-s"},{"start":113,"end":115,"cssClass":"pl-cce"},{"start":116,"end":117,"cssClass":"pl-c1"},{"start":118,"end":124,"cssClass":"pl-s1"},{"start":125,"end":131,"cssClass":"pl-s"},{"start":133,"end":138,"cssClass":"pl-s"},{"start":139,"end":140,"cssClass":"pl-c1"},{"start":140,"end":148,"cssClass":"pl-s1"},{"start":148,"end":149,"cssClass":"pl-c1"},{"start":149,"end":155,"cssClass":"pl-s"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":28,"cssClass":"pl-en"},{"start":29,"end":35,"cssClass":"pl-s1"},{"start":36,"end":44,"cssClass":"pl-s1"},{"start":45,"end":54,"cssClass":"pl-s1"}],[{"start":4,"end":8,"cssClass":"pl-s1"},{"start":9,"end":10,"cssClass":"pl-c1"},{"start":11,"end":13,"cssClass":"pl-s1"},{"start":14,"end":25,"cssClass":"pl-en"},{"start":26,"end":33,"cssClass":"pl-s1"},{"start":34,"end":41,"cssClass":"pl-s1"}],[{"start":4,"end":8,"cssClass":"pl-s1"},{"start":9,"end":10,"cssClass":"pl-c1"},{"start":11,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":30,"cssClass":"pl-s1"}],[{"start":4,"end":19,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":26,"cssClass":"pl-en"},{"start":27,"end":31,"cssClass":"pl-s1"}],[{"start":4,"end":17,"cssClass":"pl-s1"},{"start":18,"end":19,"cssClass":"pl-c1"},{"start":20,"end":22,"cssClass":"pl-s1"},{"start":23,"end":28,"cssClass":"pl-en"},{"start":29,"end":38,"cssClass":"pl-s1"}],[{"start":4,"end":121,"cssClass":"pl-c"}],[{"start":4,"end":46,"cssClass":"pl-c"}],[{"start":4,"end":17,"cssClass":"pl-s1"},{"start":18,"end":20,"cssClass":"pl-s1"},{"start":21,"end":28,"cssClass":"pl-en"},{"start":29,"end":33,"cssClass":"pl-s1"},{"start":36,"end":37,"cssClass":"pl-c1"},{"start":38,"end":40,"cssClass":"pl-s1"},{"start":41,"end":47,"cssClass":"pl-en"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":65,"cssClass":"pl-s1"},{"start":65,"end":66,"cssClass":"pl-c1"},{"start":66,"end":67,"cssClass":"pl-c1"}],[{"start":4,"end":8,"cssClass":"pl-s1"},{"start":8,"end":9,"cssClass":"pl-c1"},{"start":9,"end":16,"cssClass":"pl-s1"},{"start":17,"end":19,"cssClass":"pl-s1"},{"start":20,"end":25,"cssClass":"pl-en"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":30,"end":32,"cssClass":"pl-c1"},{"start":32,"end":33,"cssClass":"pl-c1"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":15,"cssClass":"pl-s1"}],[{"start":4,"end":16,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":17,"end":32,"cssClass":"pl-en"},{"start":33,"end":37,"cssClass":"pl-s1"},{"start":38,"end":51,"cssClass":"pl-s1"},{"start":52,"end":58,"cssClass":"pl-s1"},{"start":59,"end":65,"cssClass":"pl-en"},{"start":66,"end":75,"cssClass":"pl-s"},{"start":76,"end":84,"cssClass":"pl-s"},{"start":86,"end":92,"cssClass":"pl-s1"},{"start":93,"end":99,"cssClass":"pl-en"},{"start":100,"end":109,"cssClass":"pl-s"},{"start":110,"end":121,"cssClass":"pl-s"},{"start":123,"end":129,"cssClass":"pl-s1"},{"start":130,"end":136,"cssClass":"pl-en"},{"start":137,"end":146,"cssClass":"pl-s"},{"start":147,"end":153,"cssClass":"pl-s"}],[{"start":4,"end":20,"cssClass":"pl-s1"},{"start":20,"end":21,"cssClass":"pl-c1"},{"start":21,"end":23,"cssClass":"pl-s1"},{"start":24,"end":28,"cssClass":"pl-en"},{"start":29,"end":41,"cssClass":"pl-s1"},{"start":42,"end":43,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":39,"cssClass":"pl-s"},{"start":36,"end":38,"cssClass":"pl-cce"},{"start":40,"end":55,"cssClass":"pl-s1"}],[{"start":4,"end":19,"cssClass":"pl-c"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":32,"cssClass":"pl-s"}],[{"start":4,"end":87,"cssClass":"pl-c"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"},{"start":10,"end":15,"cssClass":"pl-en"},{"start":17,"end":32,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":33,"end":39,"cssClass":"pl-s1"},{"start":40,"end":46,"cssClass":"pl-en"},{"start":47,"end":52,"cssClass":"pl-s"},{"start":53,"end":67,"cssClass":"pl-s"},{"start":69,"end":70,"cssClass":"pl-c1"},{"start":70,"end":76,"cssClass":"pl-s1"},{"start":77,"end":83,"cssClass":"pl-en"},{"start":84,"end":89,"cssClass":"pl-s"},{"start":90,"end":123,"cssClass":"pl-s"},{"start":126,"end":127,"cssClass":"pl-c1"},{"start":128,"end":134,"cssClass":"pl-s1"},{"start":135,"end":141,"cssClass":"pl-en"},{"start":142,"end":147,"cssClass":"pl-s"},{"start":148,"end":170,"cssClass":"pl-s"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-en"},{"start":25,"end":27,"cssClass":"pl-s1"},{"start":28,"end":33,"cssClass":"pl-en"},{"start":35,"end":37,"cssClass":"pl-s1"},{"start":38,"end":42,"cssClass":"pl-en"},{"start":43,"end":47,"cssClass":"pl-s1"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":51,"cssClass":"pl-c1"},{"start":51,"end":57,"cssClass":"pl-s1"},{"start":58,"end":64,"cssClass":"pl-en"},{"start":65,"end":70,"cssClass":"pl-s"},{"start":71,"end":85,"cssClass":"pl-s"},{"start":87,"end":88,"cssClass":"pl-c1"},{"start":88,"end":94,"cssClass":"pl-s1"},{"start":95,"end":101,"cssClass":"pl-en"},{"start":102,"end":107,"cssClass":"pl-s"},{"start":108,"end":141,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-en"},{"start":25,"end":31,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-en"},{"start":39,"end":44,"cssClass":"pl-s"},{"start":45,"end":67,"cssClass":"pl-s"}],[{"start":4,"end":12,"cssClass":"pl-s1"},{"start":13,"end":14,"cssClass":"pl-c1"},{"start":15,"end":17,"cssClass":"pl-s1"},{"start":18,"end":23,"cssClass":"pl-en"},{"start":25,"end":40,"cssClass":"pl-s1"},{"start":40,"end":41,"cssClass":"pl-c1"},{"start":41,"end":47,"cssClass":"pl-s1"},{"start":48,"end":54,"cssClass":"pl-en"},{"start":55,"end":60,"cssClass":"pl-s"},{"start":61,"end":75,"cssClass":"pl-s"},{"start":77,"end":78,"cssClass":"pl-c1"},{"start":78,"end":88,"cssClass":"pl-s1"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":8,"end":14,"cssClass":"pl-s1"},{"start":15,"end":21,"cssClass":"pl-en"},{"start":22,"end":27,"cssClass":"pl-s"},{"start":28,"end":48,"cssClass":"pl-s"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":21,"cssClass":"pl-en"},{"start":22,"end":24,"cssClass":"pl-s1"},{"start":25,"end":30,"cssClass":"pl-en"},{"start":31,"end":39,"cssClass":"pl-s1"},{"start":39,"end":40,"cssClass":"pl-c1"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":47,"end":55,"cssClass":"pl-en"},{"start":56,"end":61,"cssClass":"pl-s"},{"start":62,"end":74,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"}],[{"start":8,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":21,"cssClass":"pl-en"},{"start":22,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-en"},{"start":36,"end":41,"cssClass":"pl-s"},{"start":42,"end":51,"cssClass":"pl-s"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":28,"cssClass":"pl-s"},{"start":29,"end":32,"cssClass":"pl-en"},{"start":33,"end":41,"cssClass":"pl-s1"},{"start":43,"end":69,"cssClass":"pl-s"},{"start":70,"end":73,"cssClass":"pl-en"},{"start":74,"end":84,"cssClass":"pl-s1"},{"start":86,"end":94,"cssClass":"pl-s"}],[{"start":4,"end":7,"cssClass":"pl-s1"},{"start":9,"end":15,"cssClass":"pl-s1"},{"start":16,"end":17,"cssClass":"pl-c1"},{"start":18,"end":26,"cssClass":"pl-en"},{"start":27,"end":31,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-s1"},{"start":39,"end":45,"cssClass":"pl-en"},{"start":46,"end":51,"cssClass":"pl-s"},{"start":52,"end":66,"cssClass":"pl-s"},{"start":68,"end":78,"cssClass":"pl-s1"},{"start":79,"end":86,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":20,"cssClass":"pl-s"},{"start":21,"end":28,"cssClass":"pl-s1"},{"start":29,"end":54,"cssClass":"pl-s"}],[{"start":4,"end":6,"cssClass":"pl-v"},{"start":7,"end":8,"cssClass":"pl-c1"},{"start":9,"end":20,"cssClass":"pl-en"},{"start":21,"end":25,"cssClass":"pl-s1"},{"start":26,"end":32,"cssClass":"pl-s1"},{"start":33,"end":36,"cssClass":"pl-s1"},{"start":37,"end":43,"cssClass":"pl-s1"},{"start":44,"end":50,"cssClass":"pl-en"},{"start":51,"end":63,"cssClass":"pl-s"},{"start":64,"end":86,"cssClass":"pl-s"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":54,"cssClass":"pl-s"}],[{"start":4,"end":18,"cssClass":"pl-s1"},{"start":20,"end":34,"cssClass":"pl-s1"},{"start":35,"end":36,"cssClass":"pl-c1"},{"start":37,"end":50,"cssClass":"pl-en"},{"start":51,"end":63,"cssClass":"pl-s1"},{"start":65,"end":72,"cssClass":"pl-s1"},{"start":74,"end":76,"cssClass":"pl-v"},{"start":78,"end":84,"cssClass":"pl-s1"},{"start":85,"end":93,"cssClass":"pl-en"},{"start":94,"end":106,"cssClass":"pl-s"},{"start":107,"end":129,"cssClass":"pl-s"},{"start":132,"end":145,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":45,"cssClass":"pl-s"}],[{"start":4,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":26,"cssClass":"pl-s1"},{"start":27,"end":35,"cssClass":"pl-en"},{"start":36,"end":38,"cssClass":"pl-s1"},{"start":39,"end":45,"cssClass":"pl-en"},{"start":46,"end":62,"cssClass":"pl-s1"},{"start":64,"end":66,"cssClass":"pl-s1"},{"start":67,"end":73,"cssClass":"pl-en"},{"start":74,"end":75,"cssClass":"pl-c1"},{"start":76,"end":92,"cssClass":"pl-s1"},{"start":93,"end":109,"cssClass":"pl-s1"},{"start":109,"end":110,"cssClass":"pl-c1"},{"start":110,"end":116,"cssClass":"pl-s1"},{"start":117,"end":123,"cssClass":"pl-en"},{"start":124,"end":136,"cssClass":"pl-s"},{"start":137,"end":145,"cssClass":"pl-s"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":16,"cssClass":"pl-s"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":51,"cssClass":"pl-s"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":13,"cssClass":"pl-s1"},{"start":14,"end":20,"cssClass":"pl-en"},{"start":21,"end":33,"cssClass":"pl-s"},{"start":34,"end":43,"cssClass":"pl-s"}],[{"start":8,"end":28,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":34,"end":58,"cssClass":"pl-en"},{"start":59,"end":73,"cssClass":"pl-s1"},{"start":75,"end":89,"cssClass":"pl-s1"},{"start":91,"end":97,"cssClass":"pl-s1"},{"start":98,"end":104,"cssClass":"pl-en"},{"start":105,"end":117,"cssClass":"pl-s"},{"start":118,"end":126,"cssClass":"pl-s"},{"start":129,"end":135,"cssClass":"pl-s1"},{"start":136,"end":148,"cssClass":"pl-s"},{"start":150,"end":168,"cssClass":"pl-s"},{"start":171,"end":177,"cssClass":"pl-s1"},{"start":178,"end":190,"cssClass":"pl-s"},{"start":192,"end":200,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"}],[{"start":8,"end":28,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-s1"},{"start":32,"end":33,"cssClass":"pl-c1"},{"start":34,"end":51,"cssClass":"pl-en"},{"start":52,"end":65,"cssClass":"pl-s1"},{"start":67,"end":79,"cssClass":"pl-s1"},{"start":81,"end":95,"cssClass":"pl-s1"},{"start":97,"end":111,"cssClass":"pl-s1"},{"start":113,"end":115,"cssClass":"pl-v"},{"start":117,"end":123,"cssClass":"pl-s1"},{"start":124,"end":132,"cssClass":"pl-en"},{"start":133,"end":145,"cssClass":"pl-s"},{"start":146,"end":168,"cssClass":"pl-s"},{"start":171,"end":178,"cssClass":"pl-s1"},{"start":180,"end":186,"cssClass":"pl-s1"},{"start":187,"end":193,"cssClass":"pl-en"},{"start":194,"end":206,"cssClass":"pl-s"},{"start":207,"end":215,"cssClass":"pl-s"},{"start":218,"end":235,"cssClass":"pl-s1"},{"start":237,"end":243,"cssClass":"pl-s1"},{"start":244,"end":256,"cssClass":"pl-s"},{"start":258,"end":266,"cssClass":"pl-s"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":40,"cssClass":"pl-s"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":13,"cssClass":"pl-s1"},{"start":14,"end":36,"cssClass":"pl-s"},{"start":38,"end":63,"cssClass":"pl-s"},{"start":65,"end":67,"cssClass":"pl-c1"},{"start":68,"end":75,"cssClass":"pl-s"}],[{"start":8,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":44,"cssClass":"pl-en"},{"start":45,"end":51,"cssClass":"pl-s1"},{"start":52,"end":74,"cssClass":"pl-s"},{"start":76,"end":104,"cssClass":"pl-s"},{"start":107,"end":121,"cssClass":"pl-s1"},{"start":123,"end":137,"cssClass":"pl-s1"},{"start":139,"end":159,"cssClass":"pl-s1"},{"start":161,"end":162,"cssClass":"pl-s1"},{"start":164,"end":170,"cssClass":"pl-s1"},{"start":171,"end":177,"cssClass":"pl-en"},{"start":178,"end":200,"cssClass":"pl-s"},{"start":201,"end":216,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"},{"start":9,"end":15,"cssClass":"pl-s1"},{"start":16,"end":38,"cssClass":"pl-s"},{"start":40,"end":65,"cssClass":"pl-s"},{"start":67,"end":69,"cssClass":"pl-c1"},{"start":70,"end":80,"cssClass":"pl-s"}],[{"start":8,"end":24,"cssClass":"pl-s1"},{"start":25,"end":26,"cssClass":"pl-c1"},{"start":27,"end":48,"cssClass":"pl-en"},{"start":49,"end":55,"cssClass":"pl-s1"},{"start":56,"end":78,"cssClass":"pl-s"},{"start":80,"end":108,"cssClass":"pl-s"},{"start":110,"end":130,"cssClass":"pl-s1"},{"start":131,"end":137,"cssClass":"pl-s1"},{"start":138,"end":144,"cssClass":"pl-en"},{"start":145,"end":157,"cssClass":"pl-s"},{"start":158,"end":166,"cssClass":"pl-s"},{"start":168,"end":182,"cssClass":"pl-s1"},{"start":183,"end":197,"cssClass":"pl-s1"},{"start":198,"end":199,"cssClass":"pl-s1"},{"start":200,"end":206,"cssClass":"pl-s1"},{"start":207,"end":213,"cssClass":"pl-en"},{"start":214,"end":236,"cssClass":"pl-s"},{"start":237,"end":244,"cssClass":"pl-s"},{"start":246,"end":252,"cssClass":"pl-s1"},{"start":253,"end":259,"cssClass":"pl-en"},{"start":260,"end":282,"cssClass":"pl-s"},{"start":283,"end":295,"cssClass":"pl-s"},{"start":297,"end":303,"cssClass":"pl-s1"},{"start":304,"end":310,"cssClass":"pl-en"},{"start":311,"end":333,"cssClass":"pl-s"},{"start":334,"end":349,"cssClass":"pl-s"},{"start":351,"end":352,"cssClass":"pl-c1"},{"start":352,"end":353,"cssClass":"pl-c1"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":30,"cssClass":"pl-s"},{"start":27,"end":29,"cssClass":"pl-cce"},{"start":31,"end":47,"cssClass":"pl-s1"},{"start":48,"end":54,"cssClass":"pl-en"},{"start":55,"end":58,"cssClass":"pl-s1"}],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":33,"cssClass":"pl-s"},{"start":30,"end":32,"cssClass":"pl-cce"},{"start":34,"end":36,"cssClass":"pl-s1"},{"start":37,"end":41,"cssClass":"pl-en"},{"start":42,"end":44,"cssClass":"pl-s1"},{"start":45,"end":51,"cssClass":"pl-en"},{"start":52,"end":72,"cssClass":"pl-s1"},{"start":75,"end":91,"cssClass":"pl-s1"},{"start":92,"end":98,"cssClass":"pl-en"},{"start":99,"end":102,"cssClass":"pl-s1"},{"start":103,"end":104,"cssClass":"pl-c1"},{"start":104,"end":105,"cssClass":"pl-c1"},{"start":108,"end":109,"cssClass":"pl-c1"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":13,"cssClass":"pl-s1"},{"start":14,"end":20,"cssClass":"pl-en"},{"start":21,"end":37,"cssClass":"pl-s"},{"start":38,"end":54,"cssClass":"pl-s"},{"start":56,"end":59,"cssClass":"pl-c1"},{"start":60,"end":62,"cssClass":"pl-s1"},{"start":63,"end":67,"cssClass":"pl-en"},{"start":68,"end":70,"cssClass":"pl-s1"},{"start":71,"end":77,"cssClass":"pl-en"},{"start":78,"end":98,"cssClass":"pl-s1"},{"start":101,"end":117,"cssClass":"pl-s1"},{"start":118,"end":124,"cssClass":"pl-en"},{"start":125,"end":128,"cssClass":"pl-s1"},{"start":129,"end":130,"cssClass":"pl-c1"},{"start":130,"end":131,"cssClass":"pl-c1"},{"start":134,"end":135,"cssClass":"pl-c1"},{"start":136,"end":137,"cssClass":"pl-c1"},{"start":137,"end":138,"cssClass":"pl-c1"}],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":14,"end":51,"cssClass":"pl-s"}],[{"start":8,"end":42,"cssClass":"pl-s1"},{"start":43,"end":60,"cssClass":"pl-s1"},{"start":61,"end":62,"cssClass":"pl-c1"},{"start":63,"end":84,"cssClass":"pl-en"},{"start":85,"end":89,"cssClass":"pl-s1"},{"start":90,"end":103,"cssClass":"pl-s1"},{"start":105,"end":109,"cssClass":"pl-s1"},{"start":110,"end":130,"cssClass":"pl-s1"},{"start":133,"end":149,"cssClass":"pl-s1"},{"start":150,"end":156,"cssClass":"pl-en"},{"start":157,"end":160,"cssClass":"pl-s1"},{"start":161,"end":162,"cssClass":"pl-c1"},{"start":162,"end":163,"cssClass":"pl-c1"},{"start":165,"end":177,"cssClass":"pl-s1"},{"start":178,"end":184,"cssClass":"pl-s1"},{"start":185,"end":191,"cssClass":"pl-en"},{"start":192,"end":208,"cssClass":"pl-s"},{"start":209,"end":220,"cssClass":"pl-s"},{"start":222,"end":228,"cssClass":"pl-s1"},{"start":229,"end":235,"cssClass":"pl-en"},{"start":236,"end":252,"cssClass":"pl-s"},{"start":253,"end":261,"cssClass":"pl-s"},{"start":263,"end":269,"cssClass":"pl-s1"},{"start":270,"end":276,"cssClass":"pl-en"},{"start":277,"end":293,"cssClass":"pl-s"},{"start":294,"end":305,"cssClass":"pl-s"},{"start":307,"end":322,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":14,"end":20,"cssClass":"pl-s"}],[{"start":8,"end":27,"cssClass":"pl-en"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":35,"end":43,"cssClass":"pl-s"},{"start":45,"end":53,"cssClass":"pl-s"},{"start":55,"end":61,"cssClass":"pl-s1"},{"start":62,"end":70,"cssClass":"pl-en"},{"start":71,"end":81,"cssClass":"pl-s"},{"start":82,"end":94,"cssClass":"pl-s"},{"start":96,"end":113,"cssClass":"pl-s1"},{"start":115,"end":117,"cssClass":"pl-s1"},{"start":118,"end":125,"cssClass":"pl-en"},{"start":126,"end":160,"cssClass":"pl-s1"},{"start":163,"end":171,"cssClass":"pl-s1"},{"start":173,"end":179,"cssClass":"pl-s1"},{"start":180,"end":192,"cssClass":"pl-s"},{"start":194,"end":200,"cssClass":"pl-s"},{"start":203,"end":209,"cssClass":"pl-s1"},{"start":210,"end":216,"cssClass":"pl-s"},{"start":218,"end":226,"cssClass":"pl-s"},{"start":229,"end":235,"cssClass":"pl-s1"},{"start":236,"end":247,"cssClass":"pl-s"},{"start":249,"end":257,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"}],[{"start":8,"end":27,"cssClass":"pl-en"},{"start":28,"end":34,"cssClass":"pl-s1"},{"start":35,"end":43,"cssClass":"pl-s"},{"start":45,"end":53,"cssClass":"pl-s"},{"start":55,"end":61,"cssClass":"pl-s1"},{"start":62,"end":70,"cssClass":"pl-en"},{"start":71,"end":81,"cssClass":"pl-s"},{"start":82,"end":94,"cssClass":"pl-s"},{"start":96,"end":108,"cssClass":"pl-s1"},{"start":110,"end":130,"cssClass":"pl-s1"},{"start":133,"end":149,"cssClass":"pl-s1"},{"start":150,"end":156,"cssClass":"pl-en"},{"start":157,"end":160,"cssClass":"pl-s1"},{"start":161,"end":162,"cssClass":"pl-c1"},{"start":162,"end":163,"cssClass":"pl-c1"},{"start":166,"end":174,"cssClass":"pl-s1"},{"start":176,"end":182,"cssClass":"pl-s1"},{"start":183,"end":195,"cssClass":"pl-s"},{"start":197,"end":203,"cssClass":"pl-s"},{"start":206,"end":212,"cssClass":"pl-s1"},{"start":213,"end":219,"cssClass":"pl-s"},{"start":221,"end":229,"cssClass":"pl-s"},{"start":232,"end":238,"cssClass":"pl-s1"},{"start":239,"end":250,"cssClass":"pl-s"},{"start":252,"end":260,"cssClass":"pl-s"}],[],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":13,"cssClass":"pl-s1"},{"start":14,"end":20,"cssClass":"pl-en"},{"start":21,"end":29,"cssClass":"pl-s"},{"start":30,"end":57,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-c1"},{"start":15,"end":17,"cssClass":"pl-s1"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":23,"end":28,"cssClass":"pl-en"},{"start":29,"end":35,"cssClass":"pl-s1"},{"start":36,"end":42,"cssClass":"pl-s"},{"start":44,"end":52,"cssClass":"pl-s"}],[{"start":12,"end":14,"cssClass":"pl-s1"},{"start":15,"end":20,"cssClass":"pl-en"},{"start":21,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s"},{"start":36,"end":44,"cssClass":"pl-s"}],[{"start":8,"end":21,"cssClass":"pl-s1"},{"start":22,"end":23,"cssClass":"pl-c1"},{"start":24,"end":30,"cssClass":"pl-s1"},{"start":31,"end":37,"cssClass":"pl-s"},{"start":39,"end":47,"cssClass":"pl-s"},{"start":48,"end":49,"cssClass":"pl-c1"},{"start":50,"end":56,"cssClass":"pl-s1"},{"start":57,"end":69,"cssClass":"pl-s"},{"start":71,"end":77,"cssClass":"pl-s"},{"start":79,"end":80,"cssClass":"pl-c1"},{"start":81,"end":84,"cssClass":"pl-s"},{"start":85,"end":86,"cssClass":"pl-c1"},{"start":87,"end":95,"cssClass":"pl-s1"},{"start":96,"end":97,"cssClass":"pl-c1"},{"start":98,"end":101,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-c1"},{"start":15,"end":17,"cssClass":"pl-s1"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":23,"end":28,"cssClass":"pl-en"},{"start":29,"end":35,"cssClass":"pl-s1"},{"start":36,"end":42,"cssClass":"pl-s"},{"start":44,"end":52,"cssClass":"pl-s"},{"start":54,"end":55,"cssClass":"pl-c1"},{"start":56,"end":62,"cssClass":"pl-s1"},{"start":63,"end":75,"cssClass":"pl-s"},{"start":77,"end":83,"cssClass":"pl-s"}],[{"start":12,"end":14,"cssClass":"pl-s1"},{"start":15,"end":20,"cssClass":"pl-en"},{"start":21,"end":27,"cssClass":"pl-s1"},{"start":28,"end":34,"cssClass":"pl-s"},{"start":36,"end":44,"cssClass":"pl-s"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":48,"end":54,"cssClass":"pl-s1"},{"start":55,"end":67,"cssClass":"pl-s"},{"start":69,"end":75,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-k"},{"start":11,"end":14,"cssClass":"pl-c1"},{"start":15,"end":17,"cssClass":"pl-s1"},{"start":18,"end":22,"cssClass":"pl-s1"},{"start":23,"end":28,"cssClass":"pl-en"},{"start":29,"end":42,"cssClass":"pl-s1"}],[{"start":12,"end":14,"cssClass":"pl-s1"},{"start":15,"end":20,"cssClass":"pl-en"},{"start":21,"end":34,"cssClass":"pl-s1"}],[{"start":8,"end":11,"cssClass":"pl-k"},{"start":12,"end":13,"cssClass":"pl-s1"},{"start":14,"end":16,"cssClass":"pl-c1"},{"start":17,"end":19,"cssClass":"pl-s1"},{"start":20,"end":26,"cssClass":"pl-en"},{"start":27,"end":28,"cssClass":"pl-s1"}],[{"start":12,"end":31,"cssClass":"pl-en"},{"start":32,"end":38,"cssClass":"pl-s1"},{"start":39,"end":47,"cssClass":"pl-s"},{"start":49,"end":57,"cssClass":"pl-s"},{"start":59,"end":65,"cssClass":"pl-s1"},{"start":66,"end":74,"cssClass":"pl-en"},{"start":75,"end":85,"cssClass":"pl-s"},{"start":86,"end":98,"cssClass":"pl-s"},{"start":101,"end":113,"cssClass":"pl-s1"},{"start":115,"end":135,"cssClass":"pl-s1"},{"start":138,"end":139,"cssClass":"pl-s1"},{"start":142,"end":150,"cssClass":"pl-s1"},{"start":152,"end":160,"cssClass":"pl-s1"},{"start":160,"end":161,"cssClass":"pl-c1"},{"start":161,"end":164,"cssClass":"pl-s"},{"start":164,"end":165,"cssClass":"pl-c1"},{"start":165,"end":168,"cssClass":"pl-en"},{"start":169,"end":171,"cssClass":"pl-s1"},{"start":172,"end":176,"cssClass":"pl-en"},{"start":177,"end":179,"cssClass":"pl-s1"},{"start":180,"end":186,"cssClass":"pl-en"},{"start":187,"end":207,"cssClass":"pl-s1"},{"start":210,"end":211,"cssClass":"pl-s1"},{"start":214,"end":215,"cssClass":"pl-c1"},{"start":217,"end":218,"cssClass":"pl-c1"},{"start":218,"end":224,"cssClass":"pl-s"},{"start":226,"end":239,"cssClass":"pl-s1"},{"start":241,"end":247,"cssClass":"pl-s1"},{"start":248,"end":259,"cssClass":"pl-s"},{"start":261,"end":269,"cssClass":"pl-s"}],[],[{"start":4,"end":9,"cssClass":"pl-en"},{"start":10,"end":76,"cssClass":"pl-s"},{"start":11,"end":13,"cssClass":"pl-cce"}],[],[{"start":0,"end":2,"cssClass":"pl-k"},{"start":3,"end":11,"cssClass":"pl-s1"},{"start":12,"end":14,"cssClass":"pl-c1"},{"start":15,"end":25,"cssClass":"pl-s"}],[{"start":4,"end":80,"cssClass":"pl-c"}],[{"start":4,"end":99,"cssClass":"pl-c"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":10,"cssClass":"pl-en"},{"start":11,"end":14,"cssClass":"pl-s1"},{"start":15,"end":19,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":25,"cssClass":"pl-c1"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":24,"cssClass":"pl-s1"},{"start":25,"end":29,"cssClass":"pl-s1"},{"start":30,"end":31,"cssClass":"pl-c1"}],[{"start":4,"end":8,"cssClass":"pl-k"}],[{"start":8,"end":18,"cssClass":"pl-s1"},{"start":19,"end":20,"cssClass":"pl-c1"},{"start":21,"end":33,"cssClass":"pl-s"}],[{"start":4,"end":10,"cssClass":"pl-s1"},{"start":11,"end":12,"cssClass":"pl-c1"},{"start":13,"end":25,"cssClass":"pl-s1"},{"start":26,"end":38,"cssClass":"pl-v"}],[{"start":4,"end":10,"cssClass":"pl-s1"},{"start":11,"end":15,"cssClass":"pl-en"},{"start":16,"end":26,"cssClass":"pl-s1"}],[],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":13,"cssClass":"pl-s1"},{"start":14,"end":20,"cssClass":"pl-en"},{"start":21,"end":30,"cssClass":"pl-s"},{"start":31,"end":57,"cssClass":"pl-s"}],[{"start":8,"end":62,"cssClass":"pl-c"}],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":29,"cssClass":"pl-en"},{"start":30,"end":34,"cssClass":"pl-s1"},{"start":35,"end":39,"cssClass":"pl-en"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":47,"end":53,"cssClass":"pl-s"},{"start":55,"end":62,"cssClass":"pl-s"},{"start":63,"end":64,"cssClass":"pl-c1"},{"start":64,"end":67,"cssClass":"pl-s"},{"start":67,"end":68,"cssClass":"pl-c1"},{"start":68,"end":74,"cssClass":"pl-s1"},{"start":75,"end":86,"cssClass":"pl-s"},{"start":88,"end":95,"cssClass":"pl-s"}],[{"start":4,"end":8,"cssClass":"pl-k"}],[{"start":8,"end":71,"cssClass":"pl-c"}],[{"start":8,"end":20,"cssClass":"pl-s1"},{"start":21,"end":22,"cssClass":"pl-c1"},{"start":23,"end":29,"cssClass":"pl-en"},{"start":30,"end":34,"cssClass":"pl-s1"},{"start":35,"end":39,"cssClass":"pl-en"},{"start":40,"end":46,"cssClass":"pl-s1"},{"start":47,"end":53,"cssClass":"pl-s"},{"start":55,"end":65,"cssClass":"pl-s"},{"start":66,"end":67,"cssClass":"pl-c1"},{"start":67,"end":70,"cssClass":"pl-s"},{"start":70,"end":71,"cssClass":"pl-c1"},{"start":71,"end":77,"cssClass":"pl-s1"},{"start":78,"end":89,"cssClass":"pl-s"},{"start":91,"end":101,"cssClass":"pl-s"}],[],[{"start":4,"end":74,"cssClass":"pl-c"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":9,"cssClass":"pl-s1"},{"start":10,"end":14,"cssClass":"pl-s1"},{"start":15,"end":21,"cssClass":"pl-en"},{"start":22,"end":28,"cssClass":"pl-s1"},{"start":29,"end":35,"cssClass":"pl-s"},{"start":37,"end":45,"cssClass":"pl-s"},{"start":46,"end":47,"cssClass":"pl-c1"},{"start":47,"end":53,"cssClass":"pl-s1"},{"start":54,"end":66,"cssClass":"pl-s"},{"start":68,"end":74,"cssClass":"pl-s"},{"start":75,"end":76,"cssClass":"pl-c1"},{"start":76,"end":82,"cssClass":"pl-s1"},{"start":83,"end":94,"cssClass":"pl-s"},{"start":96,"end":104,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-s1"},{"start":11,"end":17,"cssClass":"pl-en"},{"start":18,"end":24,"cssClass":"pl-s1"},{"start":25,"end":31,"cssClass":"pl-s"},{"start":33,"end":41,"cssClass":"pl-s"},{"start":42,"end":43,"cssClass":"pl-c1"},{"start":43,"end":49,"cssClass":"pl-s1"},{"start":50,"end":62,"cssClass":"pl-s"},{"start":64,"end":70,"cssClass":"pl-s"},{"start":71,"end":72,"cssClass":"pl-c1"},{"start":72,"end":78,"cssClass":"pl-s1"},{"start":79,"end":90,"cssClass":"pl-s"},{"start":92,"end":100,"cssClass":"pl-s"}],[],[{"start":4,"end":30,"cssClass":"pl-c"}],[{"start":4,"end":6,"cssClass":"pl-k"},{"start":7,"end":10,"cssClass":"pl-c1"},{"start":11,"end":13,"cssClass":"pl-s1"},{"start":14,"end":18,"cssClass":"pl-s1"},{"start":19,"end":24,"cssClass":"pl-en"},{"start":25,"end":31,"cssClass":"pl-s1"},{"start":32,"end":38,"cssClass":"pl-s"},{"start":40,"end":48,"cssClass":"pl-s"}],[{"start":8,"end":10,"cssClass":"pl-s1"},{"start":11,"end":16,"cssClass":"pl-en"},{"start":17,"end":23,"cssClass":"pl-s1"},{"start":24,"end":30,"cssClass":"pl-s"},{"start":32,"end":40,"cssClass":"pl-s"}],[],[{"start":4,"end":35,"cssClass":"pl-c"}],[{"start":4,"end":7,"cssClass":"pl-k"},{"start":8,"end":11,"cssClass":"pl-s1"},{"start":12,"end":20,"cssClass":"pl-s1"},{"start":21,"end":23,"cssClass":"pl-c1"},{"start":24,"end":33,"cssClass":"pl-en"},{"start":34,"end":46,"cssClass":"pl-s1"}],[{"start":8,"end":13,"cssClass":"pl-en"},{"start":14,"end":33,"cssClass":"pl-s"},{"start":15,"end":17,"cssClass":"pl-cce"},{"start":34,"end":37,"cssClass":"pl-s1"},{"start":37,"end":38,"cssClass":"pl-c1"},{"start":38,"end":39,"cssClass":"pl-c1"},{"start":40,"end":43,"cssClass":"pl-s"},{"start":44,"end":47,"cssClass":"pl-en"},{"start":48,"end":60,"cssClass":"pl-s1"}],[{"start":8,"end":22,"cssClass":"pl-en"},{"start":23,"end":25,"cssClass":"pl-s1"},{"start":26,"end":30,"cssClass":"pl-s1"},{"start":31,"end":39,"cssClass":"pl-en"},{"start":40,"end":42,"cssClass":"pl-s1"},{"start":43,"end":47,"cssClass":"pl-s1"},{"start":48,"end":56,"cssClass":"pl-en"},{"start":57,"end":65,"cssClass":"pl-s1"},{"start":68,"end":69,"cssClass":"pl-c1"},{"start":71,"end":77,"cssClass":"pl-s1"}]],"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/josepatino/pyBK/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"main.py","displayUrl":"https://github.com/josepatino/pyBK/blob/master/main.py?raw=true","headerInfo":{"blobSize":"8.94 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"96fdc19","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2Fjosepatino%2FpyBK%2Fblob%2Fmaster%2Fmain.py","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"127","truncatedSloc":"115"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"Python","languageID":303,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/josepatino/pyBK/blob/master/main.py","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/josepatino/pyBK/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/josepatino/pyBK/raw/master/main.py","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"runDiarization","kind":"function","ident_start":284,"ident_end":298,"extent_start":280,"extent_end":7683,"fully_qualified_name":"runDiarization","ident_utf16":{"start":{"line_number":10,"utf16_col":4},"end":{"line_number":10,"utf16_col":18}},"extent_utf16":{"start":{"line_number":10,"utf16_col":0},"end":{"line_number":96,"utf16_col":77}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/josepatino/pyBK/branches":{"post":"Reqbicrrz9i7PRNle5J2sQnhl4vTEzC6vZxZiPRAPYYZsby_tbbX8xCuQtSLQtrICC8xz8iW5XfWexm5Bj70XQ"},"/repos/preferences":{"post":"sBO9KGgGOjMrsBoX6PPfyHTCO23pOrC2pG4ZFg5xtDsLTE59_kn61WllSX_h2wICR4yV0Z6zZJKDDl2DvpwJkQ"}}},"title":"pyBK/main.py at master · josepatino/pyB

GitHub - bugbakery/pydiar: simple to use, pretrained/training-less models for speaker diarization

GitHub - bugbakery/pydiar: simple to use, pretrained/training-less models for speaker diarization

Skip to content

Toggle navigation

Sign in

Product

Actions

Automate any workflow

Packages

Host and manage packages

Security

Find and fix vulnerabilities

Codespaces

Instant dev environments

Copilot

Write better code with AI

Code review

Manage code changes

Issues

Plan and track work

Discussions

Collaborate outside of code

Explore

All features

Documentation

GitHub Skills

Blog

Solutions

For

Enterprise

Teams

Startups

Education

By Solution

CI/CD & Automation

DevOps

DevSecOps

Resources

Learning Pathways

White papers, Ebooks, Webinars

Customer Stories

Partners

Open Source

GitHub Sponsors

Fund open source developers

The ReadME Project

GitHub community articles

Repositories

Topics

Trending

Collections

Pricing

Search or jump to...

Search code, repositories, users, issues, pull requests...

Search

Clear

Search syntax tips

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

Sign up

You signed in with another tab or window. Reload to refresh your session.

You signed out in another tab or window. Reload to refresh your session.

You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

bugbakery

/

pydiar

Public

Notifications

Fork

7

Star

20

simple to use, pretrained/training-less models for speaker diarization

License

View license

20

stars

7

forks

Branches

Tags

Activity

Star

Notifications

Code

Issues

2

Pull requests

1

Actions

Projects

0

Security

Insights

Additional navigation options

Code

Issues

Pull requests

Actions

Projects

Security

Insights

bugbakery/pydiar

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

 mainBranchesTagsGo to fileCodeFolders and filesNameNameLast commit messageLast commit dateLatest commit History18 Commitsexamplesexamples  pydiarpydiar  .flake8.flake8  .gitignore.gitignore  .pre-commit-config.yaml.pre-commit-config.yaml  LICENSELICENSE  README.mdREADME.md  poetry.lockpoetry.lock  pyproject.tomlpyproject.toml  View all filesRepository files navigationREADMELicensePyDiar

This repo contains simple to use, pretrained/training-less models for speaker diarization.

Supported Models

Binary Key Speaker Modeling

Based on pyBK by Jose Patino which implements the diarization system from "The EURECOM submission to the first DIHARD Challenge" by Patino, Jose and Delgado, Héctor and Evans, Nicholas

If you have any other models you would like to see added, please open an issue.

Usage

This library seeks to provide a very basic interface. To use the Binary Key model on a file, do something like this:

import numpy as np

from pydiar.models import BinaryKeyDiarizationModel, Segment

from pydiar.util.misc import optimize_segments

from pydub import AudioSegment

INPUT_FILE = "test.wav"

sample_rate = 32000

audio = AudioSegment.from_wav(INPUT_FILE)

audio = audio.set_frame_rate(sample_rate)

audio = audio.set_channels(1)

diarization_model = BinaryKeyDiarizationModel()

segments = diarization_model.diarize(

sample_rate, np.array(audio.get_array_of_samples())

)

optimized_segments = optimize_segments(segments)

Now optimized_segments contains a list of segments with their start, length and speaker id

Example

A simple script which reads an audio file, diarizes it and transcribes it into the WebVTT format can be found in examples/generate_webvtt.py.

To use it, download a vosk model from https://alphacephei.com/vosk/models and then run the script using

poetry install

poetry run python -m examples.generate_webvtt -i PATH/TO/INPUT.wav -m PATH/TO/VOSK_MODEL

About

simple to use, pretrained/training-less models for speaker diarization

Resources

Readme

License

View license

Activity

Custom properties

Stars

20

stars

Watchers

3

watching

Forks

7

forks

Report repository

Releases

2

tags

Sponsor this project

 

opencollective.com/bugbakery

Learn more about GitHub Sponsors

Packages

0

No packages published

Contributors

3

 

 

 

Languages

Python

100.0%

Footer

© 2024 GitHub, Inc.

Footer navigation

Terms

Privacy

Security

Status

Docs

Contact

Manage cookies

Do not share my personal information

You can’t perform that action at this time.

�App Store 上的“SURGE – Gay Dating & Chat�

�App Store 上的“SURGE – Gay Dating & Chat�

退出商店Apple商店MaciPadiPhoneWatchAirPods家居娱乐配件技术支持

0+

App Store 预览

SURGE – Gay Dating & Chat

17+

Match, Meet and Date Hot Men

Cosmic Latte s.r.o

4.6 • 852 个评分

�费

�供 App 内购买项目

截�

iPhone

iPad

简介

SURGE是专为男�性���性��跨性别和酷儿所设计的应用程�。�论您是想�场约会�寻找爱情或是�情,SURGE都能满足您�认识当地想找��或找对象的男�性���性��和跨性用户。使用�费版SURGE,或�级到高级会员,解�所有功能,并�得更多�对机会��费�对和�天•�览—查看附近的用户,喜欢?��滑��喜欢?�左滑•�对—��滑和您喜欢的用户�对•�天—�对�功���往�天室,立�开始�费�天�传�阅��焚的照片或影片,您也能传�GIFs动图和贴图选择您的喜好•筛选—设定您喜爱的年纪和�离范围•�人照片— �对�查看您的�人照片•展示您自己—�您的相簿�FB或IG上传照片到您个人档案中的公开和�人照片•更快速�对—在�功�对之�,传�Power信�给您喜欢的用户安全���•账�认�—查看�通过认�•�护应用程�—您�以设定指纹解�应用程�•�天—�有�功�对对象�以传讯�给您•快照—传�阅��焚照片高级会员功能• �人模�—�有您喜欢的用户和�对对象�以看到您•�喜欢我—查看对您有兴趣的用户• Power信�—�天�传�最多5则Power信�给您喜欢的用户,这样一�对方就能在滑到您之�,看到您喜欢他和传�的信��• �功�对�照片 — �有您的�对对象�看的到的照片• 我的��纪录—�寻并更改之�对该用户的决定(喜欢/�喜欢)• �更�置—�更您的�置,�����市的用户• ��年纪和�离—对其他用户��您的年纪和�离• 进阶筛选—设定您喜欢的筛选�件或�显示�认�用户•贴图—在�天室中使用SURGE特製贴图高级会员• 我们�供1个月�3个月和12个月的高级会员订阅方案• 除�您在目�订阅方案到期�24�时将自动续订功能关闭,�则将会自动续订•用户�自行管�订阅,在订阅���往账�设定将自动续订功能关闭关�我们我们致力�将男�志和男�性�用户�集在一个特别的�境中,这将改�您和其他用户相�和约会的方�。我们是一个开放的平�,在这裡,您�以在�自己�时,寻找�想中的对象。我们的座�铭是「无标籤�,所以�论您是熊还是猴,都没有关係。�妨�试试,,并�众多的个人档案中,找到��您的那个完�对象。给SURGE一个机会,改�您��下个帅哥的方�。任何形�的裸露�性暗示和色情照片都是严格�止的,所有公然裸露和裸体照都会被删除。您需满18��能注册使用SURGE应用程�。�络我们•24/7客�:我们在这�供您中文�助,�繫我们的客�,我们会尽快�覆您•���馈:有任何建议或�馈�?我们�视您的��,让我们一起努力,使平��得更好。到��政策了解更多资讯:http://www.surgeapp.co/privacyhttp://www.surgeapp.com/terms追踪我们Facebook @surgeapp.coInstagram @surgeappTiktok: @surge_app

新内容

2024年2月20日

版本 10.15.1

- 错误修正和性能改进

评分�评论

4.6(满分 5 分)

852 个评分

852 个评分

mr.weng大�男

,

2019/10/03

五星��这款软件

本人使用过一段时间��评价,很喜欢这款软件。界�很简�也很棒�功能基本�全,也基本够用,��更多的朋�使用这款。

开�人员��

,

你好,�常感�你的�饋�

劣质对象

,

2017/09/04

金无足赤 人无完人

这个软件很好,照片都有很清楚,�对了��以�天,就算是需�钱��以看那先�说制作方也需��饭,�出�的��制作方,也很快解决我相信以�这个软件会�的更好更大,想我在继续努力完善�总体还是很好�

martinno2

,

2019/10/01

5分

这个软件挺�错的,节目简�,机制也挺好的,就是好�用的人还�是很多,�离�制有点�,但总体是�常�错的,希望开�者越�越好�

开�人员��

,

你好,�常感�你正�的評價�

App ��

开�者“Cosmic Latte s.r.o�已表�该 App 的��规范�能包括了下述的数�处�方�。有关更多信�,请�阅开�者��政策。

用�追踪你的数�

以下数��能会用�在其他公�的 App 和网站中追踪你:

标识符

使用数�

诊断

�你关�的数�

开�者�能会收集以下数�,且数��你的身份关�:

�置

�系信�

用户内容

标识符

�感信�

未�你关�的数�

开�者�能会收集以下数�,但数��会关�你的身份:

使用数�

诊断

��处�规范�能基�你使用的功能或你的年龄等因素而有所��。了解更多

信�

供应商

Cosmic Latte s.r.o

大�

617.9 MB

类別

生活

兼容性

iPhone

设备需装有 iOS 14.0 或更高版本。

iPad

设备需装有 iPadOS 14.0 或更高版本。

iPod touch

设备需装有 iOS 14.0 或更高版本。

Apple Vision

设备需装有 visionOS 1.0 或更高版本。

语言

俄文, 土耳其文, 德文, �大利文, �克语, 日文, 法语, 波兰文, 泰文, �典文, 简体中文, �体中文, 英语, �兰文, 葡�牙文, 西�牙文, 越�文, 韩文

年龄分级

17+

�尔/轻微的色情内容或裸露

频�/强烈的�人或性暗示题�

Copyright

© 2023 Cosmic Latte s.r.o.

ä»·æ ¼

�费

App 内购买项目

Premium Membership

Â¥68.00

Premium Membership

Â¥138.00

Premium Membership

Â¥63.00

Premium Membership

Â¥398.00

Premium Membership

Â¥83.00

Premium Membership

Â¥128.00

Premium Membership

Â¥33.00

Premium Membership

Â¥173.00

Premium Membership

Â¥10.00

Premium Membership

Â¥103.00

开�人员网站

App 支�

��政策

开�人员网站

App 支�

��政策

更多�自此开�人员的 App

Zoe: 女�性�约会和交�软件

社交

你�能也会喜欢

Manhunt – Gay Chat, Meet, Date

生活

翻咔 。�志 。�志交�软件 - Gay Poof

生活

Heaven: Gay & LGBTQ+ Dating

生活

�密全�男�志交�活动社区-GFUN

生活

Lesbian Singles - 女�性�交�应用

生活

Mingle2 Dating App, �天,约会,新朋�

生活

更多选购方式:查找你附近的 Apple Store 零售店及更多门店,或者致电 400-666-8800。

Copyright © 2023 Apple Inc. 保留所有权利。

隐私政策

使用条款

销售政策

法律信息

网站地图