从古人类基因组推断新石器时代红山人的遗传形成和红山文化的人口扩张

红山文化位于中国北方和东北的交汇处,是东亚新石器时代最早的复杂社会之一。红山文化遗址分布于今天的内蒙古自治区到辽宁省,覆盖面积超过20万平方公里。然而,由于缺乏古代基因组数据,红山文化是如何占据如此广阔的地理区域仍是一个未解之谜——究竟是遵循人口扩散模式(即伴随文化扩张的基因互动),还是文化扩散模式(即当地群体在不受基因影响的情况下采用新文化)。 本研究报告了来自河北省郑家沟遗址的19个与红山文化相关的个体的全基因组数据,该遗址是迄今为止发现的最西端和最南端的红山文化相关遗址。我们将新获得的河北红山基因组与此前发表的来自辽宁省半拉山遗址的3个红山文化相关基因组进行了联合分析,该遗址位于红山文化

从古人类基因组推断新石器时代红山人的遗传形成和红山文化的人口扩张

红山文化位于中国北方和东北的交汇处,是东亚新石器时代最早的复杂社会之一。红山文化遗址分布于今天的内蒙古自治区到辽宁省,覆盖面积超过20万平方公里。然而,由于缺乏古代基因组数据,红山文化是如何占据如此广阔的地理区域仍是一个未解之谜——究竟是遵循人口扩散模式(即伴随文化扩张的基因互动),还是文化扩散模式(即当地群体在不受基因影响的情况下采用新文化)。

本研究报告了来自河北省郑家沟遗址的19个与红山文化相关的个体的全基因组数据,该遗址是迄今为止发现的最西端和最南端的红山文化相关遗址。我们将新获得的河北红山基因组与此前发表的来自辽宁省半拉山遗址的3个红山文化相关基因组进行了联合分析,该遗址位于红山文化的核心区域,距离郑家沟遗址约473公里。

我们的基因研究结果显示河北红山人与辽宁红山人之间存在强烈的基因联系,支持红山文化的人口扩散模式。辽宁和河北的红山人都携带有古东北亚相关(可能与当地早期的赵宝沟文化有关)和新石器时代仰韶文化相关的粟作农民血统。有趣的是,我们的祖先模型分析表明,红山人中的仰韶文化相关血统很可能是由山东中新石器时代大汶口文化相关的农民引入的,这些农民携带约40%的山东早期新石器时代狩猎采集者相关谱系和60%的仰韶文化相关谱系。

我们的发现突显了中新石器时代期间西辽河、中原和山东之间复杂的基因互联关系。

**关键词:**红山文化、人口扩散、祖先谱系、古代基因组

引言

在公元前4-2千年,一个被称为红山文化的复杂社会在中国东北部的辽西地区兴起。红山文化以其墓葬中的玉器装饰和龙纹图案而闻名,这些文物证实了红山文化是中华文明的重要源头之一。中新石器时代红山文化的初期形成被认为与当地早期新石器时代赵宝沟文化(以其精美的陶器及其上的鹿、鸟、野猪等动物交织纹样而著称)和从燕山以南北迁的仰韶文化后岗类型之间的互动融合有关。

前人的古DNA研究揭示了新石器时代北方中国存在多个不同的人类遗传谱系。在黑龙江流域,一个被称为"古东北亚"(ANA)的血统保持了长期的遗传连续性。最早被确认携带ANA相关血统的个体是14,000年前的AR14K。在中原地区,自新石器时代以来,人群携带着高比例的中新石器时代仰韶文化相关血统(被称为"新石器时代黄河"血统,NYR)。晚期龙山文化相关人群虽然表现出人群亚结构,但仍保持着80%-100%的NYR血统。

在山东,在与早期新石器时代后李文化相关的六个古代基因组(来自博山、小高、边边和小荆山)中发现了一个被称为"山东狩猎采集者"(Shandong_HG)的血统。这一血统在大汶口文化时期逐渐被携带NYR血统的人群东迁所取代。在北方游牧文化与中原的交汇处,ANA相关血统与携带NYR相关血统的农耕群体之间的基因互动在西辽河(以辽宁_WLR_MN_5kya为代表)、青海(以青海_Upper_YR_LN_4kya为代表)和内蒙古(以庙子沟_MN为代表)的中新石器时代人群中得到了体现。

