首页 > 解决方案 > Python - 将 dwg 转换为模拟信号

问题描述

我是这里的新手,从 Python 开始我的挑战。刚看到那个视频,就萌生了强迫 Raspberry Pi 做同样工作的想法。这个想法是抓取一个.dwg文件并将其转换为x, y音频信号。一旦我得到一个音频信号示波器将完成剩下的工作。我将不胜感激有关如何开始解决此问题的任何建议:如何将.dwg文件转换为音频信号?哪些图书馆会有所帮助?

标签: pythonraspberry-pivector-graphicsdwgoscilloscope

解决方案


让我们先了解一下示波器的 XY 模式:

  1. 通道 1 的信号上下移动“点”
  2. 通道 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 过滤器的副作用发挥作用。这些副作用可能是艺术家更喜欢动态渲染矢量以减少跳跃的原因。

推荐阅读