speaknspell_analysis

2025-12-11 0 467

Speak-N-Spell分析和自定义语音包软件

在2019年的Speak&Spell Toys上进行分析和修改(以“经典80年代设计”的“基本娱乐”品牌出售)。

安装 /先决条件

Python环境

要将spana (说话范围分析)软件包安装到虚拟环境中,请运行:

speaknspell_analysis/
python3.13 -m venv .venv
source .venv/bin/activate

pip install -U pip

# install `spana` from this checkout in editable mode
pip install -e .
\”>

 cd speaknspell_analysis /
python3.13 -m venv .venv
source .venv/bin/activate

pip install -U pip

# install `spana` from this checkout in editable mode
pip install -e .

其他(可选)工具

  • em100开源命令行工具
    • 从这里
    • 编译并安装它,以便在PATH上可用em100二进制
    • 请记住将UDEV规则安装到/etc/udev/rules.d/
  • flashrom (用于阅读和重新编程您的SPI Flash)
    • 从这里
    • 编译并安装它,以便在PATH上可用flashrom命令

用法

此存储库中提供了3个主要功能:

  1. 编译新的Speak&Spell 2019兼容“语音包”。
  2. 解码SPI闪光图像
  3. 使用python -m spana.live_trace SPI Flash数据访问的“实时跟踪”

注意:2和3要求您具有提取的Speak&Spell 2019 Flash图像(请参见下文,以了解如何使用SPI Flash读取器进行此操作)。

编译新的语音包。

您将需要223个左右的WAV文件(以10kHz的样本率,当前代码没有重新采样)。您可以自己生成这些(通过记录自己在known_phrases.csv中说单词和短语)或在voice_packs/snoop_dogg目录中使用现有的单词和短语。

编译:

$ python -m spana.compile_voice_pack --wav-dir voice_packs/snoop_dogg/
Encoding 224 files in 14 parallel processes...
Allocating...
Relocating...
Saving to compiled_voice_pack.bin

注意:该脚本在WAV文件名中寻找一个3位数字(带有领先的零),以将文件映射到特定的偏移表索引。在.wav后缀之前(例如angel_042.wav042_angel.wavANG042EL.wav都可以接受)。

用法:

 python -m spana.compile_voice_pack --help
usage: compile_voice_pack [-h] -d WAV_DIR

Build a Speak & Spell flash image from wav files

options:
  -h, --help            show this help message and exit
  -d, --wav-dir WAV_DIR
                        Input search dir for wav files

The directory specified with -d/--wav-dir should contain 223 WAV files (at 10kHz sample rate). Each wav file should have a 3-digit (with leading zeros) number in the filename
(e.g. 042_angel.wav) which indicates which record in the offset table it will be encoded into. See known_phrases.csv for a list of all known Speak&Spell words.

decoder

将2019年Speak&Spell SPI闪光图像中的所有声音斑点解码为WAV文件。

默认情况下在Original_flash_image文件上操作,也可以在命令行上指定(使用--help进行选项)

例子:

$ python -m spana.decode_sounds_to_wav
  wrote decoded_sounds/ss_000_A.wav, enc size:  2944, pcm size: 11178, CR: 3.80
  wrote decoded_sounds/ss_001_B.wav, enc size:  2448, pcm size: 9292, CR: 3.80
  wrote decoded_sounds/ss_002_C.wav, enc size:  2784, pcm size: 10580, CR: 3.80
  wrote decoded_sounds/ss_003_D.wav, enc size:  2192, pcm size: 8188, CR: 3.74
  wrote decoded_sounds/ss_004_E.wav, enc size:  2368, pcm size: 8924, CR: 3.77
  wrote decoded_sounds/ss_005_F.wav, enc size:  2128, pcm size: 8004, CR: 3.76
...

live_trace (需要EM-100 SPI Flash Emulator)

将(可选修改的)SPI Flash图像加载到EM-100 SPI Flash Emulator上

例子:

$ python -m spana.live_trace -M chipmunk_mode

