【问题标题】:How to pipe /dev/urandom to linux sound output?如何通过管道 /dev/urandom 到 linux 声音输出?
【发布时间】:2011-09-21 21:04:50
【问题描述】:

这似乎根本不起作用:

cat /dev/urandom > /dev/dsp    #from wikipedia.org

是因为pulseaudio吗?还是我需要做一些设置?

【问题讨论】:

  • 尝试收听sound of randomness
  • 你的声音好用吗? ALSA 经常在启动时启动静音
  • 是的,想知道 /dev/dsp 是否是正确的设备?
  • 我猜这意味着使用 alsa/pulse 不再可能将音频数据写入声卡,就好像它是一个简单的文件一样;有人确认吗?
  • @Jocelyndelalande 这是一个如何将 pcm 数据直接写入设备文件的工作示例:github.com/igor-liferenko/pcm

标签: linux alsa pulseaudio


【解决方案1】:

pacat /dev/urandom
无需任何额外安装即可在 ubuntu 上工作。

【讨论】:

    【解决方案2】:
    cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 10 | sed 1000000000q |aplay
    
    cat /dev/urandom | tr -dc '0-9' | fold -w 10 | sed 1000000000q |aplay
    
    cat /dev/urandom | tr -dc '0-9' | fold -w 10 | sed 1000000000q |aplay
    
    
    
    cat /dev/urandom | tr -dc '&*(&(^)' | fold -w 10 | sed 1000000000q |aplay
    
    cat /dev/urandom | tr -dc '&*(&(^)' | fold -w 10 | sed 1000000000q |aplay
    
    cat /dev/urandom | tr -dc '~`!@#$%^&*()' | fold -w 1 | sed 1000000000q |aplay
    
    cat /dev/urandom | tr -dc "0-9a-z" |aplay
    
    cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 |aplay -r 192000
    

    【讨论】:

      【解决方案3】:

      我不确定是否有一个简单的设备可以将字节发送到这些天 - /dev/dsp 设备是一个旧的 OSS 设备,可能不会存在于声卡所在的基于 ALSA 的现代系统上由/dev/snd中的设备控制。

      你可能最好使用aplay 或其他东西来“播放”来自/dev/random 的数据,尽管你可能需要给它一些开关来告诉它假设数据的格式。让它像你想要的 WAV 数据一样播放:

      aplay -c 2 -f S16_LE -r 44100 /dev/random
      

      【讨论】:

      • 有任何管道方式吗?从标准输入?
      • @c2h2 所以,直接从标准输入管它会很有趣,但是没有足够的能量来注册。具体来说,大多数打字都不是听得见的。您需要升档信号,这可以通过您自己的程序中的管道来完成。这就是您在魔方世界中结交朋友和敌人的方式。
      • 白噪音! (也可以预先添加 aoss 或其他兼容层)
      • 另外,这种语法似乎也可以工作:cat /dev/urandom | aplay -t raw -f cd -
      • @sdaau 这不仅仅是语法更改,您的解决方案不必要地使用 cat 和管道,因此不建议这样做。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-03-04
      • 2011-06-25
      • 2011-10-19
      • 1970-01-01
      • 2014-02-03
      • 2016-09-20
      • 2011-06-28
      相关资源
      最近更新 更多