最近,Wang等人进一步完善了辽宁_WLR_MN_5kya的混合模型,将其确定为NYR、ANA和Shandong_HG的混合,突显了山东对红山文化人群的遗传影响。迄今为止,与红山文化相关的全基因组古DNA数据仅限于中国东北辽宁省单一考古遗址的三个个体(即宁等人2020年发表的半拉山遗址的辽宁_WLR_MN_5kya)。红山文化的形成、传播以及与邻近社会其他谱系的互动仍然知之甚少。

2023年,河北省张家口市发现了郑家沟遗址。出土的典型红山文化玉龙表明郑家沟遗址属于红山文化。此外,郑家沟遗址人类遗骸的碳14测年可追溯至5300至4800年前,与红山文化时期重叠。郑家沟遗址也是迄今为止发现的最西端和最南端的红山文化相关遗址。

郑家沟遗址的发现终结了红山文化是否到达张家口市的长期争论。郑家沟遗址80%的玉材来自红山文化核心区域辽宁。郑家沟遗址出土的陶器装饰图案是当地七里河文化和典型红山文化的混合。这些发现支持红山文化向西传播473公里至张家口市地区,并与当地文化相互影响。总之,郑家沟遗址扩大了红山文化的地理分布范围,对于理解新石器时代红山文化的传播具有重要意义。

尽管郑家沟遗址意义重大,但迄今为止尚未对其进行基因组测序。在本研究中,我们报告了来自郑家沟遗址的18个个体的全基因组古DNA数据。我们还对两个郑家沟样本(ZJG2,5285-4978校正BP和ZJG7,5279-4871校正BP)进行了新的碳14测年,这些样本属于红山文化晚期。郑家沟遗址与此前发表的辽宁省半拉山遗址的辽宁_WLR_MN_5kya相距约473公里。我们的研究重点是调查由郑家沟人代表的河北_红山_5kya与由辽宁_WLR_MN_5kya代表的辽宁红山人在遗传上的关联程度,以探索红山文化的传播模式。我们的研究结果完善了对红山文化相关个体遗传起源的理解,支持红山文化的人口扩散模式,并证实了红山文化与大汶口文化之间的遗传联系。

结果

古DNA数据生成

本研究采样的人类遗骸均来自二次葬。二次葬是一种特殊的丧葬习俗,死者遗骸要经过两个不同阶段的处理和埋葬。郑家沟遗址的人类遗骸保存状况较差。由于岩骨和牙齿往往含有更多的内源人类DNA,我们优先收集了岩骨和牙齿样本。表S1A列出了每个个体的骨骼元素。

我们在专用洁净室中从骨骼遗骸中提取DNA,构建双链DNA文库,富集重叠124万个单核苷酸多态性(SNPs)的DNA片段并进行测序。在去除污染水平高(>5%,使用所有个体的线粒体DNA数据和生物学男性的X染色体数据进行估计,详见材料与方法)和1240k面板上SNPs数量少(<20,000)的文库后,保留了36个文库。

随后,我们使用READ软件计算了这36个文库的伪单倍型数据上SNPs的成对错配率(P0),以识别基因型相同的样本。合并相同样本的序列后,得到19个通过古DNA真实性检验的独特个体(详见材料与方法)(表S1A)。使用READ软件进行亲缘关系检测,在19个独特个体中发现了6对亲缘关系个体(表S1B和图S2)。在每对基因亲缘个体中去除SNP计数较少的个体后,我们获得了15个用于群体遗传分析的个体,包括11名男性和4名女性(表S1A)。

通过在每个位点随机抽样单个等位基因,在目标SNPs上调用伪单倍型基因型,得到在1240k面板上覆盖37,077至1,199,408个SNPs的个体(表S1A)。新生成的基因型与来自不同全球群体的已发表古代和现代基因组合并用于下游分析(表S1C和S1D)。

