[R] [External] Re: Playing a music file in R

Rasmus Liland
2020-07-23T19:19:24Z

On 2020-07-23 14:19 -0400, Richard M. Heiberger wrote:
> On Thu, Jul 23, 2020 at 7:21 AM bretschr <bretschr at xs4all.nl>
wrote:
> >
> > Dear Vahid,
> >
> >
> > Re:
> >
> > > I have a question regarding the
> > > following code:
> > >
setWavPlayer("/Library/Frameworks/R.framework/Versions/3.6/Resources/bin/play")
# path depends on your R version etc.
> > >
> > > How can I find the corresponding
> > > path on my laptop?
> >
> >
> > This line ...
> >
> >
setWavPlayer("/Library/Frameworks/R.framework/Versions/3.6/Resources/bin/play")
> >
> > ... is the path on my MacBook Air
> > running Mac OS Mojave.  The
> > structure of R on similar computers
> > and OS versions will be the same,
> > but I don't know if you use Windows
> > or Linux.  Maybe an R-user working
> > with Windows or Linux can help.
>
> The R command
> system.file()
>
> tells you where the currently running
> version of R is located on your
> machine and your operating system.
>
> On the Macintosh it shows
> > system.file()
> [1] "/Library/Frameworks/R.framework/Resources/library/base"
>
> You don't need to worry about the R
> version number, as R knows where it is
> and gives you the location of the
> currently running version.  You can
> now open a system directory file
> (Finder on Mac, WindowsExplorer on
> Windows, etc) and navigate up and down
> to what you are looking for.
>
> Or, within R, you can navigate with ..
> and more directory statements, thus
> the example from the original email
>
>
setWavPlayer("/Library/Frameworks/R.framework/Versions/3.6/Resources/bin/play")
>   # path depends on your R version etc.
>
> would be written
> tmp <- system.file("../../bin/play")
> and the result is the correct location
> (if it is there).
> You will get an empty string if it is
> not ther, but this will get you
> started on where to look.  then you
> write
>
> setWavPlayer(tmp)   # path depends on your R version etc.


Hello, I found you can use mpv (and
mplayer) as well, instead of sox[1].
There are many ways to install it[1]
including various ways on mac.

	> system("whereis mpv")
	mpv: /usr/bin/mpv /etc/mpv /usr/include/mpv /usr/share/mpv
/usr/share/man/man1/mpv.1.gz
	> tuneR::setWavPlayer("/usr/bin/mpv")
	> w <- tuneR::readWave(filename="rf_07.wav", from=0, to=1e6)
	> w

	Wave Object
	        Number of Samples:      1000001
	        Duration (seconds):     22.68
	        Samplingrate (Hertz):   44100
	        Channels (Mono/Stereo): Stereo
	        PCM (integer format):   TRUE
	        Bit (8/16/24/32/64):    16

	> tuneR::play(w)
	 (+) Audio --aid=1 (pcm_s16le 2ch 44100Hz)
	AO: [pulse] 44100Hz stereo 2ch s16
	A: 00:00:22 / 00:00:22 (98%)


	Exiting... (End of file)
	>
	> tuneR::setWavPlayer("/usr/bin/play")
	> tuneR::play(w)

	/tmp/RtmpadTOu6/tuneRtemp.wav:

	 File Size: 4.00M     Bit Rate: 1.41M
	  Encoding: Signed PCM
	  Channels: 2 @ 16-bit
	Samplerate: 44100Hz
	Replaygain: off
	  Duration: 00:00:22.68

	In:100%  00:00:22.68 [00:00:00.00] Out:1.00M [ -====|====- ] Hd:4.2 Clip:0
	Done.
	>


Best,
Rasmus

[1] http://sox.sourceforge.net/
[1] https://mpv.io/installation/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL:
<https://stat.ethz.ch/pipermail/r-help/attachments/20200723/6e16c546/attachment.sig>