sox-users@lists.sourceforge.net unofficial mirror
 help / color / mirror / code / Atom feed
* Basic questions on SoX for Mac OS
@ 2019-12-23 16:29 Matthew Mitcheltree
  2019-12-23 16:45 ` Graff, David E
  2019-12-24 12:51 ` Jeremy Nicoll - ml sox users
  0 siblings, 2 replies; 4+ messages in thread
From: Matthew Mitcheltree @ 2019-12-23 16:29 UTC (permalink / raw)
  To: sox-users


[-- Attachment #1.1: Type: text/plain, Size: 1369 bytes --]

Hi there,

A chemist and musician here – a project of mine to convert NMR FID signals
to WAV audio files has brought me to SoX (via:
https://www.quora.com/How-do-I-convert-a-CSV-file-to-a-wav-file). Toward
that end, I've generated a 1-channel .dat file with normalized amplitude
values and 9.615 kHz sample rate as input for SoX. The issue I'm running
into has everything to do with my limited literacy with command line, a
lack of rudimentary documentation from SoX on installation and operation,
or a little of both.

I'm running on a Mac, and have the SoX v14.4.2 package in my Downloads
directory. I copied the input.dat file to Downloads > sox-14.4.2 as well.
So when I launch terminal, navigate there, and enter "sox input.dat
output.wav," I get the error:

-bash: sox: command not found

So, maybe I need to install SoX, as this thread would have me believe (
https://sourceforge.net/p/sox/mailman/sox-users/thread/col102-w436DF8E69EB76243646E30C3CF0%40phx.gbl/#msg27208706).
But I admit I can't find how to do that. Am I on the right track?

Any guidance you all can offer would go a long way. SoX seems to have
capabilities valuable to people with skills far afield from computer
programming, so I wonder whether a "SoX guide for command-line beginners"
would be a welcome addition to the program documentation?

Thank you!
Matt

[-- Attachment #1.2: Type: text/html, Size: 2003 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



[-- Attachment #3: Type: text/plain, Size: 158 bytes --]

_______________________________________________
Sox-users mailing list
Sox-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-users

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Basic questions on SoX for Mac OS
  2019-12-23 16:29 Basic questions on SoX for Mac OS Matthew Mitcheltree
@ 2019-12-23 16:45 ` Graff, David E
  2019-12-24 12:51 ` Jeremy Nicoll - ml sox users
  1 sibling, 0 replies; 4+ messages in thread
From: Graff, David E @ 2019-12-23 16:45 UTC (permalink / raw)
  To: sox-users@lists.sourceforge.net


[-- Attachment #1.1: Type: text/plain, Size: 2391 bytes --]

Are you familiar with “MacPorts” or “Homebrew” ? These are “package managers” that make it possible/easy to install pre-compiled versions of open-source software on macosx; both of them provide installable versions of “sox”.

If you have one of those in place already, just use it’s command-line interface to install sox; if not, look at both of their websites to decide which one you think is better geared to your level of understanding, install that package manager, then use it to install sox.  The latter step will put the “sox” command in one of the standard directories where the unix shell (the terminal’s command-line interface) looks for executable programs.

Good luck.
   David Graff

From: Matthew Mitcheltree <m.mitcheltree@gmail.com>
Reply-To: "sox-users@lists.sourceforge.net" <sox-users@lists.sourceforge.net>
Date: Monday, December 23, 2019 at 11:29 AM
To: "sox-users@lists.sourceforge.net" <sox-users@lists.sourceforge.net>
Subject: [SoX-users] Basic questions on SoX for Mac OS

Hi there,

A chemist and musician here – a project of mine to convert NMR FID signals to WAV audio files has brought me to SoX (via: https://www.quora.com/How-do-I-convert-a-CSV-file-to-a-wav-file). Toward that end, I've generated a 1-channel .dat file with normalized amplitude values and 9.615 kHz sample rate as input for SoX. The issue I'm running into has everything to do with my limited literacy with command line, a lack of rudimentary documentation from SoX on installation and operation, or a little of both.

I'm running on a Mac, and have the SoX v14.4.2 package in my Downloads directory. I copied the input.dat file to Downloads > sox-14.4.2 as well. So when I launch terminal, navigate there, and enter "sox input.dat output.wav," I get the error:


-bash: sox: command not found

So, maybe I need to install SoX, as this thread would have me believe (https://sourceforge.net/p/sox/mailman/sox-users/thread/col102-w436DF8E69EB76243646E30C3CF0%40phx.gbl/#msg27208706). But I admit I can't find how to do that. Am I on the right track?

Any guidance you all can offer would go a long way. SoX seems to have capabilities valuable to people with skills far afield from computer programming, so I wonder whether a "SoX guide for command-line beginners" would be a welcome addition to the program documentation?

Thank you!
Matt

[-- Attachment #1.2: Type: text/html, Size: 5476 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



[-- Attachment #3: Type: text/plain, Size: 158 bytes --]

_______________________________________________
Sox-users mailing list
Sox-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-users

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Basic questions on SoX for Mac OS
  2019-12-23 16:29 Basic questions on SoX for Mac OS Matthew Mitcheltree
  2019-12-23 16:45 ` Graff, David E
@ 2019-12-24 12:51 ` Jeremy Nicoll - ml sox users
  2019-12-27 21:45   ` Matt Mitcheltree
  1 sibling, 1 reply; 4+ messages in thread
From: Jeremy Nicoll - ml sox users @ 2019-12-24 12:51 UTC (permalink / raw)
  To: sox-users

On 2019-12-23 16:29, Matthew Mitcheltree wrote:

> I copied the input.dat file to Downloads > sox-14.4.2 as well.
> So when I launch terminal, navigate there, and enter "sox input.dat
> output.wav," I get the error:
> 
> -bash: sox: command not found



> So, maybe I need to install SoX

I don't think so.  But when you issue a command in the terminal, the
command's executable either needs to be in one of the directories that
the OS always looks in, when looking for executables, or you explicitly
need to tell the OS where the program is.

So in simple tutorials about using terminal (which you can find by
googling for 'mac terminal') you'll see examples of using eg  ls
to list the contents of a directory, mv  to move files etc... but
'ls' and 'mv' are part of the Mac OS and it already knows how to
find those.

How?  They're in directories which are defined/listed on something
called PATH.

So, one solution would be to add the Downloads\sox-14.4.2
directory to PATH, so the OS would always look in there when looking
for any executable to run.

I don't know if that's a good idea though.  If you did that with all
the command-line programs you download, PATH would be long, and you'd
need to keep changing it as you installed or replaced utilities.  Still,
it's possible.  See eg:

http://osxdaily.com/2014/08/14/add-new-path-to-path-command-line/



Or, having navigated to the directory that contains the sox executable
you should issue a command like:

    ./sox input.dat output.wav

That explicitly tells the OS to run the program it'll find at "./sox"
that is, in the current directory.  (Dot means 'current directory' so
"./abc" means file abc in the current directory.)


Some people, I think, explicitly set up PATH so the OS will always
look in the current directory (which obviously varies as you navigate
around), as well as fixed places (where system commands live), but
that also may not be a great idea.  It's discussed in

https://en.wikipedia.org/wiki/PATH_(variable)


Another possibility is that rather than navigating to the directory
which contains the sox executable, so you don't bother navigating
to it, but instead always say in the command you're issuing where
(in absolute/explicit terms) the sox executable is.   So instead of

    sox input...

you'd issue eg

    ~\Downloads\sox-14.4.2\sox input ...

(or something.  I'm not precisely sure of what the full path to a Mac
Downloads directory is).


There will be ways (in bash for example) of predefining a shorthand
'alias' for commands so you might be able eg to define 'mysox' as
'~\Downloads\sox-14.4.2\sox' and then issue

   mysox input...

from any terminal window without first navigating to the sox directory.
See eg:
https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html



> ... so I wonder whether a "SoX guide for command-line beginners"
> would be a welcome addition to the program documentation?

None of this is specific to sox; it applies to every command-line
program.

The approach you take wil depend on what you think suits you best,
for all command-line programs.



On Windows, I adopt the approach of always putting the full path to
sox (or any other utility program I use) into the command.  It means
I can have different versions of the command-line programs installed
and always know which one I'm using.

-- 
Jeremy Nicoll - my opinions are my own


_______________________________________________
Sox-users mailing list
Sox-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-users

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Basic questions on SoX for Mac OS
  2019-12-24 12:51 ` Jeremy Nicoll - ml sox users
@ 2019-12-27 21:45   ` Matt Mitcheltree
  0 siblings, 0 replies; 4+ messages in thread
From: Matt Mitcheltree @ 2019-12-27 21:45 UTC (permalink / raw)
  To: sox-users

Problem solved, thank you Jeremy and David!

The “./“ made all the difference. With that in place, sox produced exactly the wav file I was hoping for. 

I’m a little ashamed of asking for help on so small a problem, but you’ll have to believe I gave it the old college try before posting. Fundamentals can be the hardest to learn so I’m grateful for your taking the time to explain (and for all the helpful links)!

Enjoy the weekend,

Matt

>> On Dec 24, 2019, at 7:51 AM, Jeremy Nicoll - ml sox users <jn.ml.sxu.88@wingsandbeaks.org.uk> wrote:
>> 
>> On 2019-12-23 16:29, Matthew Mitcheltree wrote:
>> 
>> I copied the input.dat file to Downloads > sox-14.4.2 as well.
>> So when I launch terminal, navigate there, and enter "sox input.dat
>> output.wav," I get the error:
>> -bash: sox: command not found
> 
> 
> 
>> So, maybe I need to install SoX
> 
> I don't think so.  But when you issue a command in the terminal, the
> command's executable either needs to be in one of the directories that
> the OS always looks in, when looking for executables, or you explicitly
> need to tell the OS where the program is.
> 
> So in simple tutorials about using terminal (which you can find by
> googling for 'mac terminal') you'll see examples of using eg  ls
> to list the contents of a directory, mv  to move files etc... but
> 'ls' and 'mv' are part of the Mac OS and it already knows how to
> find those.
> 
> How?  They're in directories which are defined/listed on something
> called PATH.
> 
> So, one solution would be to add the Downloads\sox-14.4.2
> directory to PATH, so the OS would always look in there when looking
> for any executable to run.
> 
> I don't know if that's a good idea though.  If you did that with all
> the command-line programs you download, PATH would be long, and you'd
> need to keep changing it as you installed or replaced utilities.  Still,
> it's possible.  See eg:
> 
> http://osxdaily.com/2014/08/14/add-new-path-to-path-command-line/
> 
> 
> 
> Or, having navigated to the directory that contains the sox executable
> you should issue a command like:
> 
>  ./sox input.dat output.wav
> 
> That explicitly tells the OS to run the program it'll find at "./sox"
> that is, in the current directory.  (Dot means 'current directory' so
> "./abc" means file abc in the current directory.)
> 
> 
> Some people, I think, explicitly set up PATH so the OS will always
> look in the current directory (which obviously varies as you navigate
> around), as well as fixed places (where system commands live), but
> that also may not be a great idea.  It's discussed in
> 
> https://en.wikipedia.org/wiki/PATH_(variable)
> 
> 
> Another possibility is that rather than navigating to the directory
> which contains the sox executable, so you don't bother navigating
> to it, but instead always say in the command you're issuing where
> (in absolute/explicit terms) the sox executable is.   So instead of
> 
>  sox input...
> 
> you'd issue eg
> 
>  ~\Downloads\sox-14.4.2\sox input ...
> 
> (or something.  I'm not precisely sure of what the full path to a Mac
> Downloads directory is).
> 
> 
> There will be ways (in bash for example) of predefining a shorthand
> 'alias' for commands so you might be able eg to define 'mysox' as
> '~\Downloads\sox-14.4.2\sox' and then issue
> 
> mysox input...
> 
> from any terminal window without first navigating to the sox directory.
> See eg:
> https://www.cyberciti.biz/tips/bash-aliases-mac-centos-linux-unix.html
> 
> 
> 
>> ... so I wonder whether a "SoX guide for command-line beginners"
>> would be a welcome addition to the program documentation?
> 
> None of this is specific to sox; it applies to every command-line
> program.
> 
> The approach you take wil depend on what you think suits you best,
> for all command-line programs.
> 
> 
> 
> On Windows, I adopt the approach of always putting the full path to
> sox (or any other utility program I use) into the command.  It means
> I can have different versions of the command-line programs installed
> and always know which one I'm using.
> 
> -- 
> Jeremy Nicoll - my opinions are my own
> 
> 
> _______________________________________________
> Sox-users mailing list
> Sox-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sox-users


_______________________________________________
Sox-users mailing list
Sox-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sox-users

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2019-12-27 21:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-23 16:29 Basic questions on SoX for Mac OS Matthew Mitcheltree
2019-12-23 16:45 ` Graff, David E
2019-12-24 12:51 ` Jeremy Nicoll - ml sox users
2019-12-27 21:45   ` Matt Mitcheltree

Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/sox.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).