父系遗传显示河北红山人与北方东亚人之间的强烈联系

新生成的11个河北红山人个体在常染色体上互不相关,并被鉴定为生物学男性。我们成功为10名男性指定了Y染色体单倍群(表S1A)。我们观察到河北红山人个体之间存在强烈的父系血统联系,因为10个中有8个携带相同的单倍群C2b1a1a/C2b1a1a2。单倍群C2b1a1在中国北方和东北部占主导地位。单倍群C2b1a1也在常染色体上携带高比例ANA相关祖先的中国东北古代个体中被观察到:一个来自青铜时代西辽河的基因异常值(WLR_BA_o)和三个铁器时代鲜卑个体(AR_Xianbei_IA)。

其他两个来自河北红山的个体携带单倍群N1a,该单倍群主要分布在东亚北部。单倍群N1a或其亚单倍群可能与ANA相关的祖先成分有关。N1(xN1a, N1c)在之前发表的辽宁省牛河梁红山文化相关群体个体中也占主导地位。只有两个牛河梁个体携带其他单倍群,分别是C和O3a。我们基于Y染色体单倍群的结果支持河北_红山_5kya与北方东亚相关谱系之间存在强烈的父系联系。

河北红山人多样的线粒体DNA单倍群

在15个新生成的郑家沟个体中,13个被成功分配到不同的线粒体单倍群,包括A、G、D4、D5、B5、N9a和R11(表S1A)。单倍群A、G、D4和D5主要分布在东亚北部,在中原青台遗址的仰韶文化相关个体和山东大汶口文化相关个体中都有发现。单倍群D5a3a1在之前发表的辽宁省半拉山三个红山文化相关个体中的一个中被观察到(其他两个个体的线粒体DNA单倍群未知),并由两个新生成的河北_红山_5kya个体携带。

单倍群B5b2主要见于现代汉族、赫哲族、闽南和马卡道。单倍群B5b2在山东古代人群中被观察到,以早期新石器时代边边样本为代表,在山东沿海大汶口文化相关人群中具有较高频率。三个新生成的河北_红山_5kya个体携带单倍群B5b2。单倍群N9a是在东亚南部占主导地位的东欧亚系谱。单倍群N9a也在山东后李文化相关的一个早期新石器时代个体(小高)中发现。单倍群R11在中国被检测到,并在中国东北的一个个体中被观察到(以ARpost9K中的KHI001为代表)。这些结果表明河北_红山_5kya同时包含北方和南方东亚相关的单倍群。

河北红山人与辽宁红山人群体之间的基因亲缘关系

为了定性地描述我们新生成的河北_红山_5kya个体与其他东亚人之间的遗传关系,我们基于人类起源(HO)数据集进行了主成分分析(PCA)。我们将古代样本投影到使用现代东亚人群计算的前两个主成分上(图1B)。我们观察到河北_红山_5kya个体形成了一个遗传梯度,投影在新石器时代黄河中游相关群集(以河南_YR_MN_5kya为代表)和古代东北亚相关梯度(以蒙古_N_East_5kya为代表)之间。之前发表的三个辽宁_红山个体(辽宁_WLR_MN_5kya)被投影在河北_红山_5kya的遗传变异范围内。

接下来,我们应用了外群f3统计,形式为f3(约鲁巴人;河北_红山_5kya/辽宁_WLR_MN_5kya,X),以测量河北_红山_5kya/辽宁_WLR_MN_5kya与每个古代欧亚人群(X)自其与非洲外群约鲁巴人分离以来的共享遗传漂变。与PCA聚类一致,河北_红山_5kya和辽宁_WLR_MN_5kya之间表现出最高的遗传相似性(图1C和表S2A)。上述结果支持河北红山人和辽宁红山人之间存在强烈的基因亲缘关系。

河北红山人群体内部的遗传亚结构

在主成分分析中,河北红山人个体表现出群体亚结构,他们在古东北亚(ANA)和黄河中游相关(NYR)群集之间形成了一个遗传梯度。类似的趋势也可以从无监督ADMIXTURE分析中推断出来。ADMIXTURE假设每个个体的等位基因频率仅是由K个祖先成分的等位基因频率加权和组成。在K=4时,河北红山人个体可以被建模为具有不同比例的汉藏语系相关(粉色)和ANA相关(橙色)祖先成分。

