Mathematica не делает звука в соответствии с Ubuntu 11.04

SSH является протоколом для безопасной коммуникации по незащищенной сети. Это допускает вплотную шифрование всей коммуникации, таким образом, что это не может (осуществимо) быть прервано и decrytped.

ssh утилита является реализацией протокола. SFTP является подсистемой ssh, который использует протокол для безопасного пароля и передачи файлов.

su не использует ssh протокол.

4
17.06.2011, 21:41
3 ответа

Ubuntu использует аудиосистему PulseAudio. Это идет paplay управляйте для проигрывания звукового файла. Подход, который Вы нашли на Wiki Ubuntu, должен работать, но необходимо использовать paplay (или некоторая другая эквивалентная программа), а не теперь устаревшие искусства.

Вот некоторый код, адаптированный от Wiki Ubuntu. Добавьте его к Вашему ~/.Mathematica/Kernel/init.m или в файл, который это включает. В дополнение к выполнению paplay вместо artsplay, Я изменил его, чтобы передать данные по каналу, а не сохранить его во временном файле. Непротестированный.

Begin["System`Private`"]
Unprotect[$SoundDisplayFunction]
Clear[$SoundDisplayFunction]
$SoundDisplayFunction =
    Module[{stream},
      stream = OpenWrite["!pacat", BinaryFormat -> True];
      BinaryWrite[stream, ExportString[#1, "WAV"]];
      Close[stream];
    ] &
Protect[$SoundDisplayFunction]
End[];

Не см. также звука в Mathematica 8.0.1 в соответствии с Linux, который сообщает, что аналогичный подход работал в Mathematica 8 (с ALSA, а не PulseAudio).

3
27.01.2020, 20:56
  • 1
    +1; Хотя получить его работа, я должен был заменить OpenWrite["!paplay"] с OpenWrite["!pacat",BinaryFormat -> True]. Кроме того, Вы получаете нормальный вывод графических данных при добавлении a #1 в конец Вашего $SoundDisplayFunction. Наконец, я обновил свой ответ для дальнейшего обсуждения OSS (который Mathematica хочет использовать) по сравнению с ALSA/PA (та Ubuntu использование). –  Simon 08.07.2011, 16:07

Проблема состоит в том что та версия Mathematica с помощью OSS и что Ubuntu с помощью ALSA.

Добавьте следующий 'sound.m' сценарий к ~/.Mathematica/Kernel:

(* ::Package:: *)

(*
  * Set up a $SoundDisplayFunction for the
  * Linux version of Mathematica and potentially other unixes, too.
  *)

Begin["System`Private`"]

Unprotect[$SoundDisplayFunction]
Clear[$SoundDisplayFunction]

$SoundDisplayFunction :=
     Module[{playCmd,soundFileName},
            Export[$SoundDisplay, #1];
         (* is there a way to get the sample rate, etc. from the audio 
stream? *)
         playCmd = "/usr/bin/play";
         soundFileName = "/tmp/" <> ToString[Unique["sound"]] <> ".wav";
         playCmd = playCmd <> " " <> soundFileName;

         Export[soundFileName, #1, "WAV"];
         Run[playCmd];
         Run["/bin/rm -f " <> soundFileName];
        ] &

Protect[$SoundDisplayFunction]

End[];

(********************CODE ENDS***************************)

After creating 'sound.m', add the following line
to ~/.Mathematica/Kernel/init.m :

Get["sound.m"];

Перезапустите Mathematica для перезагрузки ядра.

1
27.01.2020, 20:56
  • 1
    я получаю "Набор:: wrsym: $SoundDisplayFunction Символа Защищен". ошибка при запуске Mathematica 6.0.2.1. Кроме того, я принимаю все после того, как "КОНЦЫ КОДА" не должны будут быть в sound.m, правильно? спасибо –  Geremia 11.01.2014, 04:11
  • 2
    Кроме того, при проигрывании звуков в Mathematica я получаю эту ошибку (хотя я слышу звук): «Экспорт:: выведите: "Не может вывести формат файла \! (\"stdout \")"». спасибо –  Geremia 11.01.2014, 04:20
  • 3
    Кроме того, есть ли подобная фиксация как это для Плеера CDF? –  Geremia 11.01.2014, 04:26
  • 4
    Кроме того, это решение, кажется, не работает с другими функциями как FrequencyModulation. –  Geremia 11.01.2014, 04:39

У меня была такая же проблема. После обновления до Mathematica 10, генерация звука работает под Linux.

0
27.01.2020, 20:56

Теги

Похожие вопросы