从您自己的Spice&Spell SPI Flash中提取闪光图像(与live_trace一起使用)

由于知识产权的问题,我在这里不发行2019年的Speak&Spell Spi闪光图像。

但是,您可以使用SPI Flash读取器从说话和咒语中提取自己的图像。一个不错的便宜选择是CH341A SPI Flash Reader,它很容易在Amazon,eBay,Aliexpress等上获得。

CH341A与Linux上的尊贵的flashrom命令兼容,而flashrom命令的现代版本支持我在设备内发现的Boyamicro SPI Flash IC(尽管也有可能使用其他SPI Flash芯片制作说话和咒语)。

speaknspell_analysis
mkdir -p flash_images
sudo flashrom -p ch341a_spi -c \’XM25QH80B\’ -r flash_images/ORIGINAL_FLASH_IMAGE\”>

 cd speaknspell_analysis
mkdir -p flash_images
sudo flashrom -p ch341a_spi -c \'XM25QH80B\' -r flash_images/ORIGINAL_FLASH_IMAGE

该存储库中的代码取决于原始闪存图像,假设您将其放置在speaknspell_analysis /flash_images/ORIGINAL_FLASH_IMAGE中。

我先前分析的闪光图像的SHA256总和是: 0da032eae0bd5665ad4f3905d9e16f5b7efc75f04907b26e79f96e74380ce511 。如果您的Flash图像具有不同的哈希,也许您已经发现了一个新版本(或检查您的Flash读取器是否有联系中的问题)。

我只想要史努比和拼写

将您的2019年讲与咒语转换为史努比:

  1. deSolder spi flash ic
  2. 插入CH341A Flash读取器
  3. (可选)在“提取闪光图像”中所述进行备份(您永远不会知道)
  4. 运行以下命令(使用Flashrom的最新版本)将Snoop&Spell语音包写入Flash IC:
 flashrom -p ch341a_spi -c \'XM25QH80B\' -w snoop_and_spell.bin
  1. 将闪光灯重新定位到位。
  2. 羡慕所有朋友。

相关演示

  • 如DistrictCon年0(2025年2月22日)所示:黑客记忆的故事是反向工程,音频编码的故事,从未成长
    • 演示幻灯片
    • 演示视频

下载源码

通过命令行克隆项目:

git clone https://github.com/jeremytrimble/speaknspell_analysis.git

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

申明:本文由第三方发布,内容仅代表作者观点,与本网站无关。对本文以及其中全部或者部分内容的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。本网发布或转载文章出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,也不代表本网对其真实性负责。

左子网 建站资源 speaknspell_analysis https://www.zuozi.net/35315.html

html5 audio player
上一篇: html5 audio player
music folder player
下一篇: music folder player
常见问题
  • 1、自动:拍下后,点击(下载)链接即可下载;2、手动:拍下后,联系卖家发放即可或者联系官方找开发者发货。
查看详情
  • 1、源码默认交易周期:手动发货商品为1-3天,并且用户付款金额将会进入平台担保直到交易完成或者3-7天即可发放,如遇纠纷无限期延长收款金额直至纠纷解决或者退款!;
查看详情
  • 1、描述:源码描述(含标题)与实际源码不一致的(例:货不对板); 2、演示:有演示站时,与实际源码小于95%一致的(但描述中有”不保证完全一样、有变化的可能性”类似显著声明的除外); 3、发货:不发货可无理由退款; 4、安装:免费提供安装服务的源码但卖家不履行的; 5、收费:价格虚标,额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外); 6、其他:如质量方面的硬性常规问题BUG等。 注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
查看详情
  • 1、左子会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全! 2、左子无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别; 3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外); 4、在没有”无任何正当退款依据”的前提下,商品写有”一旦售出,概不支持退款”等类似的声明,视为无效声明; 5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准); 6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在左子上所留的QQ、手机号沟通,以防对方不承认自我承诺。 7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于左子介入快速处理。
查看详情

相关文章

猜你喜欢
发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务