我们还进行了二维f4统计分析,即f4(约鲁巴人,河北红山人个体;辽宁红山人,蒙古北方东亚7kya)对比f4(约鲁巴人,河北红山人个体;辽宁红山人,河南黄河中游5kya),用以衡量河北红山人个体与ANA(以蒙古北方东亚7kya为代表)和NYR(以河南黄河中游5kya为代表)相关祖先的亲缘关系。我们观察到河北红山人个体可以根据他们与ANA和NYR的亲缘关系进行区分。

使用qpWave分析,我们将多个基于f统计的信号组合,以测试15个新报告的河北红山人个体中存在的不同祖先成分数量。当11个中的15个个体被用作基础测试群体时,rank=0 qpWave模型的p值小于0.01,这表明河北红山人个体内存在遗传异质性。rank=1 qpWave建模的p值大于0.05,表明至少有两个来自外群集的独立基因流区分了15个河北红山个体。

讨论

红山文化位于中国北方和东北的交汇处,是东亚新石器时代最早的复杂社会之一。红山文化遗址分布于今天的内蒙古自治区到辽宁省,覆盖面积超过20万平方公里。在本研究中,我们获得了15个来自河北红山文化的不相关基因组。据我们所知,这是该地区首次获得的古代基因组数据。这使我们能够回答关于红山文化的遗传起源和红山文化扩散模式的几个长期存在的问题。

红山文化的人口扩散

本研究为红山文化的人口扩散提供了直接的基因证据。我们发现,尽管相距约473公里,代表河北红山人群的郑家沟基因组与代表红山文化核心区域的辽宁红山人群(辽宁_WLR_MN_5kya)之间共享最高的基因漂移。此外,尽管河北红山人(Hebei_Hongshan_5kya)与同时期的庙子沟文化相关人群(Miaozigou_MN)在地理位置上更接近(约126公里),但河北红山人与辽宁红山人的基因关系比与庙子沟文化相关人群更为密切。

对于这种基因相似性,最简单的解释是河北红山人和辽宁红山人来源于相同(或非常相似)的祖先。因为除非他们共享共同的祖先来源,否则在地理位置相距遥远且具有不同本地祖先的地区很难观察到如此相似的祖先谱系模式。因此,我们的研究结果强有力地支持了人口迁移伴随红山文化向西扩张的观点。

红山人群体的遗传形成

我们发现河北红山5千年前的个体展现出人群亚结构,其特征是具有不同比例的仰韶文化相关农民血统。仰韶文化相关血统是中国古代和现代人群最重要的生物根源之一。此前的古DNA研究表明,仰韶文化向山东、西南、西北和青藏高原的扩张是由人口扩散驱动的。

从考古学角度来看,红山文化被认为是当地早期赵宝沟文化与仰韶文化北向扩张的混合。目前,我们缺乏辽宁和河北红山文化时期之前的基因组数据。考虑到古东北亚(ANA)相关谱系在新石器时代覆盖了蒙古高原、黑龙江流域和俄罗斯远东地区,可以假设这是辽宁和河北红山文化时期之前人群的谱系。

有趣的是,除了从考古假设推断的两个祖先来源(即仰韶文化相关谱系和ANA相关谱系)外,我们还观察到红山文化相关个体中存在第三个祖先来源:山东狩猎采集者相关谱系。我们为河北红山5千年前和辽宁五棱山红山文化中期提出了两个混合模型:一是红山文化人群是仰韶文化相关、ANA相关和山东狩猎采集者相关谱系的混合;二是红山文化人群是ANA和山东大汶口文化相关人群(以山东富家晚期大汶口和吴村晚期大汶口为代表)的混合。

