python - Python - 将 dwg 转换为模拟信号
问题描述
我是这里的新手,从 Python 开始我的挑战。刚看到那个视频,就萌生了强迫 Raspberry Pi 做同样工作的想法。这个想法是抓取一个.dwg
文件并将其转换为x, y
音频信号。一旦我得到一个音频信号示波器将完成剩下的工作。我将不胜感激有关如何开始解决此问题的任何建议:如何将.dwg
文件转换为音频信号?哪些图书馆会有所帮助?
解决方案
让我们先了解一下示波器的 XY 模式:
- 通道 1 的信号上下移动“点”
- 通道 2 的信号向左/向右移动“点”
所以通道1的信号代表像素的Y坐标,示波器通道2的信号代表X坐标。
因此,要通过“示波器音乐”方法在示波器上“打印”单色位图,您需要将所有“活动”(绘制)像素转换为元组数组,其中每个元组表示单个像素的坐标,并将此类数组直接写入音频设备或立体声音频文件。
以下是分辨率为 5x5 的位图示例:
XOOOO
OXOOX
OOXOO
OOOXO
OOOOX
假设您准备绘图仪(或矩阵打印机移动头)的说明。这样的位图可以转换为以下数组(假设左上角为点 [0,0],Y zxis 指向下方):
[ [0,0], [1,1], [4,1], [2,2], [3,3], [4,4] ]
这是一个可以输入音频系统的“声音”流:
- 像素的X坐标进入左声道,然后进入示波器的CH1
- 像素的 Y 坐标 - 进入右声道,然后进入示波器的 CH2。
当然,您需要:
- 动态重新采样这些数字以使您的位图适合示波器的分辨率空间
- 并且可能优化单独点之间的跳跃以防止 RC 过滤器的副作用发挥作用。这些副作用可能是艺术家更喜欢动态渲染矢量以减少跳跃的原因。
推荐阅读
- visual-studio-2017 - 在 Visual Studio 2017 中将项目添加到侧边栏
- java - 为什么登录 Facebook 帐户时用户电子邮件为空,但登录 Google 帐户时用户电子邮件不为空?
- python-3.x - 尽管驱动程序位于 /usr/local/bin 中,但 Selenium “无法找到一组匹配的功能”
- python - 如何使用 Keras 创建一个从表格数据训练的神经网络?
- ms-word - 使用 DDE 连接到 Word 检查 SAS 中是否存在书签的方法
- javascript - 在 Javascript 中使用类进行封装
- python - Django 框架是否容易受到本地文件包含(LFI)和远程文件包含(RFI)的影响?
- flask - 从烧瓶中的基本模板继承时将脚本src设置为动态值
- javascript - Code Igniter 上的动态相关下拉列表国家和州
- corda - cordapp 构建失败并出现休眠错误