河北红山5千年前/辽宁五棱山红山文化中期和山东富家晚期大汶口/吴村晚期大汶口显示出相似的仰韶文化农民和山东狩猎采集者相关血统比例。基于我们对遗传证据的分析,在简约模型下(即优先选择来源人群较少的模型而非更复杂的模型),我们认为更有可能的是由ANA代表的本地血统与北迁的大汶口文化相关人群的混合塑造了红山文化人群的遗传形成。大汶口文化个体对红山文化的基因影响可归因于两种文化之间的文化互动。

我们的祖先建模揭示,红山人群继承了来自三个关键来源的基因贡献:ANA、仰韶农民和山东狩猎采集者。虽然ANA谱系与假设的当地赵宝沟文化底层相符,但仰韶相关血统可能是通过从山东北迁的大汶口农民间接到达的。这挑战了早期考古假设,即认为红山的形成仅归因于赵宝沟和仰韶群体之间的直接互动。相反,我们的结果突显了大汶口文化作为关键中介的作用,将粟作农业实践和基因血统从中原传播到红山边缘地区。

表型遗产和适应性状

我们检查了河北红山5千年前个体的东亚特异性状。河北红山5千年前个体携带与干耳垢和无体臭相关的等位基因,但未携带与现代东亚人群酒精中毒风险降低相关的等位基因。需要注意的是,现代人群中的性状相关等位基因可能归因于自然选择或由混合引入。利用古DNA,西欧人群中古代谱系在现代性状中的遗传遗产已得到推断。然而,由于古代东亚基因组数据有限(即缺乏来自黄河和东亚南部的高覆盖度基因组),这阻碍了在东亚进行类似研究。此外,红山文化相关人群与现代东亚人之间存在遗传差异。红山文化等古代东亚人的遗传遗产是否反映在现代东亚特异性状中,将是未来遗传研究的一个重要课题。

结论

我们的发现将红山文化置于多个新石器时代互动圈的交汇处。红山人的遗传特征反映了与同时期文化(如庙子沟和石峁)相似的模式,即古东北亚和黄河血统的混合。然而,红山文化独特的山东相关成分表明其在中原、山东和东北亚之间扮演着文化和遗传桥梁的独特角色。这与考古证据中发现的长距离玉器贸易和这些地区共享的宗教仪式相符。此外,大汶口农民对红山文化的遗传影响挑战了中国新石器时代研究中传统的南北二分法。相反,它强调了塑造早期东亚社会的多向迁移和文化交流网络。

我们注意到本研究仅基于一个遗址,因此可能无法代表河北红山文化相关人群的全部遗传多样性。需要在红山文化时期更广泛的区域进行进一步采样,以研究红山文化的扩散模式及其与周边文化的互动。早期新石器时代的河北和西辽河人群可能有助于完善河北红山5千年前和辽宁五棱山红山文化中期人群的混合模型。

材料与方法

郑家沟遗址考古信息

郑家沟遗址位于张家口市宣化区塔儿村乡郑家沟村西北坡。2023年,发掘面积约500平方米,出土文物150余件,包括红山文化典型器物,如玉猪龙、玉环、玉斧等。出土人骨30余件,发现祭祀坑20余处,并出土大量陶片,如灰陶、红陶和彩陶。通过对人骨和碳样品的碳14测年,确定该遗址距今4800-5300年,初步判定为红山文化遗存。选取两个样本进行碳14测年:

  • ZJG2,5285-4978校正年前
  • ZJG7,5279-4871校正年前

碳14测年

骨骼/牙齿样品的制备包括标准的酸-碱-酸(ABA)程序和胶原蛋白提取。首先,骨骼/牙齿样品在超纯水中超声处理,干燥,研磨并筛选以获得适当大小的样品分数(0.5-1毫米)。然后,样品依次用0.5M盐酸(约18小时)、0.1-0.2M氢氧化钠(30分钟-1小时)和0.5M盐酸(1小时)处理。在pH 3溶液中70°C下进行骨骼/牙齿胶原蛋白明胶化20小时。明胶溶液用洁净滤膜过滤后冷冻干燥。通过测定胶原蛋白中的碳氮含量、原子C/N比和胶原蛋白得率来监测胶原蛋白质量。

如果胶原蛋白得率高于1%且胶原蛋白的C:N比在2.9到3.5之间,则对样品进行测年。偏离这些比率的样品被认为不适合测年。纯胶原蛋白样品与CuO和银在真空中900°C下燃烧2小时转化为CO2。CO2经纯化、石墨化后在中国科学院广州地球化学研究所的0.5 MeV NEC加速器质谱仪上测量。所有碳14测年数据使用IntCal20校正曲线在OxCal中建模。

古DNA提取和测序

我们首先在厦门大学古DNA实验室的受控环境中按照处理古人DNA的既定协议对古代样品进行筛选。我们用75%乙醇清洗骨骼样品以去除表面污垢和附着物。我们使用电钻小心去除表层以露出新鲜表面。随后,我们在新暴露的骨骼表面涂抹10%次氯酸钠溶液10分钟进行消毒并消除任何残留污染物。用无水乙醇冲洗样品后,在紫外线下风干至少30分钟以最大限度地减少微生物污染,然后进行研磨。

通过系统性的过程获得约80-180毫克骨粉,这涉及钻入骨骼的水泥质、颞骨岩部或肢骨骨段,同时注意避免穿透骨髓腔。骨粉经过夜裂解处理。每个样品加入1毫升0.5M EDTA和1微升20毫克/毫升蛋白酶K,对于含有超过120毫克骨粉的样品进行相应调整。样品在37°C下以300转/分的速度震荡孵育过夜。我们使用硅胶膜基MinElute试剂盒(Qiagen,德国)进行DNA纯化。实验室制备的结合缓冲液含有5M盐酸胍、40%异丙醇、25mM醋酸钠和0.05% Tween-20(Sigma Aldrich,德国),pH 5.5,这提供了DNA吸附到MinElute膜所需的正确盐浓度和pH值。每个样品过夜消化后获得的澄清上清液与约13毫升结合缓冲液混合。最终使用蒸馏水洗脱纯化的DNA。

我们使用NEBNext Ultra II DNA文库制备试剂盒(New England BioLabs)结合定制的粘性末端接头,制备不含尿嘧啶-DNA-糖苷酶(UDG)处理的双链文库,以保留古DNA的典型末端损伤。我们遵循David Reich实验室的协议,使用Twist捕获试剂进行杂交捕获,以增加额外SNP位点的获取。整个实验过程中的PCR后纯化使用1.8X AMPure XP磁珠(Beckman Coulter,美国)完成,以消除100 bp以下的非目标DNA片段。然后我们在DNBSEQ-T7平台上对文库进行测序。

DNA序列数据处理

我们使用AdapterRemoval(2.3.2版本)去除双端测序读段的接头,修剪5'/3'末端质量分数≤20的碱基和模糊碱基(N)(--trimns --trimqualities --minquality 20),合并正反向读段(--collapse)并丢弃长度小于30 bp的读段(--minlength 30)。使用Burrows-Wheeler比对工具(BWA)程序(0.7.17-r1188版本)的aln和samse模块将合并的读段比对到人类参考基因组hs37d5(带有诱饵序列的GRCh37),其中关闭种子(-l 1024)并允许额外错配(-n 0.01)。使用Samtools(1.7版本)对BAM文件进行排序和索引,然后使用dedup(0.12.8版本)去除PCR重复。使用Samtools(1.7版本)对BAM文件进行过滤,要求最小Phred标度映射质量分数为30。

数据质量控制

我们使用多个指标评估古DNA的真实性。首先,我们使用mapDamage(2.2.1版本)计算死后损伤模式。我们检查每个文库是否在5'末端显示增加的C到T错配和在3'末端显示G到A错配,这是双链文库的预期特征。其次,我们估算污染率。我们使用ContamMix R脚本estimate.R在311个现代诊断标记位点估算真实映射的线粒体读段数量。我们使用默认选项运行ContamMix,并使用从映射到线粒体基因组的BAM文件中的所有读段生成两个输入文件。

对于分配为生物学男性的个体,使用ANGSD软件(0.910版本)的污染模块估算X染色体污染率。我们使用ANGSD软件提供的CHB(北京汉族)HapMap资源来定义多态性位点。我们将分析限制在X染色体的非重组部分(X:5,000,000-154,900,000)。对于X染色体污染率低但线粒体DNA污染率略高的男性文库,我们将这些文库归类为低污染。

image.png

image.png

Read more

三台机器部署 ClickHouse 高可用集群实战记录

本文是一份可发布版部署记录。真实 IP、域名、账号、密码、下载链接、业务目录名、机器唯一标识等敏感信息已经替换为占位符。命令中的 <...> 需要按自己的环境替换。 目标与拓扑 这次目标是用三台数据节点部署一套 ClickHouse 高可用集群,拓扑采用: 1 shard x 3 replicas 含义是:集群只有一个逻辑分片,三台机器都保存同一份数据的完整副本。任意一台数据节点宕机时,只要 ClickHouse Keeper 仍然有多数派,剩余节点仍可继续提供读写服务。 规划节点如下: 主机名示例地址角色ch-01<ch-01-ip>ClickHouse Server + ClickHouse Keeperch-02<ch-02-ip>ClickHouse Server + ClickHouse Keeperch-03<ch-03-ip&

By ladydd

折腾记(二):接入火山引擎实时语音 API,家庭语音助手体验直接拉满

接上篇 上一篇用全开源组件(Whisper + Hermes + Edge-TTS)搭了个语音助手,能跑,但体验就是"能用"二字: * 中文识别只有 70 分,方言基本歇菜 * 英文唤醒词"Alexa"喊着别扭 * 说完到回复要等 4-8 秒 * 它说话的时候你插不了嘴 这些问题靠堆开源组件很难根治。于是我去试了火山引擎(字节跳动)的语音服务,结果直接换了条路。 这篇分两段:先讲怎么用火山引擎的 ASR/TTS 替换掉开源组件(小改),再讲怎么上端到端实时语音模型(大改)。 第一段:先把 ASR 和 TTS 换成火山引擎 为什么换 我用豆包输入法的时候发现它语音识别准得离谱。一查,豆包用的就是字节自家的火山引擎 Seed-ASR。开通后有免费额度(

By ladydd

折腾记(一):用全开源组件给家里搭一个语音助手,对接自己的 Hermes Agent

起因 事情是从一块 ESP32-S3 开发板开始的。 我手上有一块 Seeed Studio XIAO ESP32-S3 Sense,带摄像头和麦克风。最初的想法很美好:用这块板子做一个无线语音终端,对着它说话,连到我服务器上跑的 Hermes Agent(一个自托管的 AI agent),让它回答我。 但折腾到一半我突然意识到一件事:我的麦克风、音响、服务器全在家里,为什么要绕一圈用 ESP32?直接把麦克风和音响插到服务器上不就行了? ESP32 那条路(做无线拾音终端)当然也有价值,但那是"为了学嵌入式而学",不是解决问题的最短路径。于是这个项目就从"嵌入式项目"变成了"在服务器上拼一个语音助手"。这篇就记录后者。 教训零:先想清楚你要解决的是什么问题。很多时候最优解比你最初设想的简单得多。 目标

By ladydd

Kiro 的三种代理设置方法:本地、服务端、Remote

作为kiro的骨灰级用户,这篇是我自己折腾 Kiro / Kiro Remote / Ubuntu Server 代理问题后的复盘。 核心不是“怎么配一个代理”,而是先判断:到底是谁在访问外网? 谁访问外网,代理就要配给谁。 0. 先说结论 Kiro 相关代理大概分三类: 场景真正访问外网的进程在哪里代理应该配在哪里本地 KiroWindows / Mac 本机本机 Clash / Proxifier / 系统代理服务端 Kiro / CLIUbuntu Server 上的 shell、CLI、node、kiro 进程Ubuntu 的环境变量,比如 HTTP_PROXY / HTTPS_PROXYKiro Remote远程 Ubuntu 上的 ~/.kiro-server 和 extensionHost远程 Ubuntu 的 Kiro Server

By ladydd
陕公网安备61011302002223号 | 陕ICP备